app crashes on init of AzureData; Unable to invoke no-args constructor for class com.azure.data.model.service.ResourceLocation

Environment

Android version multiple in range from 6.0+:
Azure.Android SDK:
Azure.Android SDK version: 0.4.0

Bug Summary
2020-07-01 15:30:28.500 16055-16068/? E/zygote64: Failed sending reply to debugger: Broken pipe
2020-07-01 15:30:40.584 16055-16187/sogo.android.sogogolf E/AndroidRuntime: FATAL EXCEPTION: pool-10-thread-1
Process: sogo.android.sogogolf, PID: 16055
java.lang.RuntimeException: Unable to invoke no-args constructor for class com.azure.data.model.service.ResourceLocation. Registering an InstanceCreator with Gson for this type may fix this problem.
at com.google.gson.internal.ConstructorConstructor$14.construct(ConstructorConstructor.java:228)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:212)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222)
at com.google.gson.Gson.fromJson(Gson.java:927)
at com.google.gson.Gson.fromJson(Gson.java:892)
at com.google.gson.Gson.fromJson(Gson.java:841)
at com.google.gson.Gson.fromJson(Gson.java:813)
at com.azure.data.util.json.ResourceWriteOperationAdapter.deserializeDetails(ResourceWriteOperationAdapter.kt:93)
at com.azure.data.util.json.ResourceWriteOperationAdapter.deserialize(ResourceWriteOperationAdapter.kt:37)
at com.azure.data.util.json.ResourceWriteOperationAdapter.deserialize(ResourceWriteOperationAdapter.kt:15)
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69)
at com.google.gson.Gson.fromJson(Gson.java:927)
at com.google.gson.Gson.fromJson(Gson.java:892)
at com.google.gson.Gson.fromJson(Gson.java:841)
at com.google.gson.Gson.fromJson(Gson.java:813)
at com.azure.data.service.ResourceWriteOperationQueue$load$$inlined$safeExecute$lambda$1.run(ResourceWriteOperationQueue.kt:133)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.UnsupportedOperationException: Abstract class can't be instantiated! Class name: com.azure.data.model.service.ResourceLocation
at com.google.gson.internal.UnsafeAllocator.assertInstantiable(UnsafeAllocator.java:120)
at com.google.gson.internal.UnsafeAllocator$1.newInstance(UnsafeAllocator.java:49)
at com.google.gson.internal.ConstructorConstructor$14.construct(ConstructorConstructor.java:225)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:212)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222)
at com.google.gson.Gson.fromJson(Gson.java:927)
at com.google.gson.Gson.fromJson(Gson.java:892)
at com.google.gson.Gson.fromJson(Gson.java:841)
at com.google.gson.Gson.fromJson(Gson.java:813)
at com.azure.data.util.json.ResourceWriteOperationAdapter.deserializeDetails(ResourceWriteOperationAdapter.kt:93)
at com.azure.data.util.json.ResourceWriteOperationAdapter.deserialize(ResourceWriteOperationAdapter.kt:37)
at com.azure.data.util.json.ResourceWriteOperationAdapter.deserialize(ResourceWriteOperationAdapter.kt:15)
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69)
at com.google.gson.Gson.fromJson(Gson.java:927)
at com.google.gson.Gson.fromJson(Gson.java:892)
at com.google.gson.Gson.fromJson(Gson.java:841)
at com.google.gson.Gson.fromJson(Gson.java:813)
at com.azure.data.service.ResourceWriteOperationQueue$load$$inlined$safeExecute$lambda$1.run(ResourceWriteOperationQueue.kt:133)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Steps to Reproduce
Thats a tough one unf. It seems that somehow AzureData gets into a state where it will no longer initialise. When that happens, the app will crash at the very first call to init AzureData, ie.
AzureData.configure(applicationContext, COSMOS_ACCOUNT_NAME, COSMOS_MASTER_KEY, PermissionMode.All /* or PermissionMode.Read */)
Expected Behavior
doesnt crash app
Actual Behavior
crashes app
Really appreciate if someone can look into this as its affecting multiple of our Android users

hey @NateRickard hope your well ! Did you have any sort of eta on this bug fix ? It's pretty urgent from our side. Even if in the interim there is a workaround. Thanks for the help on this.

hi folks any update on this one?

Hey @SogoGolf, just doing some wild guessing here. Based on your repro steps, you mentioned that this can occur as soon as you first configure AzureData, before you even execute any operations. To me, this points to a possibility that you are using the offline data feature of the library, and the local data store has been corrupted. Are you using offline data? If so, can you try disabling it?:
AzureData.offlineDataEnabled = false

If you require the offline data feature, you could try catching the exception and deleting the cache directory when this situation occurs. The ResourceCache class has a convenient purge() method for this, but unfortunately the class is internal. But I believe the following should achieve the same result:
try {
    AzureData.configure(applicationContext, COSMOS_ACCOUNT_NAME, COSMOS_MASTER_KEY, PermissionMode.All /* or PermissionMode.Read */)
}
catch (e: Exception) {
    val cacheDir = File(applicationContext.cacheDir, "com.azuredata.data")
    if (cacheDir.exists) {
        cacheDir.deleteRecursively()
    }

    AzureData.configure(applicationContext, COSMOS_ACCOUNT_NAME, COSMOS_MASTER_KEY, PermissionMode.All /* or PermissionMode.Read */)
}

You may also need to delete any shared preferences files that start with the prefix "com.azure.data.lookup", but I'm not sure if that's necessary.

hi @bsiegel , thanks for your help with this. actually yes we are using / have enabled "offline" mode. we'll try disabling it as a first step.

@bsiegel we removed the offline data flag offlineDataEnabled and it seems like it might have solved the problem. We're monitoring crash reports and waiting for a few more users to report back before closing, will let you know in next few days.


chore: rename one of the metrics

Description
The metric action.executed will be named action.finished from now on. All the methods and variables related need to be changed as well.
cc @smoya

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Find the best way to handle theming in EDS 2.0

What are the alternatives when it comes to theming, and how is it best for the designers in the product teams to switch themes?

Currently writing about this topic in a gist.

Please update this issue @vnys ! Did we conclude on how to do it?

Please close this if it is done @vnys

Token Studio.


hardened handling of aliases

Sorry @austin3dickey , one more that I want to go out on the v0.3.0 release.
We don't have any tests right now on how aliases are handled in get_fields. This PR addresses that.
One thing to call out is that having multiple aliases point to the same index is a totally valid thing, and our code previously couldn't handle that. This PR adds that support as well.
One other minor bugfix...url is a base function, so I changed our internal references to es_url. I noticed it because I was getting the dreaded closure not subsettable error while debugging.

fun fact ES5.x onwards and legacy ES versions return alias results slightly differently. Added a fix to this PR. I'm glad we caught it before the release

Codecov Report

Merging #73 into master will increase coverage by 0.84%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #73      +/-   ##
==========================================
+ Coverage   86.08%   86.93%   +0.84%
==========================================
  Files           9        9
  Lines         611      643      +32
==========================================
+ Hits          526      559      +33
+ Misses         85       84       -1

Impacted Files
Coverage Δ

R/get_fields.R
100% <100%> (+1.72%)
: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 a11e8da...9989e04. Read the comment docs.

lgtm


Leave bugs with normal severity out of query

This fixes issues #964 and #965

Coverage remained the same at 25.652% when pulling da76111218ba641ec8dcf3b295fcf4e1f9edc70e on emceeaich:no-new-normal into 33fe98cbb98c19901dc051c4ad20f1675a62f5ab on mozilla:master.


Wrong exit code on failure

What are the steps to reproduce this issue?

npx orval

What happens?

maxim@64QHKR3:~/BorderWiseWeb/Frontend/vue-elements$ npx orval
🍻 Start orval v6.22.1 - A swagger client generator for typescript
🛑  api - TypeError: Cannot read properties of undefined (reading 'nullable')
maxim@64QHKR3:~/BorderWiseWeb/Frontend/vue-elements$ echo $?
0

What were you expecting to happen?
Non-0 exit code
What versions are you using?
Operating System: Ubuntu
Package Version: 6.22.1

Workaround in package.json:
{
  "scripts": {
    "swagger:generate": "rimraf ./src/api && orval | tee /dev/tty | grep -q \"ready to use\" && exit 0 || exit 1",
  }
}

