0.7.0-Beta runs tests in assemble task

Describe the bug
When updating from 0.7.0-Alpha to 0.7.0-Beta, I noticed that the assemble task is running my tests.
Expected behavior
Tests shouldn't run unless I invoke the "check" task
Reproducer
I have a branch on this project which reproduces the issue: https://github.com/zcash/secant-android-wallet/tree/kover-0.7.0-Beta
I made one test case intentionally fail, which makes the problem more obvious.  Kover is configured under build-conventions-secant, then applied to the individual modules.

Check out the repo with the kover-0.7.0-Beta branch
Run ./gradlew assemble

Reports
 ./gradlew assemble

> Task :preference-api-lib:jvmTest FAILED

co.electriccoin.zcash.preference.model.entry.BooleanPreferenceDefaultTest[jvm] > value_default_true[jvm] FAILED
    java.lang.AssertionError at BooleanPreferenceDefaultTest.kt:19

Environment

Kover Gradle Plugin version:  0.7.0-Beta
Gradle version: 7.6
Kotlin project type: Kotlin/Multiplatform.  (The project linked above is an Android project, but it reproduces in a multiplatform module without any Android integration)

Hi, thanks for the report!
Indeed, Kover artifacts should not be generated when running the assemble task.

Fixed in 0.7.0


Is it possible to run this on windows?

I'm trying to run the script on windows, but I get this error:
dir=$(d=${0%[/\\]*}; cd "$d"; cd "../squizlabs/php_codesniffer/scripts" && pwd)