Workaround script (because there's no tee/grep on Windows...)
// this script exists because https://github.com/anymaniax/orval/issues/1497

void (async () => {
  const originalConsoleLog = console.log;
  let orvalFinishedFine = false;

  const newConsoleLog: typeof console.log = (...parameters) => {
    if (typeof parameters[0] === "string" && parameters[0].includes("ready to use")) {
      // expect "🎉 api - Your OpenAPI spec has been converted into ready to use orval!"
      orvalFinishedFine = true;
    }
    if (typeof parameters[0] === "string" && parameters[0].toLowerCase().includes("error")) {
      // expect "🛑  api - TypeError: Cannot read properties of undefined (reading 'properties')"
      orvalFinishedFine = false;
    }

    originalConsoleLog.apply(console, parameters);
  };
  console.log = newConsoleLog;

  const orval = await import("orval"); // import after console.log is replaced
  await orval.generate();

  // see https://github.com/typescript-eslint/typescript-eslint/issues/9477
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
  if (!orvalFinishedFine) {
    process.exit(1);
  }
})();

@Maxim-Mazurok is this something that can be fixed in Orval?

Yeah, I believe so. I think I looked into it some time ago and didn't find an easy fix. The problem occurs if you have some issues in Orval config file. In my case I was trying to access some property on undefined value.
The problem was that Orval didn't return non-zero exit code, so all other scripts in CI continued to run, making it harder to find what broke the build.

Yeah I agree!  Maybe there some slick place we can do a try...catch and return the exit(1)?  Just thinking out loud.


fix(project): queue spinner promises on watch

fixes #19

on fast rebuilds, the change event would be fired quickly enough that
it would cause the spinner to succeed before it could be started
completely. This ensures the succeed call happens after the start call.
It also fixes the timer

Fixed 👍


add octo-sts to get a gh token

need https://github.com/chainguard-dev/edu/pull/1393

set to draft to avoid getting merged before https://github.com/chainguard-dev/edu/pull/1393


Fixed headings bug for Debug & Release modes

PR #79 is functional only in Debug mode.
This one isn't pretty but I think I didn't break anything and it works in both Debug and Release modes.

@alsotang I'll do the same PR on your fork

@mientjan do you think you could review and merge this PR since headings aren't correctly rendered by the lib in React Native 0.57

absolutely you can pr my fork. but perhaps mine and this one are the same repo name, or some problem with comman parent. I dont know.
And I would merge this pr and publish a new version. Yep this pr seems some ugly, but when we talk about a random unique key value, it's ok.

I just publish<EMAIL_ADDRESS>Merged this pr

I think this commit is also ok, https://github.com/alsotang/react-native-markdown-renderer/commit/ffe99bb632791e5f4a156f637ff02b6a4422f3ab
Can you give more advise?

because type is just a string. so we can judge string, but ignore the key.

my test method is wrong. ignore me

For those waiting on this PR, we switched to react-native-simple-markdown, and the transition was remarkably seamless. Granted, my project doesn't use even the majority of Markdown features.

I have forked this project and merged all outstanding PR's that made sense (including a similar one to this one that fixed the issue) here: https://github.com/iamacup/react-native-markdown-display/
or react-native-markdown-display on npm
in case anyone else comes accross this and needs the merged PRs


Marionette capability should be optional

The marionette capability is a Firefox-specific capability to aid in the
transition from legacy versions of Firefox (47.0.1 and earlier).
It is a Boolean and this value is now checked aggressively in Selenium
4.0.0 onwards. Since null is not a Boolean, this leads to an error.
This patch removes the default value, which means that if no value is
specified then it will not be included in the output, and the defaults
will apply (True for Firefox; Unset for other browsers).
Without this patch you must jump through hoops to run against Selenium
4.
Fixes #376

@stof, Any chance of a review on this? This is a bit of deal breaker for anyone using Selenium 4 with Chrome, and Selenium 3 is no longer maintained (3.15 came out in August 2019).

@andrewnicols I ran into this problem too, along with a bunch of other issues. This repo seems to not be getting much attention. I recommend you switch to https://github.com/FriendsOfBehat/MinkExtension which has already fixed this problem.


homebrew install is slow

Homebrew install is so slow that users may leave before completing install. Note in docs that the install could take more than 10 minutes to complete.

We should probably drop this note in the "Build from Source" instructions, too. (Homebrew is just automated build from source at the moment; eventually it will be automatic download-binary.)


[FSDE-17719] Created Save View Chi Vue component

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-401/1/. :x:

The CI pipeline has run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-401/2/. :white_check_mark:

You can check this PRs instance in http://a29b9edfb53ab2948f3aacf79f38abe29256ee94-chi-pr-po-ctl.s3-website-us-east-1.amazonaws.com (external) and in https://nginx-pr-401-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline has run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-401/3/. :white_check_mark:

You can check this PRs instance in http://b97a65c22b62ac2d6c5386ce9d03729feb9231f0-chi-pr-po-ctl.s3-website-us-east-1.amazonaws.com (external) and in https://nginx-pr-401-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-401/4/. :x:

The CI pipeline has run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-401/5/. :white_check_mark:

You can check this PRs instance in http://0f0c833be4e84bddc2e5088ab0fe0e4e01e83459-chi-pr-po-ctl.s3-website-us-east-1.amazonaws.com (external) and in https://nginx-pr-401-ux-chi.kubeodc-test.corp.intranet/ (internal)


[Feature Request] motor control

⚡ Feature Request
add some kind of motor control

Motor control could be handled inside the ROS driver too.


mat: performance of calculating eigenvalues in gonum is slower than numpy

What are you trying to do?
I am comparing the performance of certain numpy operations against gonum for equivalency. In this specific benchmark I am assessing the performance of calculating the eigenvalues of a matrix to determine whether the matrix is positive definite.
What did you do?
I ran the following scripts in Python and Go respectively:
import numpy as np

def is_pos_def(x):
    return np.all(np.linalg.eigvals(x) > 0)

a = np.random.rand(1000, 1000)
print is_pos_def(a)

package main

import (
	"fmt"
	"math/rand"
	"gonum.org/v1/gonum/mat"
)

func randMat(d int) mat.Matrix {
	data := make([]float64, d*d)
	for i := range data {
		data[i] = rand.NormFloat64()
	}
	return mat.NewDense(d, d, data)
}

func isPosDef(x mat.Matrix) bool {
	var eig mat.Eigen
	eig.Factorize(x, false, false)
	allGreaterThanZero := true
	for _, v := range eig.Values(nil) {
		if real(v) <= 0.0 {
			allGreaterThanZero = false
			break
		}
	}
	return allGreaterThanZero
}

func main() {
	a := randMat(1000)
	fmt.Println(isPosDef(a))
}

What did you expect to happen?
I expected the Go script to run equally fast as the Python script
What actually happened?
The Go script runs about 5x slower than the Python script:
python demo.py  1.36s user 0.12s system 135% cpu 1.092 total

go run demo.go  6.04s user 0.26s system 129% cpu 4.855 total

The Go script runs about 16x slower when left and/or right are set to true when calculating the eigenvector factorization. Am I setting up the Go code incorrectly at all or is there something degrading performance in the library implementation?
What version of Go and Gonum are you using?
$ go version
go version go1.10 darwin/amd64

gonum$ git rev-parse HEAD
c75679ee1eff8582bca7583704825721ea1ff701

Yes, according the CPU profile (*Eigen).Factorize is the most expensive call:

Well, strictly speaking Dlaqr5 is. We expect the factorisation to be the costly part, but there may be things in Dlaqr5 that can be optimised.
What is the time when you use the OpenBLAS backend?

In Gonum we use a different BLAS and LAPACK implementation, written in pure Go with some assembly for amd64. I suspect that some of the difference in timing will be due to the bounds checking although I agree with @kortschak that there are things in (not only) Dlaqr5 that can be optimised.
Apart from that, mathematically your example code is not correct.
A random matrix will have complex eigenvalues in general. This is reflected in the documentation to linalg.eigvals which says:
Returns: ... nor are they necessarily real for real matrices.

So it is strange that you compare them to zero in eigvals(x) > 0 because it's unclear what the comparison actually does. It is clear what the Gonum version if real(v) <= 0.0 { does but it is equally incorrect.
Also, your Python and Go code does not determine whether the matrix is positive definite. A general real matrix is positive definite if and only if its symmetric part 1/2*(A+A^T) has all positive eigenvalues. You are checking the eigenvalues of the general matrix.

@kortschak Do you have some documentation on how I can switch the linear algebra backends?
@vladimir-ch I borrowed this code. I can fix my example later, but mainly want to get to the heart of the performance issue first.

Do you have some documentation on how I can switch the linear algebra backends?

https://github.com/gonum/netlib

Sounds like you're hinting at swapping out Dlaqr5 for OpenBLAS.

Not only Dlaqr5, this will swap out the whole eigen solver, the entry routine is Dgeev.

I can fix my example later, but mainly want to get to the heart of the performance issue first.

If you need to check whether your matrix is positive definite, then you are most likely assessing performance of the wrong eigen solver.
Checking the pprof output from @sbinet , it seems that most time in Dlaqr5 is spent on lines doing just index calculations and accessing slices. The next step would be to look at the generated assembly.
Another source of performance penalty might come from the fact that we are row-major. The original Fortran code is column-major which fits better the algorithm that works with columns and so the memory access pattern is more cache friendly.

In conjunction with the installation of the "gonum.org/v1/netlib/lapack/netlib" package (needs CGO and is built according to instruction at the link above), you need to change your imports to include
	"gonum.org/v1/gonum/lapack/lapack64"
	"gonum.org/v1/netlib/lapack/netlib"

and main to be
func main() {
	lapack64.Use(netlib.Implementation{})

	a := randMat(1000)
	fmt.Println(isPosDef(a))
}

I attempted to install gonum/netlib on an Alpine Linux image using the following commands:
go get -d gonum.org/v1/netlib/...
cd /tmp
git clone https://github.com/xianyi/OpenBLAS
apk add update --no-cache build-base linux-headers musl-dev perl
cd OpenBLAS/
make
CGO_LDFLAGS="-L/tmp/OpenBLAS -lopenblas" go install gonum.org/v1/netlib/blas/netlib

But I haven't been able to install netlib/lapack successfully, I get the following file/directory linking errors:
$ CGO_LDFLAGS="-L/tmp/OpenBLAS -lopenblas" go install gonum.org/v1/netlib/lapack/netlib
# gonum.org/v1/netlib/lapack/lapacke
/tmp/go-build518459439/gonum.org/v1/netlib/lapack/lapacke/_obj/lapacke.cgo2.o: In function `_cgo_d1c16c19ed1f_Cfunc_LAPACKE_cbbcsd_work':
... (several lines elided) ...
go-build/gonum.org/v1/netlib/lapack/lapacke/_obj/cgo-gcc-prolog:32810: undefined reference to `LAPACKE_zupmtr_work'
collect2: error: ld returned 1 exit status

Sorry, the best I can say is that the equivalent (non-installed OpenBLAS build as you've done) works for me.

Do you have a Fortran compiler installed?

Ah, didn't have gfortran installed, rebuilt OpenBLAS and installed the wrapper packages. I included the imports in @kortschak's reply along with the addition to main. Here's what I see now:
$ go run demo.go

Error loading shared library libopenblas.so.0: No such file or directory (needed by /tmp/go-build203568752/command-line-arguments/_obj/exe/demo)
Error relocating /tmp/go-build203568752/command-line-arguments/_obj/exe/demo: LAPACKE_dtpcon_work: symbol not found
Error relocating /tmp/go-build203568752/command-line-arguments/_obj/exe/demo: LAPACKE_spoequb_work: symbol not found
Error relocating /tmp/go-build203568752/command-line-arguments/_obj/exe/demo: LAPACKE_zunmbr_work: symbol not found

... (several lines elided) ...

Error relocating /tmp/go-build203568752/command-line-arguments/_obj/exe/demo: LAPACKE_zpttrs_work: symbol not found
Error relocating /tmp/go-build203568752/command-line-arguments/_obj/exe/demo: LAPACKE_sgesvdx_work: symbol not found
Error relocating /tmp/go-build203568752/command-line-arguments/_obj/exe/demo: LAPACKE_zpbstf_work: symbol not found
exit status 127

Ok, got things working with netlib/lapack, was missing
export LD_LIBRARY_PATH=/tmp/OpenBLAS/lib/

and runtime is now in line with numpy
$ time go run demo.go
false
real	0m 1.47s
user	0m 2.19s
sys	0m 1.69s

I think we're good to close this as a non-issue. But it would be helpful to include some documentation on the website or on the github page regarding performance implications of pure Go implementation vs netlib.

That's a moving target. I think it's generally understood that a C implementation is going to be faster than a Go implementation for adequately large work units (to soak up the Cgo call costs).
I'll leave this open as a spur for doing optimisation work on lapack when we can.

What are you trying to do?
I met a similar situation, not sure if it's an issue, that python numpy performance is still better than gonum.
What did you do?
It's the dot function in numpy, and Dense.Mul in gonum.
In python, it takes ~ 580 ms to calculate the dot value of two 10000 x 512 matrix:
In [8]: aa = np.zeros((10000, 512), dtype=np.float64)
In [9]: aa.shape
Out[9]: (10000, 512)

In [10]: %timeit np.dot(aa, aa.T)
580 ms ± 5.5 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In gonum, it's ~ 1.0s, don't know if this is the right way calculating dot value:
// test_mul.go
package main

import (
    "fmt"
    "time"
    "gonum.org/v1/gonum/mat"
    "gonum.org/v1/gonum/lapack/lapack64"
    "gonum.org/v1/gonum/blas/blas64"
    lapack_netlib "gonum.org/v1/netlib/lapack/netlib"
    blas_netlib "gonum.org/v1/netlib/blas/netlib"
)

func main() {
    lapack64.Use(lapack_netlib.Implementation{})
    blas64.Use(blas_netlib.Implementation{})  // This improves Mul time from ~3s to ~1s
    zero := mat.NewDense(10000, 512, nil)
    var cc mat.Dense

    aa := time.Now()
    cc.Mul(zero, zero.T())
    bb := time.Now()

    tt := float64((bb.UnixNano() - aa.UnixNano())) / 1e9
    fmt.Printf("Mul time: %vs\n", tt)
}

Run
$ time CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go run test_mul.go
Mul time: 1.137238778s

real	0m1.584s
user	0m7.571s
sys	0m6.585s

Here is some install steps I took mentioned by @natemurthy and @kortschak :
# Install blas + lapack + netlib
go get -d gonum.org/v1/gonum/blas/...
go get -d gonum.org/v1/gonum/lapack/...
go get -d gonum.org/v1/netlib/...

# Install OpenBLAS
git clone https://github.com/xianyi/OpenBLAS
cd OpenBLAS
make
make install # This will install OpenBLAS lib to /opt/OpenBLAS/lib
export LD_LIBRARY_PATH=/opt/OpenBLAS/lib/:$LD_LIBRARY_PATH

CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go install gonum.org/v1/netlib/blas/netlib
CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go install gonum.org/v1/netlib/lapack/netlib

What did you expect to happen?
I expected the gonum to run equally fast as the numpy
What actually happened?
A dot function in numpy is ~580ms, while gonum is ~1.0s
What version of Go and Gonum are you using?
$ go version
go version go1.13.5 linux/amd64

gonum$ git rev-parse HEAD
aad36a059009dc681b68a7d9fbdcadd09c9db798

This is not an issue, but a solve of a similar situation, I solved it while writing an issue here...
It's the dot function in numpy, and Dense.Mul in gonum.
In python, it takes ~ 600 ms to calculate the dot value of two 10000 x 512 matrix:
In [8]: aa = np.zeros((10000, 512), dtype=np.float64)
In [9]: aa.shape
Out[9]: (10000, 512)

In [10]: %timeit np.dot(aa, aa.T)
580 ms ± 5.5 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In gonum, it's ~ 3s if I do nothing, but improved to ~ 0.6s after a similar approch mentiond by @kortschak:
# Install blas + lapack + netlib
go get -d gonum.org/v1/gonum/blas/...
go get -d gonum.org/v1/gonum/lapack/...
go get -d gonum.org/v1/netlib/...

# Install OpenBLAS
git clone https://github.com/xianyi/OpenBLAS
cd OpenBLAS
make
make install # This will install OpenBLAS lib to /opt/OpenBLAS/lib
export LD_LIBRARY_PATH=/opt/OpenBLAS/lib/:$LD_LIBRARY_PATH

CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go install gonum.org/v1/netlib/blas/netlib
CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go install gonum.org/v1/netlib/lapack/netlib

Here is my go script, I have to use blas64 instead of lapack64, don't know the reason.
// test_mul.go
package main

import (
    "fmt"
    "time"
    "gonum.org/v1/gonum/mat"
    // "gonum.org/v1/gonum/lapack/lapack64"
    // lapack_netlib "gonum.org/v1/netlib/lapack/netlib"
    "gonum.org/v1/gonum/blas/blas64"
    blas_netlib "gonum.org/v1/netlib/blas/netlib"
)

func main() {
    // lapack64.Use(lapack_netlib.Implementation{})
    blas64.Use(blas_netlib.Implementation{}) // This improves Mul time from ~3s to ~0.6s
    zero := mat.NewDense(10000, 512, nil)
    var cc mat.Dense

    // First run takes a longer time ~1.0s
    bb := time.Now()
    cc.Mul(zero, zero.T())
    dd := time.Now()
    tt := float64((dd.UnixNano() - bb.UnixNano())) / 1e9
    fmt.Printf("First Mul time: %vs\n", tt)

    // Second run is better ~0.6s
    bb = time.Now()
    cc.Mul(zero, zero.T())
    dd = time.Now()
    tt = float64((dd.UnixNano() - bb.UnixNano())) / 1e9
    fmt.Printf("Second Mul time: %vs\n", tt)
}

Run, in my situation, the CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" is essential:
$ time CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go run test_mul.go
First Mul time: 1.107493044s
Second Mul time: 0.625305053s

real	0m2.082s
user	0m14.385s
sys	0m6.471s

This is not an issue, but a solve of a similar situation, I solved it while writing an issue here...
It's the dot function in numpy, and Dense.Mul in gonum.
In python, it takes ~ 600 ms to calculate the dot value of two 10000 x 512 matrix:
In [8]: aa = np.zeros((10000, 512), dtype=np.float64)
In [9]: aa.shape
Out[9]: (10000, 512)

In [10]: %timeit np.dot(aa, aa.T)
580 ms ± 5.5 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In gonum, it's ~ 3s if I do nothing, but improved to ~ 0.6s after a similar approch mentiond by @kortschak:
# Install blas + lapack + netlib
go get -d gonum.org/v1/gonum/blas/...
go get -d gonum.org/v1/gonum/lapack/...
go get -d gonum.org/v1/netlib/...

# Install OpenBLAS
git clone https://github.com/xianyi/OpenBLAS
cd OpenBLAS
make
make install # This will install OpenBLAS lib to /opt/OpenBLAS/lib
export LD_LIBRARY_PATH=/opt/OpenBLAS/lib/:$LD_LIBRARY_PATH

CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go install gonum.org/v1/netlib/blas/netlib
CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go install gonum.org/v1/netlib/lapack/netlib

Here is my go script, I have to use blas64 instead of lapack64, don't know the reason:
// test_mul.go
package main

import (
    "fmt"
    "time"
    "gonum.org/v1/gonum/mat"
    // "gonum.org/v1/gonum/lapack/lapack64"
    // lapack_netlib "gonum.org/v1/netlib/lapack/netlib"
    "gonum.org/v1/gonum/blas/blas64"
    blas_netlib "gonum.org/v1/netlib/blas/netlib"
)

func main() {
    // lapack64.Use(lapack_netlib.Implementation{})
    blas64.Use(blas_netlib.Implementation{}) // This improves Mul time from ~3s to ~0.6s
    zero := mat.NewDense(10000, 512, nil)
    var cc mat.Dense

    // First run takes a longer time ~1.0s
    bb := time.Now()
    cc.Mul(zero, zero.T())
    dd := time.Now()
    tt := float64((dd.UnixNano() - bb.UnixNano())) / 1e9
    fmt.Printf("First Mul time: %vs\n", tt)

    // Second run is better ~0.6s
    bb = time.Now()
    cc.Mul(zero, zero.T())
    dd = time.Now()
    tt = float64((dd.UnixNano() - bb.UnixNano())) / 1e9
    fmt.Printf("Second Mul time: %vs\n", tt)
}

Run, in my situation, the CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" is essential:
$ time CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go run test_mul.go
First Mul time: 1.107493044s
Second Mul time: 0.625305053s

real	0m2.082s
user	0m14.385s
sys	0m6.471s

Are you using Ryzen or Threadripper CPU? Since old version OpenBLAS is pretty buggy and slow on AMD Zen CPU and newer version has been sort of resolve the issue. So this is the reason why updating OpenBLAS will make gonum run better?

This is not an issue, but a solve of a similar situation, I solved it while writing an issue here...
It's the dot function in numpy, and Dense.Mul in gonum.
In python, it takes ~ 600 ms to calculate the dot value of two 10000 x 512 matrix:
In [8]: aa = np.zeros((10000, 512), dtype=np.float64)
In [9]: aa.shape
Out[9]: (10000, 512)

In [10]: %timeit np.dot(aa, aa.T)
580 ms ± 5.5 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In gonum, it's ~ 3s if I do nothing, but improved to ~ 0.6s after a similar approch mentiond by @kortschak:
# Install blas + lapack + netlib
go get -d gonum.org/v1/gonum/blas/...
go get -d gonum.org/v1/gonum/lapack/...
go get -d gonum.org/v1/netlib/...

# Install OpenBLAS
git clone https://github.com/xianyi/OpenBLAS
cd OpenBLAS
make
make install # This will install OpenBLAS lib to /opt/OpenBLAS/lib
export LD_LIBRARY_PATH=/opt/OpenBLAS/lib/:$LD_LIBRARY_PATH

CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go install gonum.org/v1/netlib/blas/netlib
CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go install gonum.org/v1/netlib/lapack/netlib

Here is my go script, I have to use blas64 instead of lapack64, don't know the reason:
// test_mul.go
package main

import (
    "fmt"
    "time"
    "gonum.org/v1/gonum/mat"
    // "gonum.org/v1/gonum/lapack/lapack64"
    // lapack_netlib "gonum.org/v1/netlib/lapack/netlib"
    "gonum.org/v1/gonum/blas/blas64"
    blas_netlib "gonum.org/v1/netlib/blas/netlib"
)

func main() {
    // lapack64.Use(lapack_netlib.Implementation{})
    blas64.Use(blas_netlib.Implementation{}) // This improves Mul time from ~3s to ~0.6s
    zero := mat.NewDense(10000, 512, nil)
    var cc mat.Dense

    // First run takes a longer time ~1.0s
    bb := time.Now()
    cc.Mul(zero, zero.T())
    dd := time.Now()
    tt := float64((dd.UnixNano() - bb.UnixNano())) / 1e9
    fmt.Printf("First Mul time: %vs\n", tt)

    // Second run is better ~0.6s
    bb = time.Now()
    cc.Mul(zero, zero.T())
    dd = time.Now()
    tt = float64((dd.UnixNano() - bb.UnixNano())) / 1e9
    fmt.Printf("Second Mul time: %vs\n", tt)
}

Run, in my situation, the CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" is essential:
$ time CGO_LDFLAGS="-L/opt/OpenBLAS/lib -lopenblas" go run test_mul.go
First Mul time: 1.107493044s
Second Mul time: 0.625305053s

real	0m2.082s
user	0m14.385s
sys	0m6.471s

Are you using Ryzen or Threadripper CPU? Since old version OpenBLAS is pretty buggy and slow on AMD Zen CPU and newer version has been sort of resolve the issue. So this is the reason why updating OpenBLAS will make gonum run better?

@h3d-haivq Not AMD CPUs, and I'm now installed openblas in my system env, and this problem still exists in my environment...


Remove redundant cookbook dependencies

yum-epel - It looks unnecessary. Everything should work fine without it.
chef-sugar - we don't use its helpers anymore.

Let's take a look at the TravisCI build results...

Current coverage is 59.70% (diff: 100%)

No coverage report found for master at 27a20ad.

Powered by Codecov. Last update 27a20ad...57d71fd


Stuck on problem with ObjectMapper and Realm

Stuck with Object mapper and Realm -- JSON comes in form of dictionary and object mapper expects me to declare as dictionary but realm does not accept it.
These are my models:
class UserInfo:Object,Mappable {
    var name:String?
    var identifier:String?
    var accountType:String?
    var devices:[String:UserDevice]?

    required init?(map: Map) {

    }

    // Mappable
    func mapping(map: Map) {
        name <- map["username"]
        identifier <- map["identifier"]
        accountType <- map["accountType"]
        devices <- map["devices"]
    }
}

class UserDevice:Object,Mappable {
    var deviceName:String?
    var deviceType:String?
    var deviceIdentifier:String?

    required init?(map: Map) {

    }

    // Mappable
    func mapping(map: Map) {
        deviceName <- map["name"]
        deviceType <- map["type"]
        deviceIdentifier <- map["identifier"]
    }
}

This is my JSON:
{
username = santhosh;
"identifier" = "IDJSDJSJS";
configstatus = SET;
configtype = DEFAULT;
"data_center" = "evs.idrive.com";
devices = {
"Ankita\LKKKK" = {
identifier = LJJDFDD;
name = "Ankita iPAD";
type = iPad;
};
"ARUN\LKKKHJH" = {
identifier = LJJDFDFFD;
name = "ARUN iPhone";
type = ipHone;
};

accountStatus = 2;
acctype = Test;

Hey @santhoshs5, thank you for reaching out for support. Would you be able to clarify a few things for me so we can better assist you?

What versions of Xcode, ObjectMapper and Realm are you using?
Can you provide the code where you actually transform the JSON to a Realm object?
Where specifically in your code does "Realm not accept it"?

Please provide any extra details that you can. :-)

Xcode version : 8.2 Objectmapper :2.2  Realm : 2.2.0
UserInfo Object  :
class UserInfo:Object,Mappable {
var name:String?
var identifier:String?
var accountType:String?
var devices:[String:UserDevice]? // This object should be declared this other wise ObjectMappper does not understand about this.Because JSON is coming in the form of Array of dictionaries.
var devices:List? // I have tried this also
required init?(map: Map) {

}
// Mappable
func mapping(map: Map) {
    name <- map["username"]
    identifier <- map["identifier"]
    accountType <- map["accountType"]
    devices <- map["devices"] //  Tried this also devices <- map["devices",ListTransform<UserDevice>]
}

}
class UserDevice:Object,Mappable {
var deviceName:String?
var deviceType:String?
var deviceIdentifier:String?
required init?(map: Map) {

}

// Mappable
func mapping(map: Map) {
    deviceName <- map["name"]
    deviceType <- map["type"]
    deviceIdentifier <- map["identifier"]
}

}
I am trying convert UserInfo object using
Alamofire.request.response(Dataresponse)   {
let userInfo = response.result.value // this is
}
I have tried using ObjectMapper+Realm where I can declare as ListTransform You can refer in my commnets .
MY JSON:
{
username = santhosh;
"identifier" = "IDJSDJSJS";
configstatus = SET;
configtype = DEFAULT;
"data_center" = "evs.idrive.com";
devices = {
"Ankita\LKKKK" = {
identifier = LJJDFDD;
name = "Ankita iPAD";
type = iPad;
};
"ARUN\LKKKHJH" = {
identifier = LJJDFDFFD;
name = "ARUN iPhone";
type = ipHone;
};
accountStatus = 2;
acctype = Test;
}

The first issue I've noticed in your code is that your models' properties are not declared as dynamic (see docs). Second: if you want to have relationship between UserInfo and UserDevice you should use List type and declare this property as let devices = List<UserDevice>() (see docs for more info). However the List type is not supported by ObjectMapper out of the box so you'll probably need to implement your own TransformType to map JSON to your models. See more info and examples here: https://github.com/Hearst-DD/ObjectMapper/issues/143

I am using dynamic that I missed it while writing in Git.I will check the tagged github link and let  you know if it solves. But I tried with List type and LIst transform specified by Objectmapper+Realm it was not working.

Awesome! Let us know if you have any further Realm related questions.


Show positions with NULL start date in "Full history of additions and subtractions" table

currently only positions with a non-NULL start date are shown

example of the problem is at https://orgwatch.issarice.com/?organization=Effective Altruism Foundation#full-history-of-additions-and-subtractions
currently the last two rows look like:
Date | Number of positions | Number of positions added | Number of positions removed
...
2017-06-29 | 7 | 2 | -4
2018-09-03 | 2 | 9 | -14

This is unintuitive because one might think "we started out with 7 positions, so how can 14 people leave at once?" What's happening is that the people who got cleared from the page on that day were people who don't have a definite starting date, so they never appeared in the table when their positions were added.


upper threshold, (cosine) angular distance, limit scaling

adding multiple arguments to the fit() method probably goes against the intended parameter-free spirit of the project, but everything should work the same as the original code if default values are used and some of the new word cluster results are fairly impressive

This looks good. I really appreciate how quickly you managed to whip this up, and over a weekend too!

thanks, i recently quit my software engineering job to focus on my research and do part-time freelance work, but i haven't actually started seeking out freelance work yet and my current research requires very little activity outside of waiting for models to finish training on large datasets, so i've got a lot of excess productivity to spare.
plus i've had a few language modeling ideas involving word embedding clusters in the past, but a lack of clustering experience was a pretty big mental roadblock preventing me from attempting to implement them. your ready-to-go word vector test script could not have been more perfect for clearing that roadblock. and seeing how different distance formulations affected the types of cluster groupings has even inspired some new ideas, so this has been a very worthwhile use of my time.

you see any reason not to delete the feature branch now that it's been merged? doesn't make much difference at this stage, but definitely a good practice to keep things from getting cluttered over time.
the hoarder in me hates it, but i've seen enough barely navigable nightmares working with large teams to know that it's the right thing to do.

Good to hear my test script was of use to help you with your mental block.
Okay, branch deleted!


feat(ssg): disable meta tag for SSG mode

This PR adds a configuration option to disable the meta tag in SSG mode.
Types of changes

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

Description

This is useful when generating HTTP headers using a Nitro Preset, because the meta tag would be redundant and can cause errors in the console, like: The Content Security Policy directive 'frame-ancestors' is ignored when delivered via a <meta> element.
Resolves #339
Checklist:

[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes (if not applicable, please state why)

Hey @mtdvlpr I think that the PR is ready from my point of view.
The only obstacle right now is the case that was reported in another issue https://github.com/Baroshem/nuxt-security/issues/335.
I will skip merging this PR until this case will be resolved as we want to fix the implemnetation of csp ssg preset first :)

Hey @mtdvlpr
Sorry but we needed to comment the code for the csp preset plugin. With the latest release of Nuxt, it is throwing errors in this place of the code and we havent figured out yet how to refactor it properly.
For now, you can stay at 1.0.0 version but for the 1.1.0 we are planning to refactor it so that you can still have this functionality but without breaking the code for others in dev and in production.
I think that for now you can skip fixing the tests as once we will refactor the csp plugin preset they will probably work again.

Hey, no progress so far. I asked for help Nuxt core team member and I am waiting for assistance there.
Regarding hooking to module, have you tried maybe the 1.1.0 branch where we have added support for runtime config? Maybe this could help you

@mtdvlpr
Any news?

Hey @mtdvlpr any news from your side?
Can I help you somehow to work on this PR? :)

Hi @Baroshem, sorry for the delay! I've been busy. I"ll try to work on this today or tomorrow.


runfile('C:/Users/pavan kalyan/Desktop/untitled0.py', wdir='C:/Users/pavan kalyan/Desktop') i am not getting any output after this

Issue Report Checklist

[ ] Searched the issues page for similar reports
[ ] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[ ] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[ ] Tried basic troubleshooting (if a bug/error)

[ ] Restarted Spyder
[ ] Reset preferences with spyder --reset
[ ] Reinstalled the latest version of Anaconda
[ ] Tried the other applicable steps from the Troubleshooting Guide

[ ] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
What steps reproduce the problem?

What is the expected output? What do you see instead?
Paste Traceback/Error Below (if applicable)

PASTE TRACEBACK HERE

Versions

Spyder version:
Python version:
Qt version:
PyQt version:
Operating System name/version:

Dependencies

PASTE DEPENDENCIES HERE

Hi, I have the same problem. When I run a cell it just writes "runfile('/Users/sofiebechthougaard/Desktop/Python/StartPython.py', wdir='/Users/sofiebechthougaard/Desktop/Python')"
My cell code is:
#%%
def hello():
print("Hello, world!")
If I write hello() it will print "hello, world!"

Hi @SofieLuffe in your case the thing is that you are defining a function so unless you call it you will not see any output (even if you run it as a code cell).  Maybe what you want is to run the cell and see in the console the code that was run? If that's the case you can check in preferences (Tools > Preferences or the 🔧 wrench button):

Hope the info above helps :)

SOO HELPFULL! Thank u so much dalthviz!

Thank u dalthviz! that was a great help


Reload via console under Bukkit

I recently moved over to running CraftBukkit and I've noticed that typing "reload" in the console will only reload SimpleServer, and not Bukkit. While typing /reload in game (with permissions.xml set forward="true" for that command) does reload both systems (of course).


Update gleam_json dependency constraint

What's the motivation here? I thought we were deliberately holding back on this one?

Oops sorry I had no idea it was being intentionally held back. My problem is I ran into dependency resolution errors trying to add lustre_dev_tools as a dependency:
> gleam new wibble
> cd wibble
> gleam add lustre
> gleam add lustre_dev_tools --dev

error: Dependency resolution failed

An error occurred while determining what dependency packages and
versions should be downloaded.
The error from the version resolver library was:

Unable to find compatible versions for the version constraints in your
gleam.toml. The conflicting packages are:

- wibble
- lustre_dev_tools
- wisp
- gleam_json

The error message is not super useful but I thought the problem might be with wisp being too restrictive with the constraint.

Brew is stuck on 26 for some reason so if we upgrade everything to the new gleam_json most macOS users won't be able to use them. This is why Lustre is using the old version of gleam_json currently.

I guess this can be fixed/merged, Erlang OTP on homebrew mac is now on 27. I guess that's the blocker, according to this comment

Why would someone prefer to use brew over something like asdf? I mean, can't just asdf be recommended over brew?

Even if we recommended asdf it wouldn't change the fact that loads of macOS users will be using brew and breaking a really common library for them would be quite bad.
Personally I use brew and like how simple it is :)

Would you mind rebasing on main please 🙏

Done!

Sorry Jak, I merged another PR that had this change also

No worries!


Fix bug where deeplinked shared URL no longer worked after Pincode was added

pressing a shared URL should for sending should take us to the PrepareTransaction scene after having unlocked the app with the PIN.

Implemented in #55


fix requests while stopped

Fix attempt to receive requests while stopped Adam
Signed-off-by: Petr Fedchenkov<EMAIL_ADDRESS>

@mydatascience please merge this one. It resolves workflow problem.


Download link does nothing in Firefox

"Download Link" works for me with Chrome but not with Firefox (59.0.1); it only seems to show the link, but not download it.

What download link are you referring to?

"Download Link" is from the documentation:
https://github.com/lusakasa/saka-key/blob/master/book/tutorial/clicking_and_link_hints.md#bindings
"Download Link - fd" (third item from the bottom)
And that still seems to be the case (version 1.25.5) : doing fd (and then pressing an appropriate hint in a downloadable thing) does not download anything. So I think this is still a bug in the Firefox version.

Okay thanks for letting me know about that.


Parameters Support for List And Map

Now we can able to pass List of String, double, int, DateTime, model (that generated), bool as parameter in endpoint
Map<String, dynamic> parameter can also be passed as an argument.
with return of list

Client Side
      final strTst = await client.userFunc.testListOfString(['Hi', 'There']);
      print(strTst);
      final bolTst = await client.userFunc.testListOfbool([true, false]);
      print(bolTst);
      final dobTst = await client.userFunc.testListOfdouble([1, 2, 3.3]);
      print(dobTst);
      final dynamTst =
          await client.userFunc.testListOfdynamic(['String txt', 123]);
      print(dynamTst);
      final mapTst = await client.userFunc
          .testListOfmapDynamic({'Name': 'Anand', "Age": 24});
      print(mapTst);
      final modelTst = await client.userFunc.testListOfSimpleData([Example(name:'Anand',data: 007 )]);
      print(modelTst);
      final dtTst = await client.userFunc
          .testListOfDateTime([DateTime(2020), DateTime(2020)]);
      print(dtTst);

Server Side Code
  Future<List<String>> testListOfString(
      Session session, List<String> value) async {
    print('Received: $value');
    return value;
  }

  Future<List> testListOfdynamic(Session session, List value) async {
    print('Received: $value');
    return value;
  }

  Future<List<double>> testListOfdouble(
      Session session, List<double> value) async {
    print('Received: $value');
    return value;
  }

  Future<List<DateTime>> testListOfDateTime(
      Session session, List<DateTime> value) async {
    print('Received: $value');
    return value;
  }

  Future<List<bool>> testListOfbool(Session session, List<bool> value) async {
    print('Received: $value');
    return value;
  }

  Future<Map<String, dynamic>> testListOfmapDynamic(
      Session session, Map<String, dynamic> value) async {
    print('Received: $value');
    return value;
  }

  Future<List<BannersClass>> testListOfSimpleData(
      Session session, List<Example> object) async {
    int i = 0;
    for (var e in object) {
      i++;
      e.data = i.toString();
    }
    return object;
  }

Before I review this pull request I just wanted to check some general things.
Does it support Maps with any of the Serverpod primitive types (int, bool, double, DateTime, ByteData) both as keys and values? Does it support Serializable as key and value? Are there tests for all of the types?
Currently the tests are failing for the PR. It's possible to run the tests locally before doing a PR by doing util/run_tests (unfortunately may only work on Mac yet).

util/run_tests

It Supports
List of String, int, DateTime, bool, double, SerializableEntity & dynamic(if within this mentioned types)
For Map
Keys -> String
Values -> String, double, int, bool, DateTime, SerializableEntity (with null support)
I didn't test it with byteData & other key types value in Map

util/run_tests

Can't able to run Test in my mac
The terminal process "/bin/zsh '--login'" terminated with exit code: 1.

All test passed in my device.
with dart 17 sdk.
Let me know if i done something wrong

I'm closing this as it doesn't support e.g. Map<DateTime, String?> or Map<int, dynamic>. I'm planning a bit of another approach to support these and also any of the supported types as parameters.
In future, make sure to also send requests to the dev branch.


Markdown not rendered on Proposal List

I submitted a proposal for a GA using Markdown
Markdown was not rendered on the "proposals" home page, but it works on the detail page.

@m-i-k-e  We can't use markdown here, it can easily destroy design of the card, so is correct solution to clean up text and just put plain text without markdown symbols?

The cards need the markdown stripped or sanitised. They should if possible swap markdown tags for our CSS Markup. So they will look like any card that we've generated.
The detail page is supposed to support Markdown as per the CIP, however, it will definitely break accessibility rules, and the page will possibly look odd.

Same issue is occurring of course on GA cards too.
Described in #2263
So whatever you agree here, can be applied to GAs too.


Improve code legibility

This is made on top of #16 and the final result its a very readable config method.

That is one of the next steps.


Static Analysis: ERC20 decimals type check

as described here, https://github.com/ethereum/remix/issues/852

small fix including blockhash function

@soad003 sorry for the delay on this PR.


Change Jpeg to use object and generation numbers

Let's change Jpeg to use object and generation numbers.

Closed by 464af1b.


Download the training/evaluation data

Thanks for the wonderful work! Could you please publish the download and processing code of the dataset?By the way, it would be even better if you could publish the weights of loras. Thanks!

Thanks your questions and recognition of our work! Cuz different datasets has different formats is not possible to design a general processer you may preprocess by yourself. For the weights,  although is not the latest version of our code, we still added lora trainer you can train your own loras by using our gradio.


Line content from diagnostic classes if available

Problem
While using local java compiler line content in errors is wrong. Only an expression is shown and not a whole line of code.
Expectation
Get a proper line content.
Solution
When you run javac from command line com.sun.tools.javac.util.AbstractDiagnosticFormatter#formatSourceLine is used to format an output. There diagnostic classes are used to get line content. Made a change to try to use diagnostic classes if they are available.

Hi @fkorotkov,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Typesafe Contributors License Agreement:
http://www.typesafe.com/contribute/cla

Can one of the admins verify this patch?

@typesafehub-validator signed.

Thanks for the pull request. Looks like it won't merge cleanly, so it needs a rebase. I've also added some comments.

Thanks for the PR.  A few things to clean up, but having the option to go right after the JDK classes will be nice. As I said, I'd like to also use the previous mechanism as a fallback before finally not having any diagnostic info.

Thank you guys for the feedback. Addressed in https://github.com/fkorotkov/sbt/commit/c73f513016a8c2be94decfda8ea83b6e1b95601d.
@jsuereth I do fall back to the previous behavior. See https://github.com/sbt/sbt/pull/2108/files#diff-9b267fe75b6831da3dca25ceb91082e9R90

@fkorotkov Yeah, the previous behavior was that (casting to JavaObject).  I know that worked for SOME files.  We know your reflection will work for Oracle/OpenJDK (I think).   When it comes to these kinds of behaviors that aren't fully specified, we have to "hope for the best" and leave hooks for people who care about the non-standard JDKs to patch in.   If we have JavaObject as an esacpe hook, I hope this means alternative JDKs will at least have a chance to work, vs. casting.

Thanks much @fkorotkov !   Really glad to have better tooling support on the java side of the house here!

Thank you guys!
I initially though to use source.getCharContent and split it in lines. But then I check how javac works and went that way. But now as you mentioned other JDK I think it might be a better solution. Anyway source.getCharContent is already used in the default behavior.


Prettify Commands Plugin README

We need to replace a template with a meaningful README file.

More or less done in c75085800bf0eb8abfb23edfc335aeba4fc043f5.


Not receive any notification

Hello, I installed the addon, I can send messages and receive them on my cell phone. but I don't receive notification of the message when it arrives. I receive notifications from all my contacts but when it is sent from my home assistant I do not receive any notification.

same problem here.

Normal behaviour, if you send a Message in a WhatsApp group you‘ve also don‘t get a Notification…

update and everything seems to be fine. can close. thanks


[AMORO-2017][Spark] Format code in the spark module with the spotless plugin

Why are the changes needed?

Close #2017

mvn spotless:apply -pl spark/common

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before making a pull request

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not documented)

cc @XBaith @zhoujinsong


JavaScript negative timestamp are not supported

Bug
When parsing a JavaScript positive timestamp (number of milliseconds since EPOCH), pydantic parses it properly. However, for a negative JavaScript timestamp (before 1st January 1970), a date value out of range error is thrown.
  File "pydantic/main.py", line 447, in pydantic.main.BaseModel.parse_obj
  File "pydantic/main.py", line 336, in pydantic.main.BaseModel.__init__
  File "pydantic/main.py", line 887, in pydantic.main.validate_model
  File "pydantic/fields.py", line 549, in pydantic.fields.ModelField.validate
  File "pydantic/fields.py", line 704, in pydantic.fields.ModelField._validate_singleton
  File "pydantic/fields.py", line 711, in pydantic.fields.ModelField._apply_validators
  File "pydantic/class_validators.py", line 313, in pydantic.class_validators._generic_validator_basic.lambda11
  File "pydantic/datetime_parse.py", line 169, in pydantic.datetime_parse.parse_datetime
  File "pydantic/datetime_parse.py", line 80, in pydantic.datetime_parse.from_unix_seconds
OverflowError: date value out of range

Version
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.5.1
            pydantic compiled: True
                 install path: /Users/thibaud/Documents/Programmation/Scopyleft/Terrapeutes/aposto-server/venv/lib/python3.7/site-packages/pydantic
               python version: 3.7.3 (default, Mar  6 2020, 22:34:30)  [Clang 11.0.3 (clang-1<IP_ADDRESS>)]
                     platform: Darwin-19.5.0-x86_64-i386-64bit
     optional deps. installed: ['typing-extensions', 'email-validator']