##See if we are running in Cygwin by checking for cygpath program
if command -v 'cygpath' >/dev/null 2>&1; then
        # Cygwin paths start with /cygdrive/ which will break windows PHP,
        # so we need to translate the dir path to windows format. However
        # we could be using cygwin PHP which does not require this, so we
        # test if the path to PHP starts with /cygdrive/ rather than /usr/bin
        if [[ $(which php) == /cygdrive/* ]]; then
                dir=$(cygpath -m "$dir");
        fi
fi

dir=$(echo $dir | sed 's/ /\ /g')
"${dir}/phpcs" "$@"

Hello @Tropicalista.
As far as I can see this script is not related to Magento Extension Quality Program coding standard. Maybe I'm missing something. If yes please add more information what are you trying to achieve.
Thank you.

Hi @lenaorobei,
I'm trying to check my extension with this script. I followed the readme instructions, and run the script:
php vendor/bin/phpcs F:\Progetti\CodeCanyon\Refactoring\depot\magento-coding-standard\myapp --standard=MEQP2

and that error came out.

@Tropicalista could you please provide steps to reproduce and detailed info about environment you're using?


Prevent the REPL from panicking when parsing an overflowing integer

Hello, while playing with the REPL I noticed that it would panic when trying to parse a big integer:
$ ./target/release/repl -i
><PHONE_NUMBER>1234567890
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: ParseIntError { kind: Overflow }', ../src/libcore/result.rs:837
note: Run with `RUST_BACKTRACE=1` for a backtrace.
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Any', ../src/libcore/result.rs:837

So I investigated a bit and found out that numeric_literal in parser/src/token.rs would unwrap the integers it tried to parse, causing the panic. So I've added a new ErrorCode in this module to represent integer parse errors. There's also an unwrap for floating point parsing, but I can't find a way to make it panic so I guess it's fine.
This does not propagate a proper error message to the top level though. However, the behavior is the same as for other kinds of integer parsing issues, so this is probably comes from a larger issue.

ah, were just going to fix those compile errors :) (caused by travis testing being before merging and then I never noticed travis erroring). Looks good, will merge after travis finishes.
Thanks!

What do you mean with

This does not propagate a proper error message to the top level though. However, the behavior is the same as for other kinds of integer parsing issues, so this is probably comes from a larger issue.

With those changes I'd expected the error to be propagated (just as any other tokenizer error).

You're welcome. Later on I'd like to try and see if I can manage to get the cause of the error to reach the top level of the repl, right now all I get is something like unexpected EOF. However I'll need to understand the parsing pipeline a bit better :)

Guess that may be true since that isn't tested properly, just assumed it should work.

To be clearer about not reaching the top level, what happens is this:
><PHONE_NUMBER>1234567890
<top>:Line: 1, Column: 1: Undexpected end of file
12345678901234567890
^

This is similar to what happens in toher integer parsing issues, eg:
> 12d2
<top>:Line: 1, Column: 1: Undexpected end of file
12d2
^

Just realized the cause, it should work fine if there is a token after the integer but if its the last token there is a quirk of how tokenizer errors are passed around the layout algorithm which means the error is forgotten. I think I will do the fix myself since that particular part of the parser is quite odd.


KAFKA-17682 Refactor RaftClusterInvocationContext to eliminate test-common-api dependencies

Refactor RaftClusterInvocationContext dependencies based on discussion in #17318.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Hi @chia7712, I have one question that I would like to figure out. The following is my understanding. Correct me if I misunderstood or missed anything.
As discussed in #17318,

:test-common:api should only keep interfaces that are related to the current test infra.
:test-common should only maintain the implementations.

Thus I move RaftClusterInvocationContext out of common.test.api module (as the current PR draft do). If that's the right direction, I will keep working on it. If it's not, please help me clarify the idea. Thanks in advance.

Thus I move RaftClusterInvocationContext out of common.test.api module (as the current PR draft do). If that's the right direction, I will keep working on it. If it's not, please help me clarify the idea. Thanks in advance.

RaftClusterInvocationContext is using JUnit APIs, so moving it to test-common would require adding JUnit dependencies to test-common, which is not ideal. Perhaps we could move RaftClusterInstance to test-common instead.
By the way, #16991 may remove many dependencies, which could help simplify this PR.

Perhaps we could move RaftClusterInstance to test-common instead.
@chia7712 Thanks for the suggestion. It seems RaftClusterInstance does not rely on any of the JUnit packages, thus I have tried to move it to test-common in the latest commit.
Since there are lots of build fails due to checkstyle settings, I am going to fix that one first and validate if this modification works.

@chia7712 I noticed that there are 2 directories that seems to be valid paths for KafkaClusterTestKit.java.
- test-common/test-common-api/src/main/java/org/apache/kafka/common/test/
+ test-common/src/main/java/org/apache/kafka/common/test/

Currently I place KafkaClusterTestKit.java under
- test-common/test-common-api/src/main/java/org/apache/kafka/common/test/

Will it be better to place it under
+ test-common/src/main/java/org/apache/kafka/common/test/

Which seems to be a better fit for the current namespace.

I have tried to move it to test-common/src/main/java/org/apache/kafka/common/test/, and the build will fail due to the package not available issue. It costs me some time to figure out that is caused by dependencies defined in build.gradle, which test-common-api relies on test-common while the oppisite is not the same.
Should we just leave the file as it is instead of moving it to test-common/src/main/java/org/apache/kafka/common/test/?


Fixes BlockItem modal

The modal didn't have all the data to function. Now it does. Instead of placing it in every context the BlockItem is, we just put it on the BlockItem itself.
Part of why we need to extract queries and fragments into their own files is to prevent circular dependencies, which are starting to crop up now that things are beginning to have a decent amount of reuse (cc @broskoski)

Got it, looks real nice.


Implement agnostic state saving for Oauth 2.0 backend

This helps out when you run caddy in more than 1 instance to have HA, on the current code if you try to do it, it will return Unauthorized because the state lives in another process's memory.
This is still a work in progress, but I decided to submit the PR to hear what you think about and how to proceed with the tests, should I use a go implementation of memcached or use docker to spin up the service?

@jaysonsantos , thank you for the PR! Please follow CONTRIBUTING.md
additionally, please add a doc as to how someone could/should use the updated state management.

about and how to proceed with the tests, should I use a go implementation of memcached or use docker to spin up the service?

@jaysonsantos , the go implementation works.

@greenpau would you take a new look please?

would you take a new look please?

@jaysonsantos , without going to deep into it, it looks good! I could see how this could be useful in other contexts. Could you please move the "state" package to "pkg" dir (one level up)?

Could you please move the "state" package to "pkg" dir (one level up)?

@jaysonsantos, scratch the above! 🤔 how about adding moving the code to pkg/cache? It is already something that I use to keep session cache.

@greenpau i just did it, check if that is what you wanted

i just did it, check if that is what you wanted

@jaysonsantos, i meant moving files, e.g. memcached.go directly to pkg/cache, not pkg/cache/state/memcached.go.
Also, say I would want to use the same caching for other things. How would I name things that it would be either specific (e.g. State vs. OauthState) or generic (e.g. Exists vs StateExists).
// State stores the state of the OAuth2 flow.
type State interface {
	Init() error
	Add(state, nonce string) error
	Del(state string) error
	Exists(state string) (bool, error)
	ValidateNonce(state, nonce string) error
	AddCode(state, code string) error
}

hey @greenpau can you take another look on the new commit?
do you want to make the expiration times configurable? i searched for usages on those functions and nothing used them

note that i used memory cache for session and sandbox because i wanted to ask you where it is better to configure the global cache as it is used by other things as well

@jaysonsantos, I spent time reviewing your PR today. Awesome work! 👍 Thank you so much!
Please let me know if you are at your final revision, and I will merge it.

note that i used memory cache for session and sandbox because i wanted to ask you where it is better to configure the global cache as it is used by other things as well

Jayson, the reality is that this "cache" code really belongs to jwt plugin, as https://github.com/greenpau/caddy-auth-jwt/tree/main/pkg/cache, because, fundamentally, the jwt plugin is the "foundation" of auth portal.
Why it is important right now? The jwt plugin is not merely JWT-related. In fact, my plan is to change its name from caddy-auth-jwt to caddy-authorize. This would allow having multiple token technologies, fallback, oauth as part of authorization stack.
route /foo* {
  authorize {
    primary yes
    allow jwt paseto api_keys basic_auth
    order basic_auth paseto jwt api_keys
    ... etc ...
  }
}

I am planning to rename the plugin shortly. Will announce it on Twitter this week and do the migration the week after.
What do you think about moving some of the things in this PR to caddy-authorize (i.e. caddy-auth-jwt).

Hey there, IMO caching of JWT should not be JWT's permission as it should only know how to work with auth intrinsic, not the storage.
But, I'd even go a bit further and keep the signed session on the client side to avoid any kind of storage problems, mostly these types of sessions are not something secret but, just to be sure any kind of HMAC to sign it should be good enough.
Let me know your thoughts and I can change it accordinly.

Hey, what about the global cache configuration (here it is only for oauth)? Or should I leave the sandbox and session as memory for now?

@greenpau I've implemented your suggestions [from here on this commit

@jaysonsantos ,my  apologies. this review needs to wait. Can't find time to sit down and review this in detail. Hopefully by the end/mid of December, but can't promise that.

@jaysonsantos , please reopen in github.com/greenpau/caddy-security if this is still relevant for you. Please consider sponsoring the work on the project! 👍
Also, I think with the new setup, the caching could be the first class citizen.
security {
  authentication cache foo {
    server <IP_ADDRESS>
  }

  authentication portal myportal {
    use foo for caching ...


Bugs in Metrics

gamma-nloglik:
bst_float psi = 1.0;
bst_float c = 1. / psi * std::log(y/psi) - std::log(y) - common::LogGamma(1. / psi);

c == 0
logloss:
  XGBOOST_DEVICE bst_float EvalRow(bst_float y, bst_float py) const {
    const bst_float eps = 1e-16f;
    const bst_float pneg = 1.0f - py;
    if (py < eps) {
      return -y * std::log(eps) - (1.0f - y)  * std::log(1.0f - eps);
    } else if (pneg < eps) {
      return -y * std::log(1.0f - eps) - (1.0f - y)  * std::log(eps);
    } else {
      return -y * std::log(py) - (1.0f - y) * std::log(pneg);
    }
  }

std::log(1.0f - eps) == std::log(1.0) == 0
gamma-deviance needs to be removed because the formula is not correct!(#6728)
I don't understand what math formula was used in poisson-nloglik.
-log( Poisson_regression )
With tweedie-nloglik it is also unclear. And the test is missing.
Tests for regression metrics with weights.(#6729)
If metrics are used in forest creation.....

I wanted to use metrics from XGBoost for Pytorch.
But now only sklearn.metrics for all models!

I need to take a closer look.

The bug in gamma deviance is fixed.  Better documentation for other metrics will be a different topic.  Thanks for raising the issue!

Just a quick note for who's following this thread.  I believe these metrics and objectives are derived from the generalized linear model.

All metrics are calculated for each result separately.
Loss is calculated for each individual result, but metrics must be calculated for the entire result matrix. Therefore, the metrics in XGBoost are approximate.

https://github.com/pytorch/pytorch/issues/22439

I don't understand what math formula was used in poisson-nloglik.

See Evaluating the Poisson distribution section of https://en.wikipedia.org/wiki/Poisson_distribution

gamma-nloglik:

Yeah, this one is a bit confusing, I tracked down the PR for -log(\gamma): https://github.com/dmlc/xgboost/pull/1369 , which hard codes the dispersion to 1.  Not entirely sure why.

The weird logloss you see is just a way to work around numerical issues.


(security) Permissions to have createdBy and support ObjectIds as domainIdentifier

Extend the permission model in such a way to allow this functionality. This might need to play within SecurityBundle and SecurityMongoBundle

This is already implemented.


Add support for Alpine and other musl-based Linux distributions

Hi,
We've recently discovered an issue while using ClearScript version 7.2.0.
When trying to use ClearScript in an Alpine Docker Image, the following error occurs:
Unhandled exception. System.TypeLoadException: Cannot load ClearScript V8 library. Load failure information for ClearScriptV8.linux-x64.so:
/app/runtimes/linux-x64/native/ClearScriptV8.linux-x64.so: Unable to load shared library '/app/runtimes/linux-x64/native/ClearScriptV8.linux-x64.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /app/runtimes/linux-x64/native/ClearScriptV8.linux-x64.so)

Adding the glibc compatability layer to try and solve this causes the following error:
terminate called after throwing an instance of 'std::system_error'
 what():  No error information

Going back to version 7.0.0 with the glibc compatability layer works in an Alpine image without issues. Maybe this was caused by the following change in 7.1?:
Switched to static linking of C/C++ libraries to broaden Linux support
Steps to reproduce
Create simple C# project using ClearScript 7.2.0
static void Main(string[] args)
{
	var engine = new V8ScriptEngine();
	engine.AddHostType("Console", typeof(Console));
	engine.Evaluate("Console.WriteLine('Hello from JS')");
}

Build/Publish project (dotnet build && dotnet publish)
Build Docker image with:

Alpine base (such as mcr.microsoft.com/dotnet/aspnet:5.0-alpine)
Alpine's glibc compatability layer (RUN apk add gcompat)
Copy dotnet publish output and set the entrypoint to simple app

Run the Docker image and output should be the error shown above

Hi @SeanMsi,
We've reproduced the issue with ClearScript 7.2 on Alpine in WSL. For us, ClearScript 7.0 with gcompat doesn't work either, failing quietly as soon as we try to instantiate V8ScriptEngine. There's no error message, no core dump, nothing.
Anyway, it looks like Alpine requires special .NET SDK and runtime builds for some reason, and ClearScript could be in the same boat. Unfortunately, as it's a side project, supporting the three major desktop platforms – including the eight platform-specific V8 packages – is already stretching the limits of the resources available.
Sorry!

I built the latest mainline in an linux container and debugged in alpine. I was able to reproduce the error:
terminate called after throwing an instance of 'std::system_error'
  what():  No error information

There's an exception coming from a missing dependency linkage.
Exception has occurred: CLR/System.DllNotFoundException
Exception thrown: 'System.DllNotFoundException' in System.Private.CoreLib.dll: 'Unable to load shared library '/workspaces/ClearScript/MuslTest/bin/Debug/net6.0/runtimes/linux-x64/native/ClearScriptV8.linux-x64.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: Error loading shared library /workspaces/ClearScript/MuslTest/bin/Debug/net6.0/runtimes/linux-x64/native/ClearScriptV8.linux-x64.so: No such file or directory'
   at System.Runtime.InteropServices.NativeLibrary.LoadFromPath(String libraryName, Boolean throwOnError)
   at System.Runtime.InteropServices.NativeLibrary.Load(String libraryPath)
   at Microsoft.ClearScript.V8.V8Proxy.LoadLibrary(String path) in /workspaces/ClearScript/ClearScript/V8/V8Proxy.NetCore.c

I'm going to keep looking, but does this give any more insight?

The exception in my previous message was my fault. I wasn't copying the lib to the expected subpath.
I'm still working on getting the source files to load up in the container from the V8 build directory to be able to step through to the actual point of failure, but from what I can tell it's failing in some call stemming from icu_util.cc in v8::V8::InitializeICU()
Stack Trace
ld-musl-x86_64.so.1!setjmp (Unknown Source:0)
ld-musl-x86_64.so.1!raise (Unknown Source:0)
ld-musl-x86_64.so.1![Unknown/Just-In-Time compiled code] (Unknown Source:0)

Debug Console:
Thread 1 "dotnet" received signal SIGABRT, Aborted.
0x00007ff9da4353f2 in setjmp () from /lib/ld-musl-x86_64.so.1

Hi @William-Froelich,
Thanks for looking into this.

That make it seem to be related to threading not running | being supported | not detected at runtime.

Hmm, std::call_once is a standard C++ API, so std::system_error probably indicates a serious library mismatch of some sort. Note that ClearScript explicitly specifies pthread linkage here.

I did see on a quick glance through github issues elsewhere that there's been some issue with threading when compiled on gcc and run on musl.

ClearScript uses Clang to build its native Linux libraries. A quick search suggests that Clang may support a special target for musl.
Please keep us posted on any additional insights or discoveries.
Thank you!

I've tried recompiling against musl but I've hit a few issues I'm hoping someone can advise on.

The libv8 download step fails and I'm looking into what might be the cause. Is this something anyone else has seen before? The docker container I'm running in has Python 2.7 so I don't think it's specifically related to the python version.

I'm going to keep looking into the V8 project to see if I can figure something out.
vscode ➜ /workspaces/ClearScript (musl-debug-experiment ✗) $ make -f ./Unix/Makefile DEBUG=1
make -f /workspaces/ClearScript/Unix/ClearScriptV8/Makefile
make[1]: Entering directory '/workspaces/ClearScript'
cd /workspaces/ClearScript/Unix; ./V8Update.sh -n -y x64 Debug
Build: x64 Debug
*** BUILD DIRECTORY NOT FOUND; DOWNLOAD REQUIRED ***
V8 revision: Tested (<IP_ADDRESS>)
Creating build directory ...
Downloading Depot Tools ...
Downloading V8 and dependencies ...
WARNING: Your metrics.cfg file was invalid or nonexistent. A new one will be created.
Error: Command 'vpython third_party/depot_tools/update_depot_tools_toggle.py --disable' returned non-zero exit status 1 in /workspaces/ClearScript/V8/build/v8
[E2022-01-05T23:06:54.723430Z 5211 0 annotate.go:273] goroutine 1:
#0 go.chromium.org/luci/vpython/venv/config.go:309 - venv.(*Config).resolvePythonInterpreter()
  reason: none of<EMAIL_ADDRESS>matched specification 2.7.0

#1 go.chromium.org/luci/vpython/venv/config.go:153 - venv.(*Config).resolveRuntime()
  reason: failed to resolve system Python interpreter

#2 go.chromium.org/luci/vpython/venv/venv.go:143 - venv.With()
  reason: failed to resolve python runtime

#3 go.chromium.org/luci/vpython/run.go:60 - vpython.Run()
#4 go.chromium.org/luci/vpython/application/application.go:327 - application.(*application).mainImpl()
#5 go.chromium.org/luci/vpython/application/application.go:416 - application.(*Config).Main.func1()
#6 go.chromium.org/luci/vpython/application/support.go:46 - application.run()
#7 go.chromium.org/luci/vpython/application/application.go:415 - application.(*Config).Main()
#8 vpython/main.go:112 - main.mainImpl()
#9 vpython/main.go:118 - main.main()
#10 runtime/proc.go:225 - runtime.main()
#11 runtime/asm_amd64.s:1371 - runtime.goexit()

*** THE PREVIOUS STEP FAILED ***
make[1]: *** [/workspaces/ClearScript/Unix/ClearScriptV8/Makefile:140: /workspaces/ClearScript/V8/build/v8/out/x64/Debug/obj/libv8_monolith.a] Error 1
make[1]: Leaving directory '/workspaces/ClearScript'
make: *** [Unix/Makefile:24: all] Error 2

V8SplitProxyNative.tt seems to assume just arch and os are needed to determine the native library to load. This probably would need to get changed, though I'm not clear what could be done to determine if musl is in use instead of glibc. This class is used to generate V8SplitProxyNativeGenerated.cs right?

Packaging - I assume this would have to be a brand new nuget package and not just added to Microsoft.ClearScript.V8.Native.Linux-* packages?

Hi @William-Froelich,
Thanks for investigating this!

none of<EMAIL_ADDRESS>matched specification 2.7.0

Not sure what's going on there. On Ubuntu LTS, that path is Python 2.7.18. What happens when you run it in your container?

This class is used to generate V8SplitProxyNativeGenerated.cs right?

Yes. It'd probably be best to treat this as a new architecture – perhaps something like "x64_musl". For the native call routing to work as it does today, we'd need to be able to detect this architecture at runtime. Currently we use RuntimePlatform.OSArchitecture, but we'd need some other technique to differentiate between musl and glibc.

I assume this would have to be a brand new nuget package and not just added to Microsoft.ClearScript.V8.Native.Linux-* packages?

We might be able to make it work either way, but a separate package would probably be best.
Thanks again, and please keep us posted!

Not sure what's going on there. On Ubuntu LTS, that path is Python 2.7.18. What happens when you run it in your container?

In the alpine container the path is what I would expect and the version matches Ubuntu:
vscode ➜ /workspaces/ClearScript/V8/build (musl-debug-experiment ✗) $ which python
/usr/bin/python
vscode ➜ /workspaces/ClearScript/V8/build (musl-debug-experiment ✗) $ ls -al /usr/bin/python
lrwxrwxrwx 1 root root 7 Jan  5 22:43 /usr/bin/python -> python2
pythjovscode ➜ /workspaces/ClearScript/V8/build (musl-debug-experiment ✗) $
vscode ➜ /workspaces/ClearScript/V8/build (musl-debug-experiment ✗) $ python --version
Python 2.7.18

Running python from the depot_tools directory seems to indicate the minimal libc on alpine isn't sufficient due to the symbol not found errors.
vscode ➜ /workspaces/ClearScript/V8/build (musl-debug-experiment ✗) $<EMAIL_ADDRESS>Error relocating<EMAIL_ADDRESS>xdr_pointer: symbol not found
Error relocating<EMAIL_ADDRESS>clnt_perror: symbol not found
Error relocating<EMAIL_ADDRESS>clnt_pcreateerror: symbol not found
Error relocating<EMAIL_ADDRESS>xdr_bool: symbol not found
Error relocating<EMAIL_ADDRESS>xdr_opaque: symbol not found
Error relocating<EMAIL_ADDRESS>xdr_u_int: symbol not found
Error relocating<EMAIL_ADDRESS>xdr_bytes: symbol not found
Error relocating<EMAIL_ADDRESS>clnt_spcreateerror: symbol not found
Error relocating<EMAIL_ADDRESS>xdr_char: symbol not found
Error relocating<EMAIL_ADDRESS>xdr_enum: symbol not found
Error relocating<EMAIL_ADDRESS>xdr_vector: symbol not found
Error relocating<EMAIL_ADDRESS>xdr_free: symbol not found
Error relocating<EMAIL_ADDRESS>xdr_string: symbol not found
Error relocating<EMAIL_ADDRESS>clnt_create: symbol not found

I guess I can try to build with musl on ubuntu and copy to alpine and see if that works.

Yeah, the V8 build process is finicky about its platform. For example, all 32-bit versions must be cross-compiled. Apparently, it's now using its own glibc-based Python.

I was trying out the musl compilation without adding the higher-level changes (just replacing the existing linux-64.so with the musl version).
You can view the diff here: https://github.com/William-Froelich/ClearScript/pull/1
I verified the library builds targeting musl instead of glibc with ldd:
vscode ➜ /workspaces/ClearScript/MuslTest (musl-debug-experiment ✗) $ ldd ./bin/Debug/net6.0/ClearScriptV8.linux-x64.so
        /lib/ld-musl-x86_64.so.1 (0x7f5ab030b000)
        libm.so.6 => /lib/ld-musl-x86_64.so.1 (0x7f5ab030b000)
        libpthread.so.0 => /lib/ld-musl-x86_64.so.1 (0x7f5ab030b000)
        libc.so => /lib/ld-musl-x86_64.so.1 (0x7f5ab030b000)

Unfortunately, the error output is exactly the same and the app crashes right after executing std::call_once(). Am I missing something here? Did I build it right or is there still something else I need to do to make it happy about stdlib?
I realize that my branch breaks the gnu-libc build by adding 'alpine' to the target in the makefile so if I do get this working I will be fixing that!

Hi @William-Froelich,
Quick question about your diff: You're defining CXXALPINEFLAGS, but where is that symbol used?
Thanks!

Hi,
Is there any information about this issue?
I have alpine docker image and get errors:
can't run Unable to load shared library '/app/runtimes/linux-x64/native/ClearScriptV8.linux-x64.so

Hi @Nikolay-Ch,
Unfortunately, we have no update. Support for musl-based Linux platforms is still something we'd like to add in the future.
Good luck!

Has this issue been updated recently ?  @Nikolay-Ch

no update after 3 years...Maybe people prefer to use Debian image. The debian one is working well: mcr.microsoft.com/dotnet/aspnet:8.0

Any update for alpine linux? we're now at alpine 3.20 but it still doesn't work
A compilation step encountered an exception During loading of Sass compiler error has occurred. Failed to create instance of the V8JsEngine. Most likely it happened, because the 'ClearScriptV8.linux-x64.so' assembly or one of its dependencies was not found. Try to install the Microsoft.ClearScript.V8.Native.linux-x64 package via NuGet. with stacktrace:
     at DartSassHost.SassCompiler.InitializeCompiler()
     at DartSassHost.SassCompiler.CompileFile(String inputPath, String outputPath, String sourceMapPath, CompilationOptions options)
     at WebCompiler.Compile.SassCompiler.Compile(List`1 file_sequence) in /home/runner/work/WebCompiler/WebCompiler/WebCompiler/Compile/SassCompiler.cs:line 72
     at WebCompiler.Compile.CompilationStep.With(Compiler compiler) in /home/runner/work/WebCompiler/WebCompiler/WebCompiler/Compile/CompilationStep.cs:line 22

  The internal compiler SassCompiler encountered an exception: During loading of Sass compiler error has occurred. Failed to create instance of the V8JsEngine. Most likely it happened, because the 'ClearScriptV8.linux-x64.so' assembly or one of its dependencies was not found. Try to install the Microsoft.ClearScript.V8.Native.linux-x64 package via NuGet..
  The stacktrace was:
     at DartSassHost.SassCompiler.InitializeCompiler()
     at DartSassHost.SassCompiler.CompileFile(String inputPath, String outputPath, String sourceMapPath, CompilationOptions options)
     at WebCompiler.Compile.SassCompiler.Compile(List`1 file_sequence) in /home/runner/work/WebCompiler/WebCompiler/WebCompiler/Compile/SassCompiler.cs:line 72
     at WebCompiler.Compile.CompilationStep.With(Compiler compiler) in /home/runner/work/WebCompiler/WebCompiler/WebCompiler/Compile/CompilationStep.cs:line 22

Hello @Baklap4,

Any update for alpine linux?

Unfortunately, we still have no update. Please understand that ClearScript is a spare-time project, and we have our hands full with the current set of eight target platforms.

we're now at alpine 3.20 but it still doesn't work

Correct; musl-based Linux systems require musl builds of all native libraries, and ClearScript currently provides only glibc builds.
Sorry!


Add new emitTypingIndicator action

Fixes #2157.

Changelog Entry

Fix [#2157], added emitTypingIndicator action and dispatcher, by @compulim, in PR #XXX

Description
Add a new emitTypingIndicator. This will complete the set of sendMessage, sendEvent, sendFiles, sendPostBack, sendMessageBack`.
We name it emit instead of send because of a name conflict. As typing indicator is very lightweight when compare to other activities, we think it is okay to make this exception to use emit for typing indicator.
Specific Changes

Added a new action, emitTypingIndicator
Added a saga, emitTypingIndicatorToPostActivitySaga
Modified existing sage to use the new action, instead of posting activity

[x] ~Testing Added~

No new tests are added, existing tests are enough to test this change

Coverage increased (+0.05%) to 65.282% when pulling f6dea4ca805049a7531c7df696f67df96ae92f89 on compulim:fix-2157 into 59ef438b747ed842bfd1a93bac50159ed5ce6531 on microsoft:master.


Push-to-talk functionality

I made a stab at push-to-talk functionality. It works on my machine™ but needs more work before this gets merged. I’ve created it as a draft but it’s technically release-ready — just lacking configurability (see below).
While Tracker constantly mishearing things when she’s not even being talked to can lead to funny situations, I want to offer this option. Especially because this way, input device selection should be possible since push-to-talk will result in a finite length Stream, which was the original limitation with #420.
However, I’ve mostly been working on stuff during my holidays, and I need a break too, so I was hoping @MattEqualsCoder or @CPColin could finish this up.

[x] Separate push-to-talk implementation of SpeechRecognitionServiceBase
[x] Detect key presses
[x] Record microphone audio
[x] Run recognition on recorded audio
[x] Make push-to-talk hotkey configurable (currently hardcoded to left Ctrl)
[x] Make input device configurable (currently hardcoded to default device)

Either something in the Options window or a right-click menu on the existing microphone status bar icon?
I run initialization during each key press event, so switching devices shouldn't require anything more beyond passing it to the MicrophoneService somehow, and leaving it at the default should also be fine.

[x] Make speech recognition mode configurable: always-on / push-to-talk / none
[ ] Configure/detect/negotiate the recording wave format

Currently I default to the default WaveFormat constructor which is 44.1KHz 16 bit and probably works for most people, but there might be some exotic setups where that isn’t supported or isn’t sufficient. There should be some negotation between what the selected input device supports and what System.Speech supports.

Resolves #420

Also, since I started the PR I can't approve it


Internet explorer 9 position abnormal

This code can't work properly in Internet explorer 9:
else{
h=this.element.offset();
g=h.left
}
When I can work normally after the modification of into the following:
else{
h=jQuery(this.element[0]).offset();
// But it must be repeated again
h=jQuery(this.element[0]).offset();
g=h.left
}
Can someone tell me why?
Thank you very much!

Should be fixed now


fix: join value of chip to string

Will be better to have an ability to specify amount of array items to display.
For example in case when we choose 10 items single chip could show us "1 item, 2 item (+8 more)"


fix(plot): fix to calculate period and frequency only when communication is established

Description
This PR changes the period and frequency to be calculated only when communication is established.
Related links

JIRA ticket: https://tier4.atlassian.net/browse/RT2-238

Notes for reviewers
@takeshi-iwanari
When using CARET_report, this change no longer generates some index pages that draw empty charts.
Is this the correct behaviour?

Pre-review checklist for the PR author

[x] I've confirmed the contribution guidelines.
[x] The PR is ready for review.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR has been properly tested.
[ ] The PR has been reviewed.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] (Optional) The PR has been properly tested with CARET_report verification.
[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@takeshi-iwanari
Could you review this PR?
Please also consider the issue of CARET_report failing due to this PR.

@atsushi421
The error is caused by new reference data used in CARET_report. https://github.com/tier4/CARET_analyze/pull/261 changed orders in architecture.yaml, so I updated reference data for CARET_report, and it doesn't work with older version of CARET_analyze.
You can ignore the error at the moment. After merging to main, the error should be disappered.

After merging to main, the error should be disappered.

Just note:
I found differences of CARET_report result between before/after this PR. It looks this PR affects not only on communication but also on callback (node) .
before this PR: period and frequency is calculated for a node, where all the callbacks are not called
after this PR: period and frequency is NOT calculated for a node, where all the callbacks are not called
I think it's reasonable. I'll update reference data for CARET_report after this PR is merged.

@atsushi421
Whether period and frequency is calculated for a node or not is caused by CARET_report, so please ignore my previous comment.
However, to_dataframe() causes exception for such node with create_frequency_timeseries_plot using this PR. The exception doesn't occur with the current main branch. Also the exception doesn't occur with create_latency_timeseries_plot with this PR.
I attach notebook to reproduce the problem (trace file will be downloaded in the script). Could you take a look?
node.zip


fix Model.toJSON

Model.toJSON should also serialize properties that evaluate to false

@rothfahl thanks, i just published your changes.


(wip) adds markdown metadata

Metadata sample output:
{
  "runme.dev/1/Kind": "Text",
  "runme.dev/1/Text": "Some content with ",
  "runme.dev/2/Destination": "https://example1.com",
  "runme.dev/2/Kind": "Link",
  "runme.dev/2/Title": "Link title 1",
  "runme.dev/3/Kind": "Text",
  "runme.dev/3/Text": " ",
  "runme.dev/4/Destination": "https://example2.com",
  "runme.dev/4/Kind": "Link",
  "runme.dev/4/Title": "Link title2",
  "runme.dev/5/Kind": "Text",
  "runme.dev/5/Text": "Link1",
  "runme.dev/9/Kind": "Text",
  "runme.dev/9/Text": "Link2",
  "runme.dev/Kind": "Paragraph",
  "runme.dev/Size": "9",
  "runme.dev/RawText": "Some content with [Link1](https://example1.com \"Link title 1\") [Link2](https://example2.com \"Link title2\")"
}

I'm undecided on using the runme.dev/ prefix for e.g. "runme.dev/3/Kind". We introduce it to pass additional information between extension <> kernel that's exempt from serialization. The metadata list is getting a bit busy using the same exact mechanism. Have you tried grouping the AST information under a single property, such as runme.dev/ast and just nest them @pastuxso?

@pastuxso I like it better 👍 . Scopes/namespaces it under a single property.


Fix the returned sha256 checksum on global files level

It prevents QFieldSync to recognize server side changes.
Fix: https://github.com/opengisch/QFieldCloud-on-prem/issues/12

Task linked: QF-3350 Fix getting file sha256 checksum

After deploying this commit to on-prem I was able to make a change on QField and sync+load it in QFieldSync. I'd be relieved if @lucienicolier could confirm that this works for her as well.
Thanks a lot for the patch!


maximum recursion depth exceeded in comparison

@jamesbowman Hi. I am trying to use the project along with SKiDL. Is it possible? Have you worked on such cases?
On the other hand, when I tried to run dazzle.py script, I am getting the error. Can you please tell what do I need to do to get rid of it please? Thank you for sharing us such a wonderful project.
RecursionError: maximum recursion depth exceeded in comparison
While I am trying to simply run arduino_dazzler.py, it is throwing another error. Can you please tell me why I am getting these errors?
OSError: cannot open resource

I can confirm I also see the RecursionError when trying to run python dazzler.py on my Raspberry Pi4 with Raspberry Pi OS (bullseye).


Update EIA open data API

EIA will discontinue support for their legacy (v1) API in November 2022. The new (v2) API has some changes to the API structure that will require changes within PowerGenome. Examples include:

The API now has a nice tree-structure that makes it easy(ish?) to query everything below a level
The series ID used to include the type of data, year, scenario, region, etc. They are now split into the request (e.g. /v2/aeo/2020/data/) and facets (e.g. the series ID cnsm_NA_elep_NA_elc_NA_nenycli_blnkwh and scenario ref2022)
The series ID, AEO scenario, etc are now all lowercase
Data (values for the fuel price and electricity sales) are not returned by the API unless requested

TODO

Rewrite eia_opendata.load_aeo_series()

Sanitize inputs to lowercase
Will either need to increase the number of parameters coming in to split up the current series_id or pass in the url
DataFrame construction will change slightly
Local storage filenames will change some now that the series ID is split up.

Modify use of load_aeo_series within fetch_fuel_prices() and get_aeo_load()
Figure out how users should discover possible scenario codes

Stopped using the API in favor of bulk downloads


[Suggestion] Multiple custom builds

the name of the binary for custom builds is static, which makes it harder if not impossible to have multiple builds

Added this feature at commit f9118b7.


QueryMetrics: abstraction layer of query metrics emitting (part of #3798)

Problems

Metrics which Druid emits for each individual query is a sensitive area. If a lot of queries are done, emitting more metrics or adding dimensions to existing metrics could exhaust the capacity of the system which consumes the metrics of the Druid cluster (Graphite, or another smaller Druid cluster, etc.). Or it could simply be too expensive to store a lot of (unused) metrics data.

Evolution of metrics (changing dimension names, time unit of emitted time metrics, etc.) is hard or impossible, because existing users may depend on the specific dimension names, and expect specific time units of time metrics in their monitoring systems. In fact, it is a part of the Druid's public interface.

Solution
QueryMetrics is an interface which abstracts accumulating dimensions in ServiceMetricEvent.Builder and emitting to ServiceEmitter. There are separate methods for each dimension added and metric emitted. Custom implementations of QueryMetrics may drop unused dimensions or skip emitting unused metrics by overriding corresponding methods with empty bodies. QueryMetrics also allows to control the actual dimension and metric names, and precision (time units) of the metric values. See Javadoc for QueryMetrics for more details.
There are specializations for topN, groupBy and timeseries queries: TopNQueryMetrics, GroupByQueryMetrics and TimeseriesQueryMetrics. More query types could have specialized versions of QueryMetrics, if needed.
Generic QueryMetrics and specializations are injected using QueryMetricsFactory in QueryToolChestModule.
Evolution of metrics
Druid core may add hooks for adding more dimensions to existing query metrics and emitting more metrics (i. e. add more methods to QueryMetrics interface or one of it's specializations), but leave the bodies of those methods empty in the default implementations of QueryMetrics, to ensure that when users update Druid they don't suddenly have more unexpected metrics. Those users who need those additional dimensions or metrics implement their custom QueryMetrics and QueryMetricsFactory and inject them in their private Druid extension.
When more methods are added to the QueryMetrics interface in future releases, the build of private extensions (custom QueryMetrics impls) is broken, because of unimplemented methods. It forces the user to resolve this problem manually and handle all new potential dimensions and metrics emitted in the Druid core.

A part of #3798

@nishantmonu51 could you please review this?

@drcrallen added tests

@gianm addressed comments, thanks for review

@leventov thanks for clarifying.
This generally looks reasonable, it's kind of complex but I don't see a better way to do type safe metric emitting/filtering/decorating.
Now I have a related question: does the metric handling code really need to be type safe? It seems to me that if we kept some of this structure (like QueryMetricsFactory and DefaultQueryMetrics) but abandoned type safe metric handling, in favor of string keys, then the implementation would be a lot simpler. If we made that change then:

We wouldn't need implementations for each query type with query-specific dimensions, reducing and simplifying code.
The important functionality remains: site-specific QueryMetricsFactory impls are still able to have full control over whitelisting, blacklisting, adding to, or modifying existing emitted metrics.
Site specific QueryMetricsFactory impls wouldn't need to break on each Druid release. This is both good (less work for operators of custom QueryMetricsFactory impls) and potentially bad (no compile-time notification to operators that a new dimension or metric exists). It's still possible for site specific impls to notice this at runtime, and they could perhaps emit an alert or log a warning. And, I can imagine that there would be some QueryMetricsFactory impls that don't want compile time notification enforcement that they handle new dimensions. Maybe all they want to do is add a dimension but not alter existing ones.

I'm not sure if this is better or worse than your current patch, but I would at least like to discuss this non-type-safe option.

@gianm I think QueryMetrics with generic methods which accept String keys and value (dimensions or metrics) doesn't add much value over what we have already.
Some dimensions/metrics are relatively expensive to compute during the query. With the type safe  "method hook" approach, dimensions/metrics which you don't need are zero-cost. With methods accepting Strings, they still have to be computed, and the logic of their computation pollutes the core query execution code. I have a specific case in mind, it's creating "bitmap construction plan" strings, presented in this message: https://github.com/druid-io/druid/pull/3754#issue-193979306. We emit such strings as dimension. It adds quite a lot of logic, and supposedly not very cheap (though I didn't measure): involves creating and populating TreeMaps, etc. I would like to completely hide this logic and complexity in our own implementation of TopNQueryMetrics.
If site specific QueryMetrics don't want to break on each Druid release, they may inherit from DefaultQueryMetrics, or DefaultTopNQueryMetrics, etc. Those classes act as adapter implementations as well. Elaborated that in Javadocs of QueryMetrics.

@leventov, that justification makes sense. This patch looks good to me.

@drcrallen do you wish to review changed that I made since you approved this PR?

@nishantmonu51 reviewed it and @gianm reviewed it so I'm good

@leventov Getting this exception while running ITRealtimeIndexTaskTest -
2017-05-15T17:08:11,027 WARN [qtp141388791-91[timeseries_[wikipedia_index_test]_1ef1da8a-c624-41c2-933a-895f2f4ffcb4]] io.druid.server.QueryResource - Exception occurred on request [TimeseriesQuery{dataSource='wi
kipedia_index_test', querySegmentSpec=MultipleSpecificSegmentSpec{descriptors=[SegmentDescriptor{interval=2017-05-15T17:06:00.000Z/2017-05-15T17:07:00.000Z, version='2017-05-15T17:06:37.343Z', partitionNumber=0},
 SegmentDescriptor{interval=2017-05-15T17:07:00.000Z/2017-05-15T17:08:00.000Z, version='2017-05-15T17:07:01.280Z', partitionNumber=0}, SegmentDescriptor{interval=2017-05-15T17:08:00.000Z/2017-05-15T17:09:00.000Z,
 version='2017-05-15T17:08:01.419Z', partitionNumber=0}]}, descending=false, virtualColumns=[], dimFilter=null, granularity='AllGranularity', aggregatorSpecs=[LongSumAggregatorFactory{fieldName='count', expressio
n='null', name='edit_count'}, DoubleSumAggregatorFactory{fieldName='added', expression='null', name='chars_added'}], postAggregatorSpecs=[], context={defaultTimeout=300000, finalize=false, queryId=1ef1da8a-c624-4
1c2-933a-895f2f4ffcb4}}]
java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429) ~[?:1.8.0_60]
        at java.util.HashMap$EntryIterator.next(HashMap.java:1463) ~[?:1.8.0_60]
        at java.util.HashMap$EntryIterator.next(HashMap.java:1461) ~[?:1.8.0_60]
        at io.druid.query.DefaultQueryMetrics.emit(DefaultQueryMetrics.java:221) ~[druid-processing-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.query.MetricsEmittingQueryRunner$1.after(MetricsEmittingQueryRunner.java:120) ~[druid-processing-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:66) ~[java-util-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) ~[java-util-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:75) ~[druid-processing-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) ~[java-util-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.query.spec.SpecificSegmentQueryRunner$2.accumulate(SpecificSegmentQueryRunner.java:85) ~[druid-processing-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) ~[java-util-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:171) ~[druid-processing-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.query.spec.SpecificSegmentQueryRunner.access$200(SpecificSegmentQueryRunner.java:44) ~[druid-processing-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.query.spec.SpecificSegmentQueryRunner$3.wrap(SpecificSegmentQueryRunner.java:151) ~[druid-processing-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) ~[java-util-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.java.util.common.guava.Sequences.toList(Sequences.java:150) ~[java-util-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:130) ~[druid-processing-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:120) ~[druid-processing-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_60]
        at io.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:271) ~[druid-processing-0.10.1-1494863481-55349dd-1358.jar:0.10.1-1494863481-55349dd-1358]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_60]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_60]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60]
May 15, 2017 5:08:11 PM com.google.common.util.concurrent.Futures$CombinedFuture setExceptionAndMaybeLog
SEVERE: input future failed.
java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
        at java.util.HashMap$EntryIterator.next(HashMap.java:1463)
        at java.util.HashMap$EntryIterator.next(HashMap.java:1461)
        at io.druid.query.DefaultQueryMetrics.emit(DefaultQueryMetrics.java:221)
        at io.druid.query.MetricsEmittingQueryRunner$1.after(MetricsEmittingQueryRunner.java:120)
        at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:66)
        at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50)
        at io.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:75)
        at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45)
        at io.druid.query.spec.SpecificSegmentQueryRunner$2.accumulate(SpecificSegmentQueryRunner.java:85)
        at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50)
        at io.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:171)
        at io.druid.query.spec.SpecificSegmentQueryRunner.access$200(SpecificSegmentQueryRunner.java:44)
        at io.druid.query.spec.SpecificSegmentQueryRunner$3.wrap(SpecificSegmentQueryRunner.java:151)
        at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45)
        at io.druid.java.util.common.guava.Sequences.toList(Sequences.java:150)
        at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:130)
        at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:120)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at io.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:271)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

Got similar exception with ITTwitterQueryTest

@pjain1 could you try with the attached patch?
queryPlus.txt

@pjain1 #4279


snp_prepareConstraints does not setTranslatesAutoresizingMaskIntoConstraints(false)

Neither does install()
Perhaps by design.
Also shouldn't snp_makeConstraints return [Constraint] to be used later if needed?

@nickvelloff yea the intention for snp_prepareConstraints was to not mess with anything but solely generate the constraints.
Though install should probably turn off the flag I'll have to give that a think.
As for snp_makeConstraints for each constraint(s) you want to keep a reference to:
self.storedTopConstraint = make.top.equalTo(other).offset(50).constraint

The .constraint method finalises the 'make' chain and represents all constraints for that single chain. So if you did make.edges.equalTo(other).constraint the Constraint returned would actually represent four underlying NSLayoutConstraints.
As far as returning them in the constraint maker methods, I saw little value in getting an array who's order is hard to decipher and utilise so I never implemented it.

Thanks for the response.
My approach has been to set up the constraints as states of the UI and just swap them out (animated) as opposed to storing individual constraints.
Anyway it is working great for me, was just a heads up. Thanks for the lib!
titleLogoCollapsedConstraints = title.snp_prepareConstraints { make in
            make.centerX.equalTo(self)
            make.centerY.equalTo(self)
            make.width.lessThanOrEqualTo(self).multipliedBy(0.75)
        }
titleLogoExpandedConstraints = title.snp_prepareConstraints { make in
       make.left.equalTo(30)
       make.right.equalTo(self).offset(-10)
       make.centerY.equalTo(favLogo.snp_centerY)
}


Session Request Tool and groups not meeting

Description
on https://datatracker.ietf.org/secr/sreq/ a chair can Click "Group will not meet" button, which sends the email, but it does not appear on this page that had been done, and if one clicks the WG in question it does not show any sign that has been done.
very minor
Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

/secr/sreq is scheduled for reimplementation anyhow.


Warn when RequestHandler doesn't invoke response.onSubscribe()

Can we detect this after requestHandler.handle*() is called and print a warning or fail noisily and early? At least during development this should be the default.
production behaviour to be discussed.

Hmm, can we implement a wrapper around RequestHandler, or better: a mixin, that checks this assertion? It might seem like a trivial check, but it increases compiled code size and is not something we want in prod, I suppose.

it increases compiled code size

I'm struggling to see why this is a concern. I buy that it may not be a check we care about, but why is "compiled code size" a big deal here? And how much increase are we talking about?

My concern with the mixin approach is that it relies on a n00b user doing extra work to get warned about n00b errors.

Code size is the most important on mobile, I think. It won't be a big change for this particular class, as it's used in a few spots only. I don't know how big deal it would be for this class, but my wild guess is that logging is responsible for as much code in Channel{Responder,Requester} as actual functionality. Most importantly, it's easy to avoid.

My concern with the mixin approach is that it relies on a n00b user doing extra work to get warned about n00b errors.

Good point. Let's go with wrapper then, as we can wrap any handler provided by a user into it, without knowing runtime type.

Regarding logging, the entire RxJava library has no logging, so I'm quite alright with us avoiding what is generally just a waste of space.
We should support hooking in for insights when we want, but I don't like code littered with logging everywhere just because.

Code size is the most important on mobile

Agreed. If it's trivial though we shouldn't prevent correctness/safety guards.

We should support hooking in for insights when we want, but I don't like code littered with logging everywhere just because.

Mixin/wrapper-based approach provides nice separation between logic and logging. Look at the amount of debug logging we already have and compare it with the number of LOG(...) statements in the code. I'd say it's quite good ratio :)

I would suggest relaxing the original proposal to this:
after requestHandler.handle* is called we validate that
a) response.OnSubscribe was called
b) response.OnComplete/OnError was called
This will simplify writing the handler for the cases when the handler want's to terminate right away. The subscription object is unnecessary for sending terminating signal.

the most relaxed solution was implemented. onSubscribe doesn't have to be called immediately.
Closing the issue as the discussion is closed now.


lite-xl crashes on reload

Thank you for reporting this problem. I made a fix in the master branch and tests on Windows are now ok. I need to make some more tests and I will publish a new release to include the fix.

Fixed with the new release, please test.


Fix NPLController unit test failure

The newly added unit test (TestInitInvalidPod) was failing, for the
following reason:

first the Pod is patched to remove the invalid annotation
second the Pod is handled by the Controller for the first time (add /
update event handler) and the correct NPL annotation is generated,
which needs to be apply with another patch
but, because the local cache has not been updated yet to reflect the
result of the previous patch operation, the object used in the handler
still includes the invalid annotation. This leads to the "final" Pod
object having 2 annotations (correct + invalid) instead of only 1
(correct).

The test is not always failing, as sometimes the cache is updated fast
enough.
To avoid this issue we update the Controller logic:

patches are no longer applied during the initial reconciliation phase,
all patches are applied by handler calls
the handler logic is simplified: we compute the expected annotation,
compare it with the existing one, and decide if a patch is required

@monotosh-avi Although it shouldn't affect your existing agent restart cases, but can you please verify this from the POV of the e2e tests? Thanks.

@monotosh-avi Although it shouldn't affect your existing agent restart cases, but can you please verify this from the POV of the e2e tests? Thanks.

@hemantavi Looks good to me.

/test-all

/test-all

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@b8619ec). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1859   +/-   ##
=======================================
  Coverage        ?   60.61%
=======================================
  Files           ?      197
  Lines           ?    17072
  Branches        ?        0
=======================================
  Hits            ?    10349
  Misses          ?     5632
  Partials        ?     1091

Flag
Coverage Δ

kind-e2e-tests
50.32% <0.00%> (?)

unit-tests
41.38% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.


Disable Check Boxes on confirmation scren

Please provide a summary of the feature
Currently checkbox on the confirmation screen look clickable. This is an accessibility concern. Please make the checkboxes disabled.

Are there any potential issues you foresee with this feature
Is this feature related to any current or past issues? Please provide the
Additional context
Add any other context or screenshots about the feature request here.
Which Branch should this fix be Pulled into?
PR into development
If you're interested in working on this feature, please comment so you can be assigned

I would like to work on this issue.

Assigned!


aggregate log to template by using drain3 and give the template advice from chatgpt

Add drain3 algorithm to aggregate log
Add chatgpt to get solution

Close #159


Update React to 0.14.2 and Switch Reactify to Babelify

I've updated React to 0.14.2, and removed the deprecated getDOMNode method in favour of the new findDOMNode from ReactDOM. I also switched out Reactify for Babelify, as it seems as if reactify is no longer maintained.
It's probably a good idea to change the major version number also, seeing as React 0.14.2 might cause some breakages.
Thanks in advance!

Excellent thanks! Should we simply state the presets in a browserify.transform field rather than adding an extra file?

Good idea. I had no idea you could specify options for the transfomer in the package.json. I'll make that change now.

@tominated if we did not use browserify the .babelrc or using babel-cli option flags would be our only solutions. At least with the package.json transform field we maintain the transform chainability :-)


pod install fails due to glog

Description
This is not working in react native version 0.69. I have already tried different ways which were provided in old issue for version 0.60.0. It is not helpful at all.
React Native Version
0.69.10
Output of npx react-native info
System:
OS: macOS 12.4
CPU: (8) x64 Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
Memory: 505.71 MB / 16.00 GB
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 18.17.1 - /usr/local/bin/node
Yarn: Not Found
npm: 9.6.7 - /usr/local/bin/npm
Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
Managers:
CocoaPods: 1.12.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
Android SDK: Not Found
IDEs:
Android Studio: 2022.1 AI-221.6008.13.2211.9514443
Xcode: 13.2/13C90 - /usr/bin/xcodebuild
Languages:
Java: 19.0.2 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 18.2.0 => 18.2.0
react-native: 0.69.10 => 0.69.10
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce
When try to install pod then below error occurred
[!] /bin/bash -c
set -e
#!/bin/bash
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

set -e

PLATFORM_NAME="${PLATFORM_NAME:-iphoneos}"
CURRENT_ARCH="${CURRENT_ARCH}"

if [ -z "$CURRENT_ARCH" ] || [ "$CURRENT_ARCH" == "undefined_arch" ]; then
  # Xcode 10 beta sets CURRENT_ARCH to "undefined_arch", this leads to incorrect linker arg.
  # it's better to rely on platform name as fallback because architecture differs between simulator and device

  if [[ "$PLATFORM_NAME" == *"simulator"* ]]; then
    CURRENT_ARCH="x86_64"
  else
    CURRENT_ARCH="arm64"
  fi
fi

if [ "$CURRENT_ARCH" == "arm64" ]; then
  cat <<\EOF >>fix_glog_0.3.5_apple_silicon.patch
diff --git a/config.sub b/config.sub
index 1761d8b..43fa2e8 100755
--- a/config.sub
+++ b/config.sub
@@ -1096,6 +1096,9 @@ case $basic_machine in
 		basic_machine=z8k-unknown
 		os=-sim
 		;;
+	arm64-*)
+		basic_machine=$(echo $basic_machine | sed 's/arm64/aarch64/')
+		;;
 	none)
 		basic_machine=none-none
 		os=-none
EOF

  patch -p1 config.sub fix_glog_0.3.5_apple_silicon.patch
fi

export CC="$(xcrun -find -sdk $PLATFORM_NAME cc) -arch $CURRENT_ARCH -isysroot $(xcrun -sdk $PLATFORM_NAME --show-sdk-path)"
export CXX="$CC"

# Remove automake symlink if it exists
if [ -h "test-driver" ]; then
  rm test-driver
fi

# Manually disable gflags include to fix issue https://github.com/facebook/react-native/issues/28446
sed -i '' 's/\@ac_cv_have_libgflags\@/0/' src/glog/logging.h.in
sed -i '' 's/HAVE_LIB_GFLAGS/HAVE_LIB_GFLAGS_DISABLED/' src/config.h.in

./configure --host arm-apple-darwin

cat << EOF >> src/config.h
/* Add in so we have Apple Target Conditionals */
#ifdef __APPLE__
#include <TargetConditionals.h>
#include <Availability.h>
#endif

/* Special configuration for ucontext */
#undef HAVE_UCONTEXT_H
#undef PC_FROM_UCONTEXT
#if defined(__x86_64__)
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__rip
#elif defined(__i386__)
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__eip
#endif
EOF

# Prepare exported header include
EXPORTED_INCLUDE_DIR="exported/glog"
mkdir -p exported/glog
cp -f src/glog/log_severity.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/raw_logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/stl_logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/vlog_is_on.h "$EXPORTED_INCLUDE_DIR/"

patching file config.sub
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-apple-darwin-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for arm-apple-darwin-gcc... /Applications/Xcode 13.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -arch arm64 -isysroot /Applications/Xcode 13.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.2.sdk
checking whether the C compiler works... no
/Users/imac/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-3d02b/missing: Unknown `--is-lightweight' option
Try `/Users/imac/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-3d02b/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
configure: error: in `/Users/imac/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-3d02b':
configure: error: C compiler cannot create executables
See `config.log' for more details
``
### Snack, code example, screenshot, or link to a repository

https://github.com/jitsi/jitsi-meet/tree/stable/jitsi-meet_7577

Duplicates https://github.com/facebook/react-native/issues/34189


Improve end-user interface

In this iteration, I have enhanced the user experience and resolved issues with the WebApp's communication with the API. As a result, the UI now successfully receives and displays results.


Use Git submodules rather than GH deps in Cargo

The diff crate is on crates.io: https://crates.io/crates/diff

Cool, I think that means I should publish strings.rs and we can just use crates.io deps.


Don't force resuming continuation on same thread

I assume these calls works fine even though resuming on a different thread. If not, a comment should be added instead. At least all tests are still green locally.

Ping @cskardon. I suspect the missing ConfigureAwait(false) in ExecuteCypherAsync is escpecially problematic for us.

Ping @cskardon. I suspect the missing ConfigureAwait(false) in ExecuteCypherAsync is escpecially problematic for us.

Hey @simendsjo Thanks for the ping - I missed this somehow - apologies.
Looks all fine to me, so I'll get this in now,

Hey @simendsjo Thanks for the ping - I missed this somehow - apologies.
Looks all fine to me, so I'll get this in now,


Query running slowly - only on one core

My first tests with arangodb :)
My Environment

ArangoDB Version:        3.4.5

Storage Engine:             RocksDB

Deployment Mode:       Single Server

Deployment Strategy:   ArangoDB Starter

Operating System:        Ubuntu 18.04

Total RAM in your machine:        256Gb

Disks in use:        1xSSD + 1HDD.

Used Package:              Ubuntu library

AQL query (if applicable):
<IP_ADDRESS>:8529@_system> db._query('FOR airport IN 2..2 OUTBOUND 'airports/LAX' flights RETURN DISTINCT airport.name').toArray()
Problem:
Running this query (airports reachable via 2 hops to LAX) I have to wait about 2-3 minutes for the result. However, only 2-3% of CPU and memory each is used while the query runs. So I assume only 1 of the 20 cores is active. Want to have it executed using all cores. How can I do it? Is there a parameter I need to add when starting arangod or/and when starting arangosh?
Expected result:
Much faster result
Thank you!

Is there a better place where to ask beginner questions?
Appreciate any hint ... Thanks!

Hi @gitman23
Thanks for using ArangoDB, in order to start analyzing can you please provide the execution plan and the profile output of that query ?
Best,

Hi @gitman23
Closing this issue for now since we have not heard back from you in a while.
In case the problem persists, please respond to the latest comments and we will reopen.


Allow no-passphrase private keys

Describe the bug
The Snowflake connector (at least) requires a passphrase in the profile file to open a private key connection.
Steps To Reproduce
Create a dbt target like the following:
    qa:
      type: snowflake
      account: my_account
      user: my_user
      role: ANALYST

      # Keypair config
      private_key_path: "path/to/my/no/passphrase/key"
      private_key_passphrase: None

      database: DB
      warehouse: WH
      schema: PUBLIC
      threads: 1
      client_session_keep_alive: False

Attempt to run against said DBT target. DBT will fail because no passphrase is provided. If, instead, a passphrase is provided, the connection will fail because the key is not encrypted.
Expected behavior
Perhaps a warning in output that unencrypted keys are not the norm, requiring additional setting of override field in profile. If that's set, go ahead with the unencrypted key.
System information
Which database are you using dbt with?

[ ] postgres
[ ] redshift
[ ] bigquery
[ x] snowflake
[ ] other (specify: ____________)

The output of dbt --version:
0.14.2

The operating system you're using:
OSX
The output of python --version:
Python 3.7.3

I know how to just make it work within the Snowflake connection, but don't know how to do more involved things like requiring a flag in the project or profile file.

Thanks for the suggestion @kmbenitez! The operative code for private key Snowflake connections is around here:
https://github.com/fishtown-analytics/dbt/blob/31e085b7df015eac92faee4912fa481d1085c4b9/plugins/snowflake/dbt/adapters/snowflake/connections.py#L53-L65
If you have an unencrypted .pem file, would we skip the serialization.load_pem_private_key step and instead just supply raw bytes from the .pem file to p_key.private_bytes()?
If that's the case, I think we can remove the guard  or self.private_key_passphrase is None and instead do something like:
if  self.private_key_passphrase is None:
  logger.warn("The specified private key is not encrypted; this is not recommended")
  p_key = ... code to get raw bytes from the file....
else:
  p_key = serialization.load_pem_private_key( ... )

I don't think we'd need extra flags in the project or profile file in this case.


Incomplete list of repositories for gitea (was #103)

Dear @pd4d10, sorry, I don't know how to re-open issue (#103).

git-touch only fetches the first page (default = 30 repositores) from gitea, see https://try.gitea.io/api/swagger#/user/userCurrentListRepos , how can I access repositories on page 2 etc.?
for gitea, the number of repositories is only marked with ?
 -- with github, it works fine

OK. I'll check it.
The '?' is becuase Gitea has no API to get these counts. It is too expensive to traverse all results and only for getting the length.

Oh, it seems the list API has a x-total-count response header. Probably we could improve it by request only 1 result for getting the length.

git-touch only fetches the first page

After some digging it seems the Gitea API has deprecated x-page and x-hasmore, replaced with x-total-count. But the x-total-count header is still missing in some API, such as https://gitea.com/api/swagger#/user/userListStarred


Add Android Apps: COVID-19 Daily Report Viewer

Repo: https://github.com/bluebillxp/android-covid19-reportviewer
The COVID-19 daily report viewer on Android presents info from CSSE@JHU open-sourced data repo.

@bluebillxp Please place your open source project under Open Source Projects/Applications and Bots

Thanks, I will create another PR


Fixed #27914 -- Used qualified name to extract model field path.

Ticket: https://code.djangoproject.com/ticket/27914

@ChillarAnand, do you know what the next steps are here?

@timgraham No. If you or @charettes tell me next steps, I can try.

@ChillarAnand sorry about the confusion here. What I meant is that we should audit all deconstruct() patterns that use __class__.__name__ to pass __class__.__qualname__ instead.

Fixed it. Thanks for the help @charettes @timgraham.

Do those changes need testing? If not, maybe split this into two commits -- one with the change that is tested and one with the other changes?

Splitted into two commits and added a test case.

What I meant is that in the first commit there are more than 10 qualname changes but most can be reverted without any test failures.

My bad. I thought you are talking about this. Restructured commits.


invalid session id

Hi,
After a few hours of issuing an access token I get a invalid session id response back from Salesforce. to I need to refresh the token manually?
In my opinion and looking at the code it should refresh automatically, right?

Is the refresh token definitely available in your database or in the constructor?

problem was with the instance url returned by SFDC. it also had https:// in it and I see that in the code also add https://. so I removed 1 and now it seems to work properly.

Bulk Job gives me the same erorr. (invalidSessionId)


SpriteFrames menu aggressively closing after dragging in images or other actions

Godot version
4.0.3.stable
System information
Windows 11 -  Godot 4.0.3 Stable
Issue description
When trying to add images to the Sprite Frames, the whole menu will close as soon as you drag and drop them inside the frame box. This is heavily frustrating for users who want to mass-dump items into this menu.
https://github.com/godotengine/godot/assets/68198648/7f4fab00-4532-4a75-9184-1095055270bd
Steps to reproduce

Open project and import images into project folder
Make AnimatedSprite2D Node
Create new SpriteFrames Animation with 2 or more Animations
Drag and drop 1 or more images into one of the animations
Feel my pain (window closes)

Minimal reproduction project
N/a

Those actions cause the Inspector to update the tree. You can select SpriteFrames to expand the child inspector to avoid auto-hiding of the SpriteFrames editor.


Fixing the necessary fixes for veracode and fortify issues.

Pull request to 4.4.x

Resolved by 422 and 424.
https://github.com/wso2/carbon4-kernel/pull/422
https://github.com/wso2/carbon4-kernel/pull/424


Istio download and install fails using curl

Describe the bug
A clear and concise description of what the bug is.
Download and install of Istio using short URL fails:
$ curl -L https://git.io/getLatestIstio | sh -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  1448  100  1448    0     0   2771      0 --:--:-- --:--:-- --:--:--  2771
Downloading istio- from https://github.com/istio/istio/releases/download//istio--osx.tar.gz ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100     9    0     9    0     0     33      0 --:--:-- --:--:-- --:--:--    33
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
Downloaded into istio-:
ls: istio-: No such file or directory
sh: line 36: cd: istio-/bin: No such file or directory
Add /Users/argu/tools to your path; e.g copy paste in your shell and/or ~/.profile:
export PATH="$PATH:/Users/argu/tools"

Expected behavior
A clear and concise description of what you expected to happen.
This works:
curl -L https://github.com/istio/istio/releases/download/0.8.0/istio-0.8.0-osx.tar.gz | tar xzvf -

Steps to reproduce the bug
Steps to reproduce the behavior.
Just give the command on OSX:
curl -L https://git.io/getLatestIstio | sh -

Version
What version of istio and Kubernetes are you using? Use istioctl version and kubectl version
Is Istio Auth enabled or not?
Did you install the stable istio.yaml, istio-auth.yaml.... or if using the Helm chart please provide full command line input.
Environment
Which environment, cloud vendor, OS, etc are you using?
macOS 10.12.16

The actual reference to the link is in the docs here, but the issue is the git.io link itself. However, I just tested and the link actually works  for me. The resource was probably temporarily unavailable and the response was the error instead of a valid archive.

If you open the link
https://git.io/getLatestIstio
You can see the script that gets triggered. This happened to me yesterday as well, the problem is a rate limit on this curl request to github's API:
curl -L -s https://api.github.com/repos/istio/istio/releases/latest

If it hits the max limit (which I'm not sure if it's project related or if it has something to do with my own acconut), the script doesn't fetch the latest version of istio properly and that happens. Same thing happened to me yesterday.

If you are behind a company NAT then probably Github API triggered a limitation due to frequent incoming hits coming from the company's network. This is a temporal limitation though.
The Github API is being accessed to fetch the latest Istio version. I wonder if, as part of the release process, we should inject the version into this script to avoid accessing the Github API just for this purpose.
cc @hklai

Yes, since we have pretty much standardized our release branching process, we can update the doc (also versioned by releases) and use
https://raw.githubusercontent.com/istio/istio//release/downloadIstioCandidate.sh
and hardwire the version in the script in the corresponding release branch.

The script has been updated to output a message with a workaround if this happens.
Unable to get latest Istio version. Set ISTIO_VERSION env var and re-run. (export ISTIO_VERSION=1.0.4)

@rvennam The default download is still failing:

Is this not a problem for all macOS users?

@arun-gupta This isn't a problem for all users. As someone pointed out earlier, I suspect its a github rate limiting issue from your network
Take a look at the sh script : https://github.com/istio/istio/blob/master/release/downloadIstioCandidate.sh#L25
It tries to get the ISTIO_VERSION by curling https://api.github.com/repos/istio/istio/releases/latest
I suspect this curl call is failing for your network. Can you try this in your terminal?
curl https://api.github.com/repos/istio/istio/releases/latest

You should see large json output.

Hey guys,
I can't download the Istio (1.0.5) last version. I have the same problem... Download doesn't start!!!

You can see all release by https://github.com/istio/istio/releases.
And download the special version us command below.
curl -LO https://github.com/istio/istio/releases/download/1.2.5/istio-1.2.5-linux.tar.gz


Snap to a Handle

I don't find the snap mechanics very comfortable, in case there are many objects that have a handle i want to snap to.
I would prefer if there could be a Handle child Gameobject.
The snap mechanics should use the handles position and Orientation, instead of the public field currently used.
The handle could be optional, or whatever. but i don't want to manually have to set angles and positions. And well if so, then at least i would like to have some gizmos drawn.

I implemented this already in my local version, if nobody else proposes a solution, I'll make a pull request when I get home tonight.

If you do implement this then make it an optional extra. Don't replace the public rotation and position fields in case people are using them.
I'm not around till Tuesday to review any pull requests, but feel free to make one :)

My current implementation does not change the way it currently works if not utilised, so it shouldn't cause any conflicts with the existing system. I'll run over it and double check everything tonight though, ta.

Do you have a parameter on the script that you drag the empty game object in to? I'm guessing it only supports child on controller too?

Yeah, you drop a transform in, and when you grab the object the attachment point + rotation of the object you have grabbed is that of the transform. Afaik I also implemented an additional VRTK_InteractableObject.GrabSnapType to avoid this functionality interacting with other GrabSnapTypes, but it was quick solution so it probably needs a bit of extra thought & tidying.

Just submitted a pull request with my changes. It's not a huge update, and it's pretty straightforward. Seems to work just fine with both Child of controller and Fixed joint. The way it works is you add a gameobject as a child to the VRTK_InteractableObject, and then drag that into the Snap Handle slot. When you grab the object, the grab point will then be that transform's position. Any rotation applied to this transform will cause the object to rotate around it.

Completed with commit d5a5585397073968347a68f9e64fd78b4987e808
Thanks to @drifio :heart: :green_heart: :yellow_heart: :blue_heart:

yay, thanks a lot :)

Yes thank you, would love to see a little example for it.

Ok no worries, I'll update one of the existing scenes to demo it.

Thank you very much, you are doing an amazing job!
I also would love to have a place (forum?) to talk with you more freely about the Toolkit and maybe with other developers to share ideas, suggest new features and help each other.

@RoccoGD There was talk of a slack channel. I'm happy to set one up if people are interested?

Ok quick slack channel for those who are interested:
https://steamvr-unity-toolkit.slack.com
I'll update the readme to publicise it too.

This commit updates an example scene:
c1023618ac1d7f88759638b8352179717f68c53e

Hey mate,
Sorry for the potential stupid question but I'd love to join the slack community however it seems that you need to invite people in order for them to join.
Would you invite me?
Thank you so much for your effort
Von meinem iPhone gesendet

Am 06.06.2016 um 18:53 schrieb StoneFox<EMAIL_ADDRESS>Ok quick slack channel for those who are interested:
https://steamvr-unity-toolkit.slack.com
I'll update the readme to publicise it too.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I wonder if slack isn't the best thing if I have to keep inviting people. Maybe an IRC channel would be better?

You can change it so that people signup via email, then you just need to
publish the group details on something like http://www.slacklist.info/
Allowing email signup
If email signup is enabled for your team, new members will be able to
create an account on their own. Team Owners can manage this option under Team
Sign Up Mode on the Team Settings https://my.slack.com/admin/settings
page.
On 6 June 2016 at 20:52, StoneFox<EMAIL_ADDRESS>wrote:

I wonder if slack isn't the best thing if I have to keep inviting people.
Maybe an IRC channel would be better?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/thestonefox/SteamVR_Unity_Toolkit/issues/127#issuecomment-224068447,
or mute the thread
https://github.com/notifications/unsubscribe/AFeXyHBDGK2wvfnoXY7tQUpBaQRq5pSSks5qJHpzgaJpZM4Ita4v
.

@teatime I'm only getting two options on Team Options:

Invite Only
Any email addresses from these domains

Meaning I have to provide a list of domains that accepted emails come from.
I wonder if email sign up is a paid for thing?

I'll take a look at https://github.com/rauchg/slackin in the morning.

Umm ... i dont know if this is up to date but ... how about using gitter?
https://gitter.im/

We're set up and using slack pretty regularly now. Click the slack button on the README to sign up :)


chore(hardware-testing): Hardware testing project

Overview
Generalize project to not just be about gravimetric tests.
Making hardware_testing the root of the project.
Changelog
No code changes. Just shuffling files around.
Review requests
Risk assessment
None

Looks good to me. Are we still planning to pull out the drivers to a third party directory at some point, or are we pushing that off for this project?

We can do that in the future. At the moment I just wanted to make this package more general purpose.


[Bug]: Type mismatch in OpenAI example notebook

Contact Details
<EMAIL_ADDRESS>📦 Package Version
0.3.19
🎞 Framework Version
No response
🔎 Describe the Bug
examples/openai-gpt.ipynb
There's a type mismatch in the last cell. ActionEvent input params should be a dict but is being sent a str.

🤝 Contribution

[ ] Yes, I'd be happy to submit a pull request with these changes.
[ ] I need some guidance on how to contribute.
[X] I'd prefer the AgentOps team to handle this update.

Fix merged to main so closing this.


fix: correct type signature for BaseCollector.collect

This is needed by python library because collect() needs to pass that argument to a method that declares it as MutableMapping.

@ssbarnea should I wait for you to mark this PR as ready for review?

@pawamoy No need to wait, if you find the draft PR as good enough, feel free to convert it and merge. Thanks for the ping, I forgot, too many changes in too many repos....


Module 1 Stage Variables Missing

Missing from nih-nci-dceg-connect-stg-5519.FlatConnect.module1_v2_JP:
D_750420077_D_582784267
D_750420077_D_751402477
D_750420077_D_700100953

Thanks, Kelsey! I've added these variables to all three environments.
"D_750420077": [
582784267,
751402477,
700100953,
846483618,
505282171,
578416151
]

Great thanks!!

Ahh.. Thanks for letting me know that they aren't showing up. Looks like I added them for the wrong module! I'll fix it.. and confirm..

Ok. I think I fixed this issue. Let me know how it looks tomorrow :)