Code example
The following code raises the describe error (while it would correctly work with { "jsTimestamp":<PHONE_NUMBER>000 }).
from datetime import datetime

from pydantic import BaseModel

class MyModel(BaseModel):
    jsTimestamp: datetime

MyModel.parse_obj({ "jsTimestamp": -1118102400000 })

Possible solution
A solution would be to update the from_unix_seconds function in datetime_parse.py to compare seconds with MS_WATERSHED as absolute value.

Happy to accept a PR to fix this.
I guess we should:

raise the correct error resulting in a validation error if the datetime is out of bounds
accept negative timestamps if they result in valid datetimes - there's nothing implicitly wrong with the unix timestamp of -1. Stuff happened before 1970 apparently.
comparing with MS_WATERSHED as an absolute number makes sense I suppose, we would just need to update the docs to be explicit.

I don't get this :

* raise the correct error resulting in a validation error if the datetime is out of bounds

For the rest, everything is running fine and ready for PR

I think it might be fine, I just meant:
make sure passing 1_000_000_000_000_000 timestamps like or -100_000_000_000_000 cause sensible validation errors.

Yes, it runs fine with these timestamps. The generated datetime does not match with the real date as these timestamps are greater than MS_WATERSHED but it is parsed without any exception.

Best to submit a PR and we can discuss from there.


Using popup player on a second page doesn't load

I have several pages where I am making use of the youtube popup player.
The scenario leading to my issue is

I use popup player on page1. Works fine for multiple videos
navigate to page2. popup player won't load
refresh page2 and popup player begins working again

My bad - if using rails and partials
$(document).on('page:change', function () {
  // rebind popup player here
});


Derive useful traits

Hi.  I liked your library and have used it with some success.
However, I found it it a bit awkward that, for example, OSMObjectType was not Copy, which it seems like it should be.  While I was there I thought the OSM object types should be Clone too so I added those derives.
Thanks,
Ian.

Thanks!
I'm curious what you're using it for. Eventually I'd like to have a list of projects using it in the README.

Rory writes ("Re: [rory/osmio] Derive useful traits (#1)"):

I'm curious what you're using it for. Eventually I'd like to have a list of
projects using it in the README.

Thanks for the merge.
Thanks for your interest.  I used osmio for this:
https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=osm-alphabetical-destinations.git;a=blob;f=README.txt;hb=HEAD
It's not really productised so I didn't put it on crates.io or
anything.  But I did christen it today with a 52km bike ride to
Aldreth.
Ian.
--
Ian Jackson<EMAIL_ADDRESS> These opinions are my own.
Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.


Add support for Waveshare WM8960 DAC HAT