Yup! They're in there and populating data


Felix clears XDP programs it doesn't own

I'm using XDP for modify packet payload directly on datapath.
But also Calico use XDP for failsafe ports and CIDR map.
When each Calico's XDP resync period, my XDP program has been wiped out, our system is not working properly.
Context
Felix wipe out attached XDP program on each XDP resync period.
Can I shutdown XDP functionalities in Calico?
Your Environment
I'm using Kubernetes from Kubespray.
Calico version is v3.15.2
Problematic Code
Here is code sinppet from Felix.
https://github.com/projectcalico/felix/blob/bbbd53863935730011636e6fa9652def9dc48586/dataplane/linux/int_dataplane.go#L449-L476
xdpState is initialize, XDP program has been wiped out.
https://github.com/projectcalico/felix/blob/bbbd53863935730011636e6fa9652def9dc48586/dataplane/linux/int_dataplane.go#L1569-L1595
Again, on resync.

Any updates on this?
As it seems like the previous PR attempt by @sjh5205 has become stale, I would love to take this over and create a new PR directly in Calico (the Felix fork that was used is deprecated as Felix was moved to Calico itself).


Adjust parquet ArrowEngine to allow more easy subclass for writing

Similar as @mariusvniekerk's PR https://github.com/dask/dask/pull/6211/, but now also adding an overridable method for the "pandas->arrow" conversion in the write path.
cc @rjzamora I don't think this should have any impact on other subclasses?
Context: https://github.com/jsignell/dask-geopandas/pull/13

cc @jsignell

Ok I am planning on merging this unless anyone has worries.

This is ready to be merged, I think?

Sorry I never hit the button @jorisvandenbossche!

No problem, thanks for merging!