I would like to use the Waveshare WM8960 Audio HAT for the Raspberry Pi Zero W running BalenaSound and would love to see it appearing on the list of supported DACs!
I have taken a look at the installation manual but do not know how to install the drivers on the Balena OS.
Any support regarding the matter would be greatly appreciated!

@AnomahR after taking a look at the installation programm i found this: wm8960-soundcard can you please set this as your dtoverlay? Please let me know if it works

Thanks for your quick response! After setting the BALENA_HOST_CONFIG_dtoverlay parameter to wm8960-soundcard, I got the following error messages: dtoverlay_wm8960-soundcard.txt
Also I tried to connect via bluetooth and Spotify Connect but neither way I could hear any sound. The usual "bluetooth-connecting" sound was not played aswell.
Hope that helps!

I hope that this can be fully working soon as I also have this HAT lying around somewhere and would like to try it out for lower noise and higher volume.

Three days of not doing what I was intended to later I finally made it work! Not the most elegant solution but it works for my Pi Zero W with the WM8960 DAC HAT. In case it might be helpful here is how I did it:

Added the wm8960-soundcard.dtbo to the overlays folder of the image before flashing it to the SD card (see instructions. Furthermore before flashing, I added the following lines to the config.txt file in the boot partition of the image:

dtparam=i2s=on
dtoverlay=i2s-mmap
dtoverlay=wm8960-soundcard

Installed the remaining drivers in a Docker container and added it to my fork of the BalenaSound project. Pushed the current state on GitHub here: https://github.com/AnomahR/balena-sound. The additional container has its own repository: https://github.com/AnomahR/WM8960-Audio-HAT.

After deploying the project to my Pi Zero, I changed the DT parameters as suggested in the DAC configuration: For the DT parameter, "audio=off" and then I set the custom configuration variable BALENA_HOST_CONFIG_dtoverlay to "wm8960-soundcard".

Thats it! Unfortunately there is no sound when I connect to this specific Pi via Spotify Connect (but it still plays sound if I connect to my other Raspberry using Spotify Connect), maybe you have a clue what could cause the problem? Also not optimal: Now this additional container is installed on all other devices doing nothing... definitely looking forward to the DAC HAT being "officially" supported!

I'm also highly interested on using that hat, i'm sad to read that the solution above does not allow Spotify Connect cause it's the main usage of my project...

hey @AnomahR , from your notes I think you should be able to get the DAC to work following this instructions but using both dtoverlays as such:
BALENA_HOST_CONFIG_dtoverlay="i2s-mmap", "wm8960-soundcard"
It also should not affect the Spotify Connect usage at all, so maybe there is something else going on there.

@tmigone I just tried that config but still no sound after reboot...

@tmigone You are right about the initial Spotify issues which turned out not to be related to the soundcard. Eventually I got everything to work using my additional container that installs the required kernel module (see repo above), but then realized my soundcard also had a hardware issue, meaning I had to send it back and cannot test your suggested configuration unfortunately. But I will definitely try it once I have the soundcard again!
@kevincastejon Did you modify the config only did you also install the kernel modules following the instructions above?

@AnomahR Actually I just changed the config, I have to say I don't really know to proceed the steps you mentionned above with docker and stuff... is there a place I can read about ?

To me this looks like the config was correct but there are still driver issues.
Which hardware are you using? Tested the repo on my Raspberry Pi Zero W with the kernel version 4.19. Waveshare just released new drivers for the kernel version 5.4 but in my repository the older version is still used.
You can check your kernel version when you SSH into the wm8960-soundcard Docker container (from the balena dashboard) in the repo by typing
uname -r
To test if the soundcard is detected at all, could you give the output of
aplay -l?

@AnomahR
when I type 'uname -r' I got this : 4.19.118
when I type aplay -l I got this : bash: aplay: command not found

@kevincastejon you need to add the dt overlay for the card before applying the settings in balenaCloud.
Once you have programmed the SD card you can just add the wm8960-soundcard.dtbo file to resin-boot/overlays folder.
By the way, for the aplay -l command you would need to run that in a terminal window in the audio container.

Possible duplicate of #166 as both use the WM8960 chip. Will need testing though

Possible duplicate of #166 as both use the WM8960 chip. Will need testing though

Added a PR for the overlay for this to the upstream kernel https://github.com/raspberrypi/linux/pull/4039
@AnomahR @kevincastejon @cryptoAlgorithm - might need your help testing this when it gets pulled in, as I don't currently have one of these cards available

Added a PR for the overlay for this to the upstream kernel https://github.com/raspberrypi/linux/pull/4039
@AnomahR @kevincastejon @cryptoAlgorithm - might need your help testing this when it gets pulled in, as I don't currently have one of these cards available

Ok sure i have the hat and zero unused so i can installband test it out.

Ok sure i have the hat and zero unused so i can installband test it out.

@cryptoAlgorithm awesome - will keep you up to date on when the update is pulled in upstream

@cryptoAlgorithm awesome - will keep you up to date on when the update is pulled in upstream

Thanks, always ready to help!

Thanks, always ready to help!

good news - this has been pulled into the upstream kernel https://github.com/raspberrypi/linux/pull/4039
will take a bit of time to filter down into here, however it should be possible for you to pull in the overlay manually once it hits the raspberry pi firmware. or you could build the .dtb yourself and pull it in but that is a bit more involved.

good news - this has been pulled into the upstream kernel https://github.com/raspberrypi/linux/pull/4039
will take a bit of time to filter down into here, however it should be possible for you to pull in the overlay manually once it hits the raspberry pi firmware. or you could build the .dtb yourself and pull it in but that is a bit more involved.

Interestingly, the Adafruit Voice Bonnet also uses this same wm8960 driver as you can see from this page - https://learn.adafruit.com/adafruit-voice-bonnet/audio-setup
It will be interesting to see if anybody has this so we can test it.

Interestingly, the Adafruit Voice Bonnet also uses this same wm8960 driver as you can see from this page - https://learn.adafruit.com/adafruit-voice-bonnet/audio-setup
It will be interesting to see if anybody has this so we can test it.

@AnomahR @kevincastejon @cryptoAlgorithm this is now in the raspberry pi firmware - https://github.com/raspberrypi/firmware/blob/master/boot/overlays/wm8960-soundcard.dtbo

@AnomahR @kevincastejon @cryptoAlgorithm this is now in the raspberry pi firmware - https://github.com/raspberrypi/firmware/blob/master/boot/overlays/wm8960-soundcard.dtbo

Added the overlay to the PR here - https://github.com/balena-os/balena-raspberrypi/pull/585/files

Added the overlay to the PR here - https://github.com/balena-os/balena-raspberrypi/pull/585/files


Operator can't create sql user due restricted NetworkPolicy

If a default restricted Egress NetworkPolicy is deployed, no access to the database (port tcp/3306) is possible. Creating on sql schema and user will fail.

fix: https://github.com/eumel8/otc-rds-operator/commit/1d5d60bcb91f49e5a0fbd245d26846b4af7306bf


feat(sticky): add option to select a different triggering element [hasTests] [mergeMe]

closes #528
The change is minimal, so should be easy to merge into #395

@imakewebthings maybe look at #528 for a clearification :)


How to configure ribbon retries in zuul yml file in Edgeware.SR3 version

Hi ,
I want to configure Ribbon retry logic in zuul config file(yml) with spring cloud Edgeware.SR3 version. Can you please kindly post some sample configuration properties?
Thanks in advance.
Harinath.

Thanks  you, Ryan. do i need to add below  spring spring retry dependency to enable ribbon retries with Edgeware.SR3 ?

org.springframework.retry
spring-retry
1.1.5.RELEASE

Yes, but you shouldnt need the version as it is a managed dependency from spring boot

Closing due to age of the question. If you would like us to look at this issue, please comment and we will look at re-opening the issue.


Always on top highlighting not disappearing on color picker

Microsoft PowerToys version
"0.53.1"
Running as admin

[X] Yes

Area(s) with issue?
Always on Top, ColorPicker
Steps to reproduce
Open a colorpicker window
set it to always be on top.
Close the window
✔ Expected Behavior
Removing the window highlight on the colorpicker window after it was removed
❌ Actual Behavior
The highlight stays on the screen.
Other Software
No response

Duplicate of #15300

Thanks for reporting this. This issue is a duplicate.
I'm linking this issue to #15300 to centralize the discussion thread for tracking.
Thanks for your help to make PowerToys a better piece of software!

xref #15372


[BUG]  ResizeObserver loop completed with undelivered notifications.

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

enable kiosk-mode
disable kiosk-mode
check inspector

Expected behavior
A clear and concise description of what you expected to happen.
NO ResizeObserver loop completed with undelivered notifications. in Inspector
Screenshots
If applicable, add screenshots to help explain your problem.

Versions:

Home Assistant: 2023.6.2
Kiosk-Mode 2.0.0 (currently with new test gist on dialog items

Additional context
Add any other context about the problem here.
this has been a long standing HA warning/error in the logs, and never was able to pinpoint it. testing Kiosk mode now, made this 100% reproducible

Hi @Mariusthvdb,
Is that happening with the version published in HACS too?
Regards

Maybe related to this: https://community.home-assistant.io/t/0-resizeobserver-loop-completed-with-undelivered-notifications/322338
I am seeing that it is not an error coming from kiosk-mode but as kiosk-mode changes the layout and triggers a resize even maybe it triggers the issue.

The loop comes to you :)
https://github.com/home-assistant/frontend/issues/9022#issuecomment-1401117599

haha, yes, ive filed that before, and even figured Kiosk-mode was connected. COuldnt make that happen for a while though, and didnt checkmate after wards.
The release version doesnt seem to do that, I need to re-check.

downgraded to release 2.0.0 and the ResizeObserverLoop is no longer showing
Good to know, anyway the work in progress code doesn‘t have anything related to that, this should be happening any time that the window is resized so the ResizeObserver code runs.

yes, it does happen when resizing the window, even on the release version.
its really odd to not see it using release version on Disabling kiosk mode at all, and seeing it on every Disable when using the new Gist version

its really odd to not see it using release version on Disabling kiosk mode at all, and seeing it on every Disable when using the new Gist version

Maybe because the guist executes the window resize in a different order, I need to check. But anyway, the response to that error is just to ignore it (but it would be good to know how to remove it fro your logs, or if it should be ignored convince HA Frontend guys to remove it from the logger).

disabling Kioks-mode causes the window to resize, and next the error os thrown?

Enabling or disabling kiosk-mode makes the layout to change so a ResizeOversever could be triggerd and when one enables kiosk-mode a window.dispatchEvent(new Event('resize')); is called, so it can trigger it too.

@Mariusthvdb,
By the way, I didn‘t read carefully the block of code before. The commit is form yesterday and basically what it does is to stop the propagation of those errors (now including also "ResizeObserver loop completed with undelivered notifications") so they are not going to be logged in the logs.

Hi @Mariusthvdb,
The fix is already on Frontend 20230705.1. You should not see that message anymore. It would be good to update other folks here.
Regards


"title" in jsonschema vs "ui:title" in uischema

Which of these props is preferred? "ui:title" seems like the best option, since the field title/label is purely cosmetic (i.e. it does not affect the schema). But "ui:title" doesn't seem to work across the board. For example, it has no effect for array or boolean types ("title" in the jsonschema works fine for both).
There are also examples that have both "title" and "ui:title" defined. Is there any reason for this or are these examples "in transition"?

It's also strange because
title is preferred over ui:title for ObjectFieldTemplate
ui:title is preferred over title for ArrayField and SchemaField
We need to harmonize this behavior to at least make it consistent.

Just a few thoughts on this:

While "title" is defined as a valid JSON Schema keyword (https://json-schema.org/understanding-json-schema/reference/generic.html), my interpretation is that it's meant to describe the schema, combined with "description", not necessarily something that should be displayed in a UI.
In order to separate the data from the presentation layer, "ui:title" seems like a more appropriate way to express the title of a field in a UI.
For i18n, the "title" in the schema may be in one language (native to the developer, for example), while there may be multiple UI schemas with different "ui:title" languages, based on the UI user's preference.
For backward compatibility, perhaps "ui:title" should be the standard, with fallback to "title" if "ui:title" isn't defined.

PS - I would also suggest that the same could be said for "ui:description" with fallback to "description".

PLEASE YES. It's  weird,  title has no effect sometimes and its not even showing even with the title in jsonschema. Only label is shown. Gona open an issue on this.

In v5 ui:title and ui:description over title and description were standardized. Closing


Launch VM from Clowder with copy of selected data, PlantCV, and Jupyter interface from Clowder

Clowder will be set interface is set up for extracting and browsing datasets,
Once a user selects a set of data, launch a docker container from Clowder interface that gives access to the data.
Demo will be done on Nebula, all Clowder dependencies on a single container

Need to handle authentication, persistence of files.
Support sharing code with others

Save notebook in Clowder?
Support pushing github commits.

See https://opensource.ncsa.illinois.edu/jira/browse/CATS-224

Google's Data Lab looks like a similar idea: Jupyter interface to large data https://cloud.google.com/datalab/

See https://github.com/terraref/computing-pipeline/issues/12 for description of what this shoud look like
If this can not be ready by Nov 6., produce a screenshot

sample data and notes (README) are here: https://uofi.box.com/lemnatec-danforth-data

@davidraila I've put the draft mockup and data flow in #12 and will flush these out per discussion today.

Initial goal is to launch a single VM, once this works we can work towards adding to Clowder the ability to select a VM and launch the VM.

[ ] pull from Clowder - needs help from @robkooper

There is a Clowder issue associated with this in JIRA:
https://opensource.ncsa.illinois.edu/jira/browse/CATS-224
I've created a branch for it to add the button that'll launch @davidraila's VM

I will demonstrate current status of this functionality on Thursday 1/28. We have the ability to launch tools with Clowder data included - currently the tool is a Jupyter notebook without PlantCV, but core components are written.


Need to consider handling of expired parcels not claimed in its Dutch auction

Do we need to incentivize "liquidation bots" to burn/invalidate parcels that expired and were not subsequently claimed in the Dutch auction?
Can the Claimer include coordinates from these sort of parcels in a new parcel without requiring the user to perform multiple actions or a with a logical check that doesn't scale linearly with a growth in the number of expired parcels?

Will address this when we enable merge, splits, and burning of parcels. We plan to launch mainnet without these functions enabled.


Remove use of some deprecated functions on sky.Paint

We now expose idiomatic setters for these properties. Eventually we'll remove
the setter functions.

@vlidholt @Hixie

LGTM


Unable to update 2024.12.2

Description
Unable to update. I have 2024.12.1 installed, updater wants 2024.12.0

Steps to reproduce
No response
Expected behaviour
No response
Additional context
Logger: homeassistant.components.websocket_api.http.connection
Zdroj: components/websocket_api/commands.py:245
integrace: Home Assistant WebSocket API (dokumentace, problémy)
První výskyt: 09:02:07 (2 výskyty)
Naposledy logováno: 09:06:20
[140155749270864] Unexpected exception
Traceback (most recent call last):
File "/config/custom_components/hacs/update.py", line 88, in async_install
await self.repository.async_download_repository(ref=version or self.latest_version)
File "/config/custom_components/hacs/repositories/base.py", line 1417, in async_download_repository
await self._ensure_download_capabilities(ref)
File "/config/custom_components/hacs/repositories/base.py", line 1407, in _ensure_download_capabilities
raise HacsException(
custom_components.hacs.exceptions.HacsException: This version requires Home Assistant 2024.12.0 or newer.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service
response = await hass.services.async_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2802, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2845, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1007, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1079, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/update/init.py", line 157, in async_install
await entity.async_install_with_progress(version, backup)
File "/usr/src/homeassistant/homeassistant/components/update/init.py", line 502, in async_install_with_progress
await self.async_install(version, backup)
File "/config/custom_components/hacs/update.py", line 90, in async_install
raise HomeAssistantError(exception) from exception
homeassistant.exceptions.HomeAssistantError: This version requires Home Assistant 2024.12.0 or newer.
Confirmation

[X] I am sure this is a bug or improvement, that is well enough described that it can be implemented.

[ ] If this is for a specific device, the device config is mentioned above, or diagnostics are included.

[X] Log messages or diagnostics relevant to the issue are included.

[X] This is not requesting addition of a new device.

If HACS is unable to determine your HA version correctly, then that is an issue in HACS, not in this integration.
But I suspect HACS is correct, and you are only looking at the tuya-local version number, not the HA version.


docs: Small optimization for protodoc

Signed-off-by: Ryan Northey<EMAIL_ADDRESS>Commit Message: docs: Small optimization for protodoc
Additional Description:
this is a small optimization that removes non-envoy rst files from the output depset of protodoc
this makes the api tarball smaller and allows the downstream code to not have to filter these out
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

docs are rendered here https://storage.googleapis.com/envoy-pr/18179/docs/index.html


preserve closure annotations when emitting functions

The change in 16a0f692312006e68a515d000389e80a08f4a7e1 caused
us to emit a JSDoc comment before functions, which means we
would drop any already existing JSDoc comment.
Fix this by merging existing JSDocs with our new comment.
Add a test in functions.ts to cover this.  (The other changed
tests are just due to changing comment emits.)

LGTM


New version: Term v2.0.1

Registering package: Term
Repository: https://github.com/FedeClaudi/Term.jl
Created by: @FedeClaudi
Version: v2.0.1
Commit: 038c2aaac9901c33a096105dc5144b5d9ba6c0a3
Reviewed by: @FedeClaudi
Reference: https://github.com/FedeClaudi/Term.jl/issues/170#issuecomment-1425947101
Description: Julia library for stylized terminal output

Hello,
Not sure why that's being flagged as breaking since I've done a v2.0.0 release: https://github.com/JuliaRegistries/General/pull/76683
I think tag bot didn't get triggered back then so maybe that's the problem?

hello?

I've re-released v2.0.0. This PR can be closed, thank you!


surrealdb Auth undefined

Describe the bug
Example in Readme incorrect.
Driver is not idiomatic for Go.
context.Context is not passed in the request.
Before you write something - study good examples  of drivers (example: go-redis) and don't embarrass yourself
Steps to reproduce
Run example in readme
Expected behaviour
.
SurrealDB version
1.1.0
Contact Details
No response
Is there an existing issue for this?

[X] I have searched the existing issues

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Example in Readme incorrect.

Readme is updated according to the main branch, not for release.
If you like to use the latest release please checkout the official doc

Driver is not idiomatic for Go.
context.Context is not passed in the request.

This driver was created when surrealdb in beta and is still improving
If you want to change this please submit a pull request.

Before you write something - study good examples of drivers (example: go-redis) and don't embarrass yourself

Open source thrives on community collaboration. If you have suggestions for improvement, consider submitting a pull request.


Make load hooks more versatile

On the page I'm building with kit I need to display categories for a navigation component and want to highlight the active category (the currently viewed category or the category of the currently viewed entry). I see 3 possible approaches:

I could just retrieve the categories on each page where I need them, extract somehow the active category and give those as props to the Navigation component. This would mean much duplicated code and I think I would need to find an unique name for each query, right? Also it would be not good for caching, right?
Retrieve the categories in __layout.svelte, put them into a context and extract them where needed.
Retrieve the categories in __layout.svelte and pass them to further pages via the stuff property. This would mean that the afterLoad hook may return an LoadOutput object.

I think the third option would be the best (at least for kit, I did not look into how the kit code is wrapped for sapper) and implemented a PoC which works alright. Basically my modified code generates this as the load return:
  const _houdini_props = {
    _GetCategoriesPublic,
    _GetCategoriesPublic_Input: {},
    _GetCategoriesPublic_Source
  };
  if ("props" in _houdini_context.returnValue)
    return {
      ..._houdini_context.returnValue,
      props: {
        ..._houdini_context.returnValue.props,
        ..._houdini_props
      }
    };
  return {
    props: {
      ..._houdini_context.returnValue,
      ..._houdini_props
    }
  };

The fallback means I have to return something for the props key in __layout.sveltes afterLoad:
    return {
      props: {},
      stuff: {
        categories: data.GetCategoriesPublic.categories,
      },
    };

Would you be willing to implement something like this/accept a PR for this?
Then I would polish the code a bit and also handle returns from both beforeLoad and afterLoad.

Hey @fehnomenal! I'm a little distracted at the moment with some other work for Houdini so I haven't found the time to look at your proposal but I will get to it as soon as I have some time.  Thanks for being patient!

I think you're right that the third option is probably best and could be a useful improvement for many other use cases. Feel free to open a PR if you're still interested, i'd love to take a look :)

Glad you like it and that I can contribute to this great project :)
I will prepare a PR but will probably need your help for adding some test cases :sweat_smile:

Hah totally understandable! The test cases for the preprocessor rely on snapshot tests which don't really verify the behavior as much as make sure that the same output is generated for every situation. Since you are about to change what the preprocessor leaves behind it's going to look a bit scary at first since you will break every test - just press u if you are using the tests:watch command, otherwise pass -u and that will update the snapshots and make everything pass. Unfortunately since it doesn't confirm that the behavior is actually implemented, I'll have to pull down the branch and run it in a test project to verify things.

Also, in reponse  to Also it would be not good for caching, right?, it actually has no impact on the caching behind the scenes since presumably both queries (which did need unique names) would be querying for the same field. This just means that two stores are subscribing to the same value in the cache. In fact, with the right CachePolicy and code organization you could even avoid the extra queries all together.

Closing this since #238 got merged. Thanks again :)


Linker warnings with latest Parse SDK (1.6.2)

I get linker errors when using the library alongside the latest Parse SDK (1.6.2)
ld: warning: instance method 'initWithCoder:' in category from .../libPods-Parse+NSCoding.a(PFACL+NSCoding.o) overrides method from class in .../Pods/Parse/Parse.framework/Parse(PFACL.o)
ld: warning: instance method 'encodeWithCoder:' in category from .../libPods-Parse+NSCoding.a(PFACL+NSCoding.o) overrides method from class in .../Pods/Parse/Parse.framework/Parse(PFACL.o)
Are there any plans to bring this library up to date?
Has anyone forked it and done that?

I fixed this in a pull request months ago that seems to have just been ignored: https://github.com/npahucki/Parse-NSCoding/commit/5c4b4c4db5c11d2b4f77e3f684d2c421b8b578ab
The problem is that the PFACL class now is already serializable and the category provided by the library is no longer needed.

:+1:


Maps start link and update

Start page maps links

Now on start page show only map groups with hash links to the map group on maps page;
Fixed map group id
Added map icons
Updating maps: streets 3d

.deploy to development

.deploy


Can't suppress certain reference assemblies from inclusion in nupkg

It seems when I include a particular project reference from nuproj to one of my class libraries, all that libraries dependency assemblies get included in the NuGet package. I can't allow this because I don't have a redist license for them.
Besides, the package doesn't need to include these assemblies because at design-time/build-time they're not necessary. At runtime they arguably might be necessary, but at runtime all this is running within an app that already has these assemblies so it's a non-issue.
But I don't see a way in NuProj to selectively exclude assemblies (or just turn off this transitive search behavior).

How about using the "Copy Local" property (or the  node under )? This might be an update to the Nuproj.targets file?


Plugin Static Pages: child pages are sorted wrong

Child pages are sorted wrong by the plugin Static Pages.
Bludit version
3.11

Hi, if there is some changes to make in this area, can  #935 be considered?
Thanks.

here +info for reproduction
https://cdn.discordapp.com/attachments/944963992747655188/945295097594019891/unknown.png

just done some further testing and see that position number doesn't show effect for sorting. Last sub-page created will be placed on top, then gradually by page creation date/time sorted downward in NavMenu. OK, I can deal with this, not really what I had expected tho.

Hello, with the new version of Bludit v4.0 rc1, I would like to close the old Github issues. If you feel that your issue is not resolved in the latest version, create a new ticket.

Help and Support use the Forum https://forum.bludit.org
Bugs and new requests here in Github https://github.com/bludit/bludit/issues


add windowrule: corners

Description
move [x] [y] work with static window size, put windows in four corners will handle windows which  size varies. also need to detect bar height.

You can add move onscreen 100% 0% windowrule to move window to the upper right corner of the screen, respecting borders and exclusive layers area. I guess you figure out how to move windows to other corners yourself.
You can also do this manually with movewindow u + movewindow r dispatchers, bind it on mod + arrow keys or something, because it also work with tiled windows.

@Ligthiago thank u, that's an more universal design by importing 'onscreen' arg.


Links to repository and bugtracker point to wrong repo perl_linux_sys_cpu_affinity

https://github.com/KalessinD/perl_list_helpers_xs/blob/main/META.yml#L26-L27

Thanks for reporting.
Fixed in v.0.20


Cannot update to 1.3.0

Describe the bug
npm ERR! Error while executing:
npm ERR! /bin/git ls-remote -h -t git://github.com/burnpiro/node-resemble.js.git
npm ERR!
npm ERR! fatal: cannot come back to cwd: Permission denied
npm ERR!
npm ERR! exited with error code: 128

Please complete the following information:

OS: Centos 8
node v13.13.0, npm 6.14.7

To Reproduce
npm install -g<EMAIL_ADDRESS>Expected behavior
Update to 1.3.0
Stack Trace
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/usr/bin/node',
1 verbose cli   '/bin/npm',
1 verbose cli   'install',
1 verbose cli   '-g',
1 verbose cli   '--unsafe-perm',
1 verbose cli<EMAIL_ADDRESS>1 verbose cli ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose npm-session 5c430a1aed7d5a5d
5 silly install loadCurrentTree
6 silly install readGlobalPackageData
7 http fetch GET 200 https://registry.npmjs.org/puppeteer-screenshot-tester 75ms (from cache)
8 silly pacote version manifest for<EMAIL_ADDRESS>fetched in 139ms
9 timing stage:loadCurrentTree Completed in 294ms
10 silly install loadIdealTree
11 silly install cloneCurrentTreeToIdealTree
12 timing stage:loadIdealTree:cloneCurrentTree Completed in 1ms
13 silly install loadShrinkwrap
14 timing stage:loadIdealTree:loadShrinkwrap Completed in 12ms
15 silly install loadAllDepsIntoIdealTree
16 silly resolveWithNewModule<EMAIL_ADDRESS>checking installable status
17 silly removeObsoleteDep removing<EMAIL_ADDRESS>from the tree as its been replaced by a newer version or is no longer required
18 silly removeObsoleteDep removing<EMAIL_ADDRESS>from the tree as its been replaced by a newer version or is no longer required
19 silly removeObsoleteDep removing<EMAIL_ADDRESS>from the tree as its been replaced by a newer version or is no longer required
20 silly removeObsoleteDep removing<EMAIL_ADDRESS>from the tree as its been replaced by a newer version or is no longer required
21 silly removeObsoleteDep removing<EMAIL_ADDRESS>from the tree as its been replaced by a newer version or is no longer required
22 silly removeObsoleteDep removing<EMAIL_ADDRESS>from the tree as its been replaced by a newer version or is no longer required
23 silly removeObsoleteDep removing<EMAIL_ADDRESS>from the tree as its been replaced by a newer version or is no longer required
24 silly removeObsoleteDep removing<EMAIL_ADDRESS>from the tree as its been replaced by a newer version or is no longer required
25 silly removeObsoleteDep removing<EMAIL_ADDRESS>from the tree as its been replaced by a newer version or is no longer required
26 silly removeObsoleteDep removing<EMAIL_ADDRESS>from the tree as its been replaced by a newer version or is no longer required
27 silly removeObsoleteDep removing<EMAIL_ADDRESS>from the tree as its been replaced by a newer version or is no longer required
28 silly fetchPackageMetaData error for node-resemble-js@git://github.com/burnpiro/node-resemble.js.git#0.3.0 Error while executing:
28 silly fetchPackageMetaData /bin/git ls-remote -h -t git://github.com/burnpiro/node-resemble.js.git
28 silly fetchPackageMetaData
28 silly fetchPackageMetaData fatal: cannot come back to cwd: Permission denied
28 silly fetchPackageMetaData
28 silly fetchPackageMetaData exited with error code: 128
29 http fetch GET 304 https://registry.npmjs.org/fs 257ms (from cache)
30 http fetch GET 304 https://registry.npmjs.org/parent-module 245ms (from cache)
31 silly pacote range manifest for<EMAIL_ADDRESS>fetched in 263ms
32 silly resolveWithNewModule<EMAIL_ADDRESS>checking installable status
33 silly pacote range manifest for<EMAIL_ADDRESS>fetched in 280ms
34 silly resolveWithNewModule<EMAIL_ADDRESS>checking installable status
35 http fetch GET 304 https://registry.npmjs.org/path 303ms (from cache)
36 silly pacote range manifest for<EMAIL_ADDRESS>fetched in 313ms
37 silly resolveWithNewModule<EMAIL_ADDRESS>checking installable status
38 timing stage:rollbackFailedOptional Completed in 1ms
39 timing stage:runTopLevelLifecycles Completed in 648ms
40 verbose stack Error: exited with error code: 128
40 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/pacote/lib/util/finished.js:12:19)
40 verbose stack     at ChildProcess.emit (events.js:315:20)
40 verbose stack     at maybeClose (internal/child_process.js:1026:16)
40 verbose stack     at Socket.<anonymous> (internal/child_process.js:441:11)
40 verbose stack     at Socket.emit (events.js:315:20)
40 verbose stack     at Pipe.<anonymous> (net.js:674:12)
41 verbose cwd /root
42 verbose Linux 4.18.0-147.5.1.el8_1.x86_64
43 verbose argv "/usr/bin/node" "/bin/npm" "install" "-g"<EMAIL_ADDRESS>44 verbose node v13.13.0
45 verbose npm  v6.14.4
46 error Error while executing:
46 error /bin/git ls-remote -h -t git://github.com/burnpiro/node-resemble.js.git
46 error
46 error fatal: cannot come back to cwd: Permission denied
46 error
46 error exited with error code: 128
47 verbose exit [ 1, true ]

There was a problem with the dependency node-resemble, already patched in 1.3.1


fix(guide): rename hint folder to correct folder name

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #27001

@Nirajn2311 Awesome work!


[Feature]: Custom fonts

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Is it possible to add font to the system itself through the theme settings?
We have our own company font that we utilize.
Why should this be worked on?
As we are creating applications for our company's system, it is in need for us to customize the fonts that are meeting company's regulation. It would be great if we can add font to the system through the theme settings as it is very inconvenient now.
Please consider working on this feature!

@YujinSonn can you tell us a bit about the organisation you work in and why custom fonts are so important for the application you are building?

CJ CheilJedang is a South Korean food and biotechnology company, known for its diverse range of food products and ingredients such as bibigo, annie chun, etc. It operates in various sectors including food, pharmaceuticals, and biotechnology, with a strong emphasis on innovation and sustainability. The company is a part of the larger CJ Group, which is a major conglomerate in South Korea.
When creating an LCNC-based application with Appsmith, our internal users place a high importance on design, particularly fonts. If it's an application used within the company, it's an unwritten rule to use the company's unique font. Therefore, we need a custom font. As we are developing apps only for internal users, font is a significant feature for us.

@YujinSonn Hi, lead design systems designer for Appsmith's widgets here. Would you be open to discussing your needs regarding this feature with us? You can schedule a call with me using this link, if none of those times works please do let me know.