Ocall for set_user_shielding_key

resolves #22
It's not fully tested though, as it's blocked by the mismatching versions parachain-node <> tee-worker, see also https://github.com/litentry/litentry-parachain/issues/838
Edit:
CI won't pass as tee-dev branch is not yet updated. I will update Cargo.lock when https://github.com/litentry/litentry-parachain/issues/838 is resolved.

LGTM
but some builds failed

Edit:
CI won't pass as tee-dev branch is not yet updated. I will update Cargo.lock when litentry/litentry-parachain#838 is resolved.

Yes, as written in the PR description:
Edit:
CI won't pass as tee-dev branch is not yet updated. I will update Cargo.lock when https://github.com/litentry/litentry-parachain/issues/838 is resolved

Oh just realised it's due to the fact that tests in IMT failed.
My bad, will create a PR to fix this very soon


UMA Token Introspection fails

After obtaining the RPT with the fix done for https://github.com/wso2/product-is/issues/7634, I have tried to make a token introspection request as instructed at
https://is.docs.wso2.com/en/next/learn/user-managed-access-with-wso2-identity-server/#get-the-token-introspection
It fails with the status code: 401 (Unauthorized)

I'm working on this

Token introspection is done via oauth2/introspect endpoint and its scope is defined as "internal_application_mgt_view". However, the PAT is obtained at https://is.docs.wso2.com/en/next/learn/user-managed-access-with-wso2-identity-server/#obtain-the-protection-api-access-token-pat using uma_protection scope. According to the UMA spec, 'uma_protection' scope is required to obtain a permission ticket.
Status code: 401 (Unauthorized) can be eliminated at
https://is.docs.wso2.com/en/next/learn/user-managed-access-with-wso2-identity-server/#get-the-token-introspection step, by obtaining PAT with "internal_application_mgt_view" scope.
Therefore, this should be changed as
curl -u <CLIENT_ID>:<CLIENT_SECRET> -k -d "grant_type=password&username=kate&password=kate123&scope=uma_protection internal_application_mgt_view" -H "Content-Type:application/x-www-form-urlencoded" https://localhost:9443/oauth2/token

Can we please update the doc with the findings


Directory structure prevents importing MalformedArn exceptioin

Because the module arnparse shadows the package name + the module is imported in the init, it's not possible to import the MalformedArnError.
I want to do this but can't at the moment:
from arnparse import arnparse, MalformedArnException

...

try:
	arn = arnparse(<bad arn str>)
except MalformedArnException as e:
	print(e.arn_str)

Nor is this possible:
import arnparse

...

try:
	arn = arnparse.arnparse.arnparse(<bad arn str>)
except arnparse.arnparse.MalformedArnException as e:
	print(e.arn_str)

Ideas? Like the lib and like the tests to outsource tricky string parsing stuff.

I think this should work....
from arnparse.arnparse import MalformedArnError


SPARKC-496: Fix Shuffling of a Set in Local Node FirstPolicy

Shuffling a set doesn't actually do anything so this would end up giving
the rest of the hosts in order regardless of the shuffle.
Problem found and fix written by Loki Coyote @lokkju on Github

Build against Scala 2.10 finished with success

Build against Scala 2.11 finished with success


Added method new_blockquote

Description of new pull request
Files Added -  1
Issue No.- #6
Checklist(self check):

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code

Hope this fixes the issue.

Flake8 issues fixed!

Issue #6  fixed by @parthpandyappp . Thanks!


Make OT binding support explicit timestamps.

What does this pull request do?
OpenTracing API allows to explicitly set start and end timestamps of spans but the implementation in this project does not allow that. That patch fixes it.
Closes #1126

:broken_heart: Build Failed

Expand to view the summary

Build stats

Build Cause: [Pull request #824 opened]

Start Time: 2020-05-08T20:25:53.724+0000

Duration: 5 min 40 sec (279673)

Commit: fc0541b9808753c1bcd039136b43e2eeda3c2870

Steps errors
Expand to view the steps failures

Name: Check out from version control

Description: [2020-05-08T20:29:34.999Z] using credential f6c7695a-671e-4f4f-a331-acdce44ff9ba
[2020-05-08T20:29:

Result: FAILURE

Duration: 0 min 5 sec

Start Time: 2020-05-08T20:29:32.010+0000

log

Name: Check out from version control

Description: [2020-05-08T20:29:57.473Z] using credential f6c7695a-671e-4f4f-a331-acdce44ff9ba
[2020-05-08T20:29:

Result: FAILURE

Duration: 0 min 2 sec

Start Time: 2020-05-08T20:29:57.449+0000

log

Name: Check out from version control

Description: [2020-05-08T20:30:29.508Z] using credential f6c7695a-671e-4f4f-a331-acdce44ff9ba
[2020-05-08T20:30:

Result: FAILURE

Duration: 0 min 2 sec

Start Time: 2020-05-08T20:30:29.481+0000

log

Log output
Expand to view the last 100 lines of log output

[2020-05-08T20:29:57.511Z] Using shallow clone with depth 3
[2020-05-08T20:29:57.511Z] Avoid fetching tags
[2020-05-08T20:29:57.518Z] Cloning repository git@github.com:elastic/apm-agent-python.git
[2020-05-08T20:29:57.518Z]  > git init /var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-824 # timeout=10
[2020-05-08T20:29:57.528Z] Fetching upstream changes from git@github.com:elastic/apm-agent-python.git
[2020-05-08T20:29:57.528Z]  > git --version # timeout=10
[2020-05-08T20:29:57.533Z] using GIT_SSH to set credentials GitHub user @elasticmachine SSH key
[2020-05-08T20:29:57.536Z]  > git fetch --no-tags --progress -- git@github.com:elastic/apm-agent-python.git +refs/heads/*:refs/remotes/origin/* # timeout=15
[2020-05-08T20:29:58.695Z] Cleaning workspace
[2020-05-08T20:29:58.725Z] Using shallow fetch with depth 3
[2020-05-08T20:29:58.725Z] Pruning obsolete local branches
[2020-05-08T20:29:59.376Z] Merging remotes/origin/master commit 8adf4e25573539e5a15ff67b88f30de219d180fc into PR head commit fc0541b9808753c1bcd039136b43e2eeda3c2870
[2020-05-08T20:29:59.413Z] ERROR: Execution failed
[2020-05-08T20:29:59.413Z] hudson.plugins.git.GitException: Command "git checkout -f fc0541b9808753c1bcd039136b43e2eeda3c2870" returned status code 128:
[2020-05-08T20:29:59.413Z] stdout:
[2020-05-08T20:29:59.413Z] stderr: fatal: reference is not a tree: fc0541b9808753c1bcd039136b43e2eeda3c2870
[2020-05-08T20:29:59.413Z]
[2020-05-08T20:29:59.413Z] 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2430)
[2020-05-08T20:29:59.413Z] 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$1100(CliGitAPIImpl.java:81)
[2020-05-08T20:29:59.413Z] 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:2743)
[2020-05-08T20:29:59.413Z] Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from apm-ci-immutable-ubuntu-1804-1588969568215090950.c.elastic-ci-prod.internal/<IP_ADDRESS>:60048
[2020-05-08T20:29:59.413Z] 		at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1788)
[2020-05-08T20:29:59.413Z] 		at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
[2020-05-08T20:29:59.413Z] 		at hudson.remoting.Channel.call(Channel.java:998)
[2020-05-08T20:29:59.413Z] 		at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)
[2020-05-08T20:29:59.413Z] 		at sun.reflect.GeneratedMethodAccessor1004.invoke(Unknown Source)
[2020-05-08T20:29:59.413Z] 		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2020-05-08T20:29:59.413Z] 		at java.lang.reflect.Method.invoke(Method.java:498)
[2020-05-08T20:29:59.413Z] 		at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132)
[2020-05-08T20:29:59.413Z] 		at com.sun.proxy.$Proxy105.execute(Unknown Source)
[2020-05-08T20:29:59.413Z] 		at jenkins.plugins.git.MergeWithGitSCMExtension.checkout(MergeWithGitSCMExtension.java:144)
[2020-05-08T20:29:59.413Z] 		at jenkins.plugins.git.MergeWithGitSCMExtension.decorateRevisionToBuild(MergeWithGitSCMExtension.java:110)
[2020-05-08T20:29:59.413Z] 		at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:1063)
[2020-05-08T20:29:59.413Z] 		at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1168)
[2020-05-08T20:29:59.413Z] 		at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:124)
[2020-05-08T20:29:59.413Z] 		at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:93)
[2020-05-08T20:29:59.413Z] 		at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:80)
[2020-05-08T20:29:59.413Z] 		at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
[2020-05-08T20:29:59.413Z] 		at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[2020-05-08T20:29:59.413Z] 		at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[2020-05-08T20:29:59.413Z] 		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[2020-05-08T20:29:59.413Z] 		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[2020-05-08T20:29:59.413Z] Caused: hudson.plugins.git.GitException: Could not checkout fc0541b9808753c1bcd039136b43e2eeda3c2870
[2020-05-08T20:29:59.413Z] 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:2767)
[2020-05-08T20:29:59.413Z] 	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$GitCommandMasterToSlaveCallable.call(RemoteGitImpl.java:161)
[2020-05-08T20:29:59.413Z] 	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$GitCommandMasterToSlaveCallable.call(RemoteGitImpl.java:154)
[2020-05-08T20:29:59.413Z] 	at hudson.remoting.UserRequest.perform(UserRequest.java:212)
[2020-05-08T20:29:59.413Z] 	at hudson.remoting.UserRequest.perform(UserRequest.java:54)
[2020-05-08T20:29:59.413Z] 	at hudson.remoting.Request$2.run(Request.java:369)
[2020-05-08T20:29:59.413Z] 	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
[2020-05-08T20:29:59.413Z] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[2020-05-08T20:29:59.413Z] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[2020-05-08T20:29:59.413Z] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[2020-05-08T20:29:59.413Z] 	at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
[2020-05-08T20:29:59.413Z] 	at java.lang.Thread.run(Thread.java:748)
[2020-05-08T20:29:59.413Z] Retrying
[2020-05-08T20:29:59.462Z] Sleeping for 30 sec
[2020-05-08T20:29:58.674Z]  > git config remote.origin.url git@github.com:elastic/apm-agent-python.git # timeout=10
[2020-05-08T20:29:58.683Z]  > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
[2020-05-08T20:29:58.691Z]  > git config remote.origin.url git@github.com:elastic/apm-agent-python.git # timeout=10
[2020-05-08T20:29:58.699Z]  > git rev-parse --verify HEAD # timeout=10
[2020-05-08T20:29:58.707Z] No valid HEAD. Skipping the resetting
[2020-05-08T20:29:58.708Z]  > git clean -fdx # timeout=10
[2020-05-08T20:29:58.729Z] Fetching upstream changes from git@github.com:elastic/apm-agent-python.git
[2020-05-08T20:29:58.729Z] using GIT_SSH to set credentials GitHub user @elasticmachine SSH key
[2020-05-08T20:29:58.734Z]  > git fetch --no-tags --progress --prune -- git@github.com:elastic/apm-agent-python.git +refs/pull/824/head:refs/remotes/origin/PR-824 +refs/heads/master:refs/remotes/origin/master # timeout=15
[2020-05-08T20:29:59.380Z]  > git config core.sparsecheckout # timeout=10
[2020-05-08T20:29:59.384Z]  > git checkout -f fc0541b9808753c1bcd039136b43e2eeda3c2870 # timeout=15
[2020-05-08T20:30:29.508Z] using credential f6c7695a-671e-4f4f-a331-acdce44ff9ba
[2020-05-08T20:30:29.525Z] Wiping out workspace first.
[2020-05-08T20:30:29.546Z] Cloning the remote Git repository
[2020-05-08T20:30:29.546Z] Using shallow clone with depth 3
[2020-05-08T20:30:29.546Z] Avoid fetching tags
[2020-05-08T20:30:29.553Z] Cloning repository git@github.com:elastic/apm-agent-python.git
[2020-05-08T20:30:29.554Z]  > git init /var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-824 # timeout=10
[2020-05-08T20:30:29.564Z] Fetching upstream changes from git@github.com:elastic/apm-agent-python.git
[2020-05-08T20:30:29.564Z]  > git --version # timeout=10
[2020-05-08T20:30:29.577Z] using GIT_SSH to set credentials GitHub user @elasticmachine SSH key
[2020-05-08T20:30:29.581Z]  > git fetch --no-tags --progress -- git@github.com:elastic/apm-agent-python.git +refs/heads/*:refs/remotes/origin/* # timeout=15
[2020-05-08T20:30:30.816Z] Cleaning workspace
[2020-05-08T20:30:30.833Z] Using shallow fetch with depth 3
[2020-05-08T20:30:30.833Z] Pruning obsolete local branches
[2020-05-08T20:30:30.796Z]  > git config remote.origin.url git@github.com:elastic/apm-agent-python.git # timeout=10
[2020-05-08T20:30:30.799Z]  > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
[2020-05-08T20:30:30.808Z]  > git config remote.origin.url git@github.com:elastic/apm-agent-python.git # timeout=10
[2020-05-08T20:30:30.820Z]  > git rev-parse --verify HEAD # timeout=10
[2020-05-08T20:30:30.823Z] No valid HEAD. Skipping the resetting
[2020-05-08T20:30:30.823Z]  > git clean -fdx # timeout=10
[2020-05-08T20:30:30.836Z] Fetching upstream changes from git@github.com:elastic/apm-agent-python.git
[2020-05-08T20:30:30.836Z] using GIT_SSH to set credentials GitHub user @elasticmachine SSH key
[2020-05-08T20:30:30.844Z]  > git fetch --no-tags --progress --prune -- git@github.com:elastic/apm-agent-python.git +refs/pull/824/head:refs/remotes/origin/PR-824 +refs/heads/master:refs/remotes/origin/master # timeout=15
[2020-05-08T20:30:31.571Z] Merging remotes/origin/master commit 8adf4e25573539e5a15ff67b88f30de219d180fc into PR head commit fc0541b9808753c1bcd039136b43e2eeda3c2870
[2020-05-08T20:30:32.359Z] Running on Jenkins in /var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-824
[2020-05-08T20:30:31.574Z]  > git config core.sparsecheckout # timeout=10
[2020-05-08T20:30:31.578Z]  > git checkout -f fc0541b9808753c1bcd039136b43e2eeda3c2870 # timeout=15
[2020-05-08T20:30:32.660Z] [INFO] getVaultSecret: Getting secrets
[2020-05-08T20:30:32.727Z] Masking supported pattern matches of $VAULT_ADDR or $VAULT_ROLE_ID or $VAULT_SECRET_ID
[2020-05-08T20:30:33.667Z] + chmod 755 generate-build-data.sh
[2020-05-08T20:30:33.667Z] + ./generate-build-data.sh https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-824/ https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-824/runs/1 FAILURE 279673
[2020-05-08T20:30:34.218Z] INFO: curl https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-824/runs/1/steps/?limit=10000 -o steps-info.json

jenkins run the tests please

Also, @AndreiPashkin, please sign the CLA when you get a chance.

Also, @AndreiPashkin, please sign the CLA when you get a chance.

Hmm, but I've signed it, here is the PDF:
https://www.dropbox.com/s/oufsg1mc17hlqvy/Please_DocuSign_Individual_Contributor_Licen (1).pdf?dl=0
Why doesn't the check turn green?
I'm also puzzled - how to I can I run tests so that I can use PDB for debugging locally? Could you please advise? I'd like to add one test case.

Looks like CLA went green, maybe it was delayed.

I'm also puzzled - how can I run tests so that I can use PDB for debugging locally?

I don't tend to use PDB, but running the tests should be as simple as installing the requirements file that is most relevant (at minimum, reqs-base.txt), and then run py.test to run all the tests. I'm guessing PDB can attach to pytest runs without issue -- most of my debugging is either via logging or via the VSCode debugger.

Let me actually write a test.

@basepi, @beniwohli, I'm observe some strange things happening with these changes in place.
Here is my test-script:
import logging
import sys
import time

from elasticapm import Client
from elasticapm.contrib.opentracing import Tracer

client = Client({
    'SERVICE_NAME': 'test-with_changes',
    'SERVER_URL': 'http://localhost:8888'
})
tracer = Tracer(client_instance=client)

logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)

START = time.time()

span_1 = tracer.start_span('parent', start_time=START)
span_2 = tracer.start_span('child', child_of=span_1, start_time=START + 2)
span_2.finish(finish_time=START + 10)
span_1.finish(finish_time=START + 15)

When I install latest release with pip install -I elastic-apm and execute it - I see such a picture:

Both parent and child are visible but they have incorrect times recorded (and making it recorded correctly is the purpose of this PR).
When I install my changes (pip install -I https://github.com/AndreiPashkin/apm-agent-python/archive/explicit-timestamps-opentracing.zip) and re-running my script (changing the service name to better observe the differences) - I see the following:

And the sent payload:
{"metadata": {"service": {"name": "test-with_changes", "environment": null, "version": null, "agent": {"name": "python", "version": "5.6.0"}, "language": {"name": "python", "version": "3.7.7"}, "runtime": {"name": "CPython", "version": "3.7.7"}}, "process": {"pid": 31801, "ppid": 2071, "argv": ["test_elastic.py"], "title": null}, "system": {"hostname": "andrei-yoga514", "architecture": "x86_64", "platform": "linux"}}}
{"span": {"id": "a1a2d1d77c17595e", "transaction_id": "0af7966685c1e27a", "trace_id": "7adccfb5c60bad87b80e290334e6ee53", "parent_id": "0af7966685c1e27a", "name": "child", "type": "code", "subtype": "custom", "action": null, "sync": true, "timestamp":<PHONE_NUMBER>604596, "duration": 8000.0, "stacktrace": [{"abs_path": "test_elastic.py", "filename": "test_elastic.py", "module": "__main__", "function": "<module>", "lineno": 21, "library_frame": false}]}}
{"transaction": {"id": "0af7966685c1e27a", "trace_id": "7adccfb5c60bad87b80e290334e6ee53", "name": "parent", "type": "custom", "duration":<PHONE_NUMBER>905.7947, "result": "", "timestamp":<PHONE_NUMBER>698801, "sampled": true, "span_count": {"started": 1, "dropped": 0}, "context": {"tags": {}}}}

Only parent is seen.
Timings have gigantic values.

I've also captured payload that were sent in both cases.
Without changes:
{"metadata": {"service": {"name": "test-without_changes", "environment": null, "version": null, "agent": {"name": "python", "version": "5.6.0"}, "language": {"name": "python", "version": "3.7.7"}, "runtime": {"name": "CPython", "version": "3.7.7"}}, "process": {"pid": 30721, "ppid": 2071, "argv": ["test_elastic.py"], "title": null}, "system": {"hostname": "andrei-yoga514", "architecture": "x86_64", "platform": "linux"}}}
{"span": {"id": "da6e65e8787355b7", "transaction_id": "f5c2f6d6740a0cd4", "trace_id": "4366c9a4a3cbc6c54abbf84e10d4d8a5", "parent_id": "f5c2f6d6740a0cd4", "name": "child", "type": "code", "subtype": "custom", "action": null, "sync": true, "timestamp":<PHONE_NUMBER>818084, "duration": 0.07035498856566846}}
{"transaction": {"id": "f5c2f6d6740a0cd4", "trace_id": "4366c9a4a3cbc6c54abbf84e10d4d8a5", "name": "parent", "type": "custom", "duration": 0.24842699349392205, "result": "", "timestamp":<PHONE_NUMBER>818004, "sampled": true, "span_count": {"started": 1, "dropped": 0}, "context": {"tags": {}}}}

With changes:
{"metadata": {"service": {"name": "test-with_changes", "environment": null, "version": null, "agent": {"name": "python", "version": "5.6.0"}, "language": {"name": "python", "version": "3.7.7"}, "runtime": {"name": "CPython", "version": "3.7.7"}}, "process": {"pid": 31801, "ppid": 2071, "argv": ["test_elastic.py"], "title": null}, "system": {"hostname": "andrei-yoga514", "architecture": "x86_64", "platform": "linux"}}}
{"span": {"id": "a1a2d1d77c17595e", "transaction_id": "0af7966685c1e27a", "trace_id": "7adccfb5c60bad87b80e290334e6ee53", "parent_id": "0af7966685c1e27a", "name": "child", "type": "code", "subtype": "custom", "action": null, "sync": true, "timestamp":<PHONE_NUMBER>604596, "duration": 8000.0, "stacktrace": [{"abs_path": "test_elastic.py", "filename": "test_elastic.py", "module": "__main__", "function": "<module>", "lineno": 21, "library_frame": false}]}}
{"transaction": {"id": "0af7966685c1e27a", "trace_id": "7adccfb5c60bad87b80e290334e6ee53", "name": "parent", "type": "custom", "duration":<PHONE_NUMBER>905.7947, "result": "", "timestamp":<PHONE_NUMBER>698801, "sampled": true, "span_count": {"started": 1, "dropped": 0}, "context": {"tags": {}}}}

@beniwohli, can you also please explain this code:
http://github.com/elastic/apm-agent-python/blob/master/elasticapm/traces.py#L140-L140
Why if start provided both self.timestamp and self.start_time are assigned to it but if start is not provided self.timestamp is assigned epoch timestamp and self.start_time is assigned result of time.perf_time() which is usually equals to time.monotonic()?

@beniwohli

it's not bulletproof as far as I can tell (e.g. the system clock could jump right after you measured the delta, but before applying it to the non-monotonic timestamp).
But if system clocks is jumping than the agent gonna send skewed data in any case - so there is no bullet-proofness against that in current master anyway and my PR does not change that. TimestampConversionUtil simply converts timestamps between clocks without adding or removing anything to protection against clock jumps.

As such, I'm a bit wary to introduce this into a major code path of the agent. However, I'd be open to it if you moved the usage of TimestampConversionUtil to the opentracing bridge.
Should I add another private argument for system-clock timestamp and pass it from the OT bridge along with the monotonic timestamp?

@beniwohli
Could you please reply on my prev. comment?

:bug: Flaky test report
:grey_exclamation: There are test failures but not known flaky tests.
Test stats :test_tube:

Test
Results

Failed
1

Passed
8968

Skipped
6837

Total
15806

@basepi, @beniwohli, could you please look into it?

@beniwohli As far as I can tell, the new TimestampConversionUtil is only used within the OT bridge, and even then only if a start time is defined, so I don't think this is actually going to introduce that additional complexity across core transaction/span duration measurements.
For my sanity, @AndreiPashkin, can you give me the tl;dr of why that class is necessary? Are we just trying to avoid the unlikely, but possible chance that we could measure the difference between the clocks at the point of a daylight saving change, and thus convert with an hour mistake in the duration? Are there other examples of jumps in non-monotonic clocks that we're trying to detect/prevent?

Closing this due to lack of reply.


New Landscape Entry - NEORV32

Project Name
NEORV32
Description
A tiny, customizable and highly extensible MCU-class 32-bit RISC-V soft-core CPU and microcontroller-like SoC written in platform-independent VHDL.
Homepage URL
https://github.com/stnolting/neorv32
Crunchbase URL (https://www.crunchbase.com/)
n/a
Repository URL (Only if publicly available)
https://github.com/stnolting/neorv32
Organization hosting or owning the project
Stephan Nolting (RISC-V community member) / the NEORV32 open-source community
Evidence of RISC-V ecosystem support
marchid badge:

The NEORV32 Processor is a customizable microcontroller-like system on chip (SoC) built around the NEORV32 RISC-V CPU and written in platform- and technology-independent VHDL. The processor is intended as auxiliary controller in larger SoC designs or as ready-to-go stand-alone custom microcontroller that even fits into low-power / low-density FPGAs. The project is intended to work out of the box and targets FPGA / RISC-V beginners as well as advanced users by providing extensive documentation, software and hardware examples as well as community-based projects. The core has been used in several publications with a strong focus in research and teaching.
Logo

Category
Processors
Sub-Category
Implementations -> IP

Thanks github-actions bot! 😉
The project is already listed there: https://riscv.org/exchange/?_sf_s=neorv32

@bprestonlf +1

@bprestonlf +1


Shortlink returns null for the deepLinkValue

Describe the bug
When generating a deep link it can either be with query params or make it a short link. Using query params the deepLinkValue is populated but using it as a short link all of the data coming back is null.
To Reproduce
Steps to reproduce the behavior:

Click "Redirect & Deep linking" tab
Add a Deep link value
Click update link
Click the link to open the app
All the values will be null

Expected behavior
The deep link value should be populated with the value set in AppsFlyer. Currently, it is only populated when making the link with query params.
Screenshots
Example working:
https://test.domain.com/ssdfs/sdfsdgsdg?model=Value1&id=Value2
Example not working:
https://test.domain.com/ssdfs/sdfsdgsdg

Smartphone (please complete the following information):

OS: Android & iOS

Hi @RobertBrunhage ,
Thank you for reaching out to us.
To provide optimal support, we would kindly ask you to submit a support ticket to<EMAIL_ADDRESS>When submitting the ticket, please specify your AppsFlyer sign-up (account) email, app ID, reproduction steps, code snippets, logs, the links you used, and any additional relevant information.

onAppOpenAttribution no execution. Execute onInstallConversionData every time the app is opened. onDeepLinking show in image:

Hi @Ableson
We are not sure might be the exact issue you are referring to.
We would kindly ask you too to submit a support ticket to<EMAIL_ADDRESS>in order to get optimal support.
When submitting the ticket, please specify your AppsFlyer sign-up (account) email, app ID, reproduction steps, code snippets, logs, the links you used, and any additional relevant information.

Hi @Ableson
We are not sure might be the exact issue you are referring to.
We would kindly ask you too to submit a support ticket to<EMAIL_ADDRESS>in order to get optimal support. When submitting the ticket, please specify your AppsFlyer sign-up (account) email, app ID, reproduction steps, code snippets, logs, the links you used, and any additional relevant information.

onDeepLinking cannot obtain key information, such as media_ source

We had forgotten adding the brand links

Hi there, I'm also experiencing this, can I ask what you did to get it working with short links?


Offset-top only

I need to offset my toaster, but I only want to offset it from the top.
Any way to do that through Tailwind classes? Would be great it that was a separate prop.

Found a workaround for this in this form:
   <Toaster
        position="top-right"
        closeButton
        visibleToasts={5}
        toastOptions={{
          unstyled: true,
          classNames: {
            toast:
              "flex items-center rounded-xl w-full p-2 bg-indigo-600 border-2 border-indigo-500 text-base **mt-12** gap-0.5",
            error: "bg-red-500 border-red-400 text-red-50",
            success: "bg-green-600 border-green-500 text-green-50",
            warning: "bg-yellow-400 border-yellow-300 text-yellow-900",
            info: "bg-blue-700 border-blue-600 text-blue-50",
          },
        }}
      />

Would also be great to have breakpoints on this, so I can specify if I want that offset on all resolutions or just on some.
For instance, if I want to offset-top on lg and change that to offset-bottom on md and lower.

Was struggling with this and accidentally found it

Thanks for this, was struggling to figure this out.


[Suggestion] Blastproof Markers - Fabric 1.17

Hi there,
Great mod, really helped fill a gap that we had on the private pack I put together.
It would be amazing if you could add an explosion/creeper proof property on the markers themselves as we've had a few cases of creepers killing the person and simultaneously blowing the grave up.
Thanks mate!

Coincidentally, when going Netherite mining with beds, I did and my marker was blown up at the same time. Unsure if I should file that as a bug.


Add head method that returns a DataFrame

Closes #767
This adds a .head(n=5) method, implemented as .limit(n).execute(). .head() is primarily for interactive use, since the more general .limit already exists for expressions.

@wesm There are two ways to implement this: 1) the way i've done here, which is to trigger computation. i went this route because i view head as almost purely an interactive tool and 2) we already have the more general limit method for TableExprs. What do you think?

There is also ibis.options.interactive = True. I don't have too strong feelings about it

Hm, okay. I forgot about ibis.options.interactive. Considering that, this should probably just be another expression for convenience.


fix #680

@atalyaalon

You don't need to close the pull request and open another one just to make a fix in it. Whenever you update the branch from which the PR was opened, the PR is updated, so you can just push or even push -f to the branch and the PR will be updated.
You should pull --rebase (or fetch and rebase) against the dev branch from hasadna/anyway rather than merging from it (which is the default with pull). This way we won't have the extra merge commits. You should do this after your PR is merged, so that your own branch is up-to-date and your old changes (that were already merged) don't appear in the PR.

Thank you @danielhers


Not really an issue, but didnt find a dedicated messenger, feel free to dismiss

I am currently asking around in the MxM Curator Community for better ways to upload syncs, seeing how you documented your API-research quite well so far, i was curious, if you ever considered using it to develop more indepth tools for lyrics-synchronisation with it, and if you also got an example i could work with (if already implemented in your code) to submit word for word synchronisations

Yes, I tried to make a custom client, but put this idea aside as Musixmatch developers started working on new tools for contributors. I'm sure they'll do it better ;)
My library already has tools for word sync. If you are interested in this idea, you can try it yourself.
You may check this function and sample project (I know that the library is missing documentation at the moment, so feel free to contact me on discord: Eimaen#0001)


Investigate "socket read" errors during Plaintext benchmark

wrk reports a small number of "socket read" errors during the Plaintext benchmark.  These can be seen in the official results (https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext) and reproduced locally.
I was able to reproduce on my first try using a pair of Azure F4 VMs:
$ wrk -H 'Host: localhost' -H 'Accept: text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' --latency -d 15 -c 256 --timeout 8 -t 32 http://<IP_ADDRESS>:8080/plaintext -s ~/pipeline.lua -- 16
Running 15s test @ http://<IP_ADDRESS>:8080/plaintext
  32 threads and 256 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    10.50ms   47.29ms 542.68ms   97.22%
    Req/Sec    21.06k     2.54k   33.62k    93.45%
  Latency Distribution
     50%    3.42ms
     75%    4.96ms
     90%    5.98ms
     99%  307.84ms
  9670805 requests in 15.10s, 1.19GB read
  Socket errors: connect 0, read 17, write 0, timeout 0
Requests/sec: 640478.70
Transfer/sec:     80.63MB

Potentially related, but these were write instead of read errors: https://github.com/aspnet/KestrelHttpServer/issues/142#issuecomment-142783133.

Self-assigning.

Closing this as we plan to move to Sockets transport in 2.1.
@DamianEdwards, reactivate if you'd like to keep this open!


Where is the xlsx file for mma data layout?

https://github.com/Dao-AILab/flash-attention/blob/eff9fe6b8076df59d64d7a3f464696738a3c7c24/csrc/flash_attn/src/fmha/smem_tile.h#L473C9-L473C80
Hi, I have seen a comment in the previous version code, it mentioned an xlsx file for mma layout. Where could I have a look?

That line was copied from apex. I believe that file is internal to Nvidia and I don't have access to it.
https://github.com/NVIDIA/apex/issues/1352


Invoke Error

Ever since the new update, tried to create an elicit response but getting an invoke error of "AWS.LexRuntimeV2 is not a constructor".

Hi @ojo-john - yes, there was an issue with the build process that caused an older AWS SDK version to be used in the fulfillment lambda in the 4.7.1 build. We just published a new build - 4.7.2 - that resolves the issues. Can you upgrade and let us know? Thanks, and apologies for the inconvenience.


chore(contrib): Add pre push hook and script

PR Standards
Opening a pull request should be able to meet the following requirements

Closes #XXX
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow-up issues.
For Author:

[ ]  Targeted PR against correct branch
[ ]  included the correct type prefix in the PR title
[ ]  Linked to Github issue with discussion and accepted design
[ ]  Targets only one github issue
[ ]  Wrote unit and integration tests
[ ]  All CI checks have passed
[ ]  Added relevant godoc comments

For Reviewer:

[ ]  confirmed the correct type prefix in the PR title
[ ]  Reviewers assigned
[ ]  confirmed all author checklist items have been addressed

After reviewer approval:

[ ]  In case targets main branch, PR should be squashed and merged.
[ ]  In case PR targets a release branch, PR should be rebased.

@hoangdv2429 ?
https://github.com/dymensionxyz/dymension-rdk/pull/429#pullrequestreview-2082223497

@hoangdv2429 ? #429 (review)

Sorry, this script was for running golanglint and markdownlint before the push go through. Save time for additional CI run on pushing new commit.

I would highly prefer if we could use common tooling for enforcing code quality and standards across all of dymension's repos and would urge us to use pre-commit as pointed out by @danwt .
an example for golangci-lint is available in roller

I would highly prefer if we could use common tooling for enforcing code quality and standards across all of dymension's repos and would urge us to use pre-commit as pointed out by @danwt .
an example for golangci-lint is available in roller

As I read the config on roller, commit messages would be enforced to have one of those prefixes. Is this really what we need? I thought we would squash and merge PRs with the PR title as the commit message.

As I read the config on roller, commit messages would be enforced to have one of those prefixes. Is this really what we need? I thought we would squash and merge PRs with the PR title as the commit message.

i was referencing just the golangci lint :)

I check again and see that @mtsitrin already added pre-commit to rdk. If we don't need pre-push then I think we can close it.


PythonJob GUI not show required sockets.

from aiida_workgraph import node, WorkGraph
from ase import Atoms

@node()
def calc_atomization_energy(molecule: Atoms,
                            molecule_output: dict,
                            atom_output: dict):
    energy = atom_output["energy"] * len(molecule) - molecule_output["energy"]
    return energy

The molecule input is required but not shown.

This bug does not exist anymore.


use haversine formula for great-circle distance

Haversine formula is commonly prefered due to smaller floating point errors.

Coverage increased (+0.3%) to 94.207% when pulling 7dc870df00c8fbb7fd8a73f70b18e24c41664188 on IlyaOrson:patch-2 into 54ee4be1e65c33a41c5751a3ea80a195987a6582 on gboeing:master.

Coverage increased (+0.3%) to 94.207% when pulling 7dc870df00c8fbb7fd8a73f70b18e24c41664188 on IlyaOrson:patch-2 into 54ee4be1e65c33a41c5751a3ea80a195987a6582 on gboeing:master.

Coverage increased (+0.3%) to 94.207% when pulling 7dc870df00c8fbb7fd8a73f70b18e24c41664188 on IlyaOrson:patch-2 into 54ee4be1e65c33a41c5751a3ea80a195987a6582 on gboeing:master.

Thanks @IlyaOrson. What are the trade-offs here? That is, can you quickly validate how much precision/accuracy is gained with the haversine method over the cosines method, and what is the difference in performance time?


% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100   165    0   165    0     0     11      0 --:--:--  0:00:14 --:--:--    39
checking the MD5 checksum for downloaded models...
dunnings-2018-fire-detection-pretrained-models.zip: fail
md5sum: WARNING: 1 computed checksum did NOT match

Thanks for reporting this (sorry for delayed response, I was on vacation).
Problem: the files moved on the server, the script didn't follow the automatic server redirect it appears.
Solution: add -L option to curl command in download scripts
Not tested as working as far as I can tell. Can you confirm ?

when i run the latest script,get below error
root@dlxx-Alienware-15-R3:~/fire-detection-cnn# python download-models.sh
File "download-models.sh", line 7
URL_MODELS=https://collections.durham.ac.uk/downloads/r19880vq98m
^
SyntaxError: invalid syntax
root@dlxx-Alienware-15-R3:~/fire-detection-cnn#

Command is:
sh ./download-models.sh
as it's not a python script. Easily done.


Develop

Coverage remained the same at 90.3% when pulling a8c2fb25c2a25e389064584dd572cdb9f3f6fa0e on develop into 731224fba07d3b439f0f7d74b7c70035fd1a26ac on master.

:octocat:


refactor(auth): change verified map to array

What type of PR is this?
refactor
What this PR does / why we need it:

Change the type of verified_map from StoreMap to StoreArray, so that different methods of the same service can be registered.
Remove verify_signature method is forbidden.

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/test all

/cc @LycrusHamster

I have no idea.
I have a peek and I think it is just a refactor for better impl

/cc @LycrusHamster @KaoImin
What does this PR change have to do with?

It just makes the authorization service better.

/lgtm


Support for nvim-cmp's kind completion highlights

FYI, in case you want to support it: cmp recently added support for changing colours for different completion kinds: https://github.com/hrsh7th/nvim-cmp/commit/593a6345de3b8186a3b5d5501b6e137ca17f1653. Apologies for not creating PR but my styling skills are non existant.

This has already been added :)
https://github.com/andersevenrud/nordic.nvim/pull/44

Ah, I see, sorry about the noise then. I did have latest version installed but did not see it during tests as not all kinds are having different colours.

If you have suggestions for the rest of the kinds feel free to place them here and I'll have a look.

Will see if I can come up with anything that doesn't look super ugly.


Extend "legacy" compatibilty to include older browsers

This PR makes pdf.js compatible with older Safari (targeted & tested 12, possibly, maybe also works on 11) and possibly other older browsers. This is part of a fix for zotero/web-library#544.

Tweak browser list for babel/prefixer targets
Update core-js
Ensure all files source files are babel-processed
Enable postcss for :is pseudo-class
Add polyfill for ResizeObserver
Tweak uses of mediaQueryList to ensure compatiblity with older browsers
Replace all uses of replaceChildren with equivalent loop-based logic

No longer relevant, we do this instead: https://github.com/zotero/web-library/issues/548


remove average frost

remove average frost from legend
remove multiple from legend now that it's no longer possible to have multiple

Your review app has been deployed and is available at 'http://<IP_ADDRESS>:80'.Learn More about how to test and provide feedback for the app.

Your review app has been deployed and is available at 'http://<IP_ADDRESS>:80'.Learn More about how to test and provide feedback for the app.


fix: Handle empty case for yaml conversion

This PR
At the moment, the yamlToJSON will convert []byte("") to "null". While "null" is a normal string, it will bypass all validator and lead to panic.
Related Issues

Fixes #1242
Notes
I found that sometime, the os.Readfile will return empty byte and no error, this will cause the yamlToJSON convert the rawData ("") to jsonData ("null").
Moreover, when I check the log, the watcher is reading file content a lot at a times for checking file changes, so it could be the reason why os.Readfile return empty byte?

Follow-up Tasks
I think we have to check the behavior of os.Readfile?
How to test

@dinhlockt02 Thanks so much for your contribution. The only change I will make is the PR title, so it might be a bit easier to understand in our release notes.


769 Adopters informed

🔗 Issue
https://github.com/rubyforgood/pet-rescue/issues/769
✍ Description
Added alert with link to complete adopter's profile
📷 Screenshots/Demos

@all-contributors
please add @albertabney for code.


[Bug]: Update to 3.0.0 breaks runing test container inside other containers

Testcontainers version
3.0.0
Using the latest Testcontainers version?
Yes
Host OS
Windows
Host arch
x86
.NET version
7.0.202
Docker version
Client:
 Cloud integration: v1.0.31
 Version:           20.10.23
 API version:       1.41
 Go version:        go1.18.10
 Git commit:        7155243
 Built:             Thu Jan 19 17:43:10 2023
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

Server: Docker Desktop 4.17.1 (101757)
 Engine:
  Version:          20.10.23
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.10
  Git commit:       6051f14
  Built:            Thu Jan 19 17:32:04 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.18
  GitCommit:        2456e983eb9e37e47538f59ea18f2043c9a73640
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.10.3)
  compose: Docker Compose (Docker Inc., v2.15.1)
  dev: Docker Dev Environments (Docker Inc., v0.1.0)
  extension: Manages Docker extensions (Docker Inc., v0.2.18)
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
  scan: Docker Scan (Docker Inc., v0.25.0)
  scout: Command line tool for Docker Scout (Docker Inc., v0.6.0)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 3
 Server Version: 20.10.23
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 2456e983eb9e37e47538f59ea18f2043c9a73640
 runc version: v1.1.4-0-g5fd4c4d
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: <IP_ADDRESS>-microsoft-standard-WSL2+
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 15.62GiB
 Name: docker-desktop
 ID: XQCN:MJA6:YM73:K7UH:OQZ6:WFXP:DJNY:T5G3:DB4M:UERD:M656:PROM
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support

What happened?
I use the new Kafka Module to run the following test
using Confluent.Kafka;
using Confluent.Kafka.Admin;
using Testcontainers.Kafka;

namespace RunInDockerContainerReproduceV3;

[TestClass]
public class ReproduceWithV3
{
    [TestMethod]
    public async Task TestMethod1()
    {
        await using var kafkaContainer = new KafkaBuilder()
            .WithName("KafkaTestContainerV3")
            .Build();

        await kafkaContainer.StartAsync();

        var kafkaBootstrapServer = kafkaContainer.GetBootstrapAddress();

        using var adminClient = new AdminClientBuilder(new AdminClientConfig { BootstrapServers = kafkaBootstrapServer }).Build();
        await adminClient.CreateTopicsAsync(new TopicSpecification[]
        {
            new() {Name = "reproduce.topic", ReplicationFactor = 1, NumPartitions = 12},
        });
    }
}

In my setup i run the test containers inside an other container. To execute the tests I use the following command:
docker run -t -i -v /C/Source/RunInDockerContainerReproduce:/build -v /var/run/docker.sock:/var/run/docker.sock -w /build --rm mcr.microsoft.com/dotnet/sdk:7.0-alpine dotnet test -c Release RunInDockerContainerReproduceV3
The Test Breaks when trying to create the kafka topic with the following Exceptions. It seems for me that the kafka test container is not reachable.
Error Message:
Test method TestPrRunInDockerContainerReproduceV3.ReproduceWithV3.TestMethod1 threw exception:
Confluent.Kafka.KafkaException: Failed while waiting for controller: Local: Timed out
Stack Trace:
at TestPrRunInDockerContainerReproduceV3.ReproduceWithV3.TestMethod1() in /build/RunInDockerContainerReproduceV3/ReproduceWithV3.cs:line 22
at TestPrRunInDockerContainerReproduceV3.ReproduceWithV3.TestMethod1() in /build/RunInDockerContainerReproduceV3/ReproduceWithV3.cs:line 22
Executing the test with dotnet test -c Release RunInDockerContainerReproduceV3 works fine
having the same Test with Version 2.3 works in both szenarios fine.
My Test for the 2.3 Version
using Confluent.Kafka;
using Confluent.Kafka.Admin;
using DotNet.Testcontainers.Builders;
using DotNet.Testcontainers.Configurations;
using DotNet.Testcontainers.Containers;

namespace RunInDockerContainerReproduceV2_3;

[TestClass]
public class WorkingTestsWithV2_3
{
    [TestMethod]
    public async Task TestMethod1()
    {
        await using var kafkaContainer = new TestcontainersBuilder<KafkaTestcontainer>()
            .WithKafka(new KafkaTestcontainerConfiguration("confluentinc/cp-kafka:6.1.9"))
            .WithPortBinding(9092, true)
            .WithName("kafkatest")
            .Build();

        await kafkaContainer.StartAsync().ConfigureAwait(false);

        var kafkaBootstrapServer = kafkaContainer.BootstrapServers;

        using var adminClient = new AdminClientBuilder(new AdminClientConfig { BootstrapServers = kafkaBootstrapServer }).Build();
        await adminClient.CreateTopicsAsync(new TopicSpecification[]
        {
            new() {Name = "reproduce.topic", ReplicationFactor = 1, NumPartitions = 12},
        });
    }
}

how can I solve this?
Thank you! :)
Relevant log output
No response
Additional information
See the attached zip and containing read me to reproduce error.
RunInDockerContainerReproduce.zip

It looks like you are running into #845. Can verify if the patch works for your setup too?

Thanks for the quick response!
Thats quite interesting. I changed my configuration as following:
await using var kafkaContainer = new KafkaBuilder()
            .WithStartupCallback((Func<IContainer, CancellationToken, Task>) ((container, ct) =>
            {
                StringBuilder stringBuilder = new StringBuilder();
                stringBuilder.Append("#!/bin/bash");
                stringBuilder.Append('\n');
                stringBuilder.Append("echo 'clientPort=" + 2181 + "' > zookeeper.properties");
                stringBuilder.Append('\n');
                stringBuilder.Append("echo 'dataDir=/var/lib/zookeeper/data' >> zookeeper.properties");
                stringBuilder.Append('\n');
                stringBuilder.Append("echo 'dataLogDir=/var/lib/zookeeper/log' >> zookeeper.properties");
                stringBuilder.Append('\n');
                stringBuilder.Append("zookeeper-server-start zookeeper.properties &");
                stringBuilder.Append('\n');
                stringBuilder.Append("export KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://" + container.Hostname + ":" + container.GetMappedPublicPort(KafkaBuilder.KafkaPort) + ",BROKER://" + container.IpAddress + ":" + KafkaBuilder.BrokerPort);
                stringBuilder.Append('\n');
                stringBuilder.Append("echo '' > /etc/confluent/docker/ensure");
                stringBuilder.Append('\n');
                stringBuilder.Append("/etc/confluent/docker/run");
                return container.CopyFileAsync("/testcontainers.sh", Encoding.Default.GetBytes(stringBuilder.ToString()), 493, 0, 0, ct);
            }))
            .WithName("KafkaTestContainerV3")
            .Build();

It does not fix my example with the docker run command that I made up to reproduce. But it does fix my original Problem in my CI Pipepline.

I have looked into your example, and I believe you have encountered two different issues. First, you run into #845. A fix is expected in the next few days. Replacing the Hostname with the IpAddress property seems to fix it.
As for the second issue, I am not entirely sure why you are facing it. However, I believe that adding -e TESTCONTAINERS_HOST_OVERRIDE=host.docker.internal to your Docker run command (Docker Desktop only) will prevent it.

The second issue relates to following change:
https://github.com/testcontainers/testcontainers-dotnet/blob/3e3710de13b0d95521ebc08d7245d8b48e3eebb2/src/Testcontainers/Builders/ContainerBuilder`3.cs#L177-L179
It does not work with the host port 0, but with null. Docker assigns a random host port from a different range. While 0 assigns in the range of ~ 57892, null assigns in ~ 32785. I need to read and unerstand https://github.com/docker/for-mac/issues/5588#issuecomment-934600089 again. I am not sure what is the right fix TBH 🤔.

It does not fix my example with the docker run command that I made up to reproduce.

@lukasswm please use -v /var/run/docker.sock.raw:/var/run/docker.sock, this should work.

this does not fix the issue running

Using the raw socket works fine on my machine. Which error do you get?

still the same error:
Confluent.Kafka.KafkaException: Failed while waiting for controller: Local: Timed out
but what is more confusing is that even the dotnet test command gets this error now. Even restarted my machine but still...
As it worked before It's most likely something on my machine changed but I don't know what.

still the same error:
Confluent.Kafka.KafkaException: Failed while waiting for controller: Local: Timed out

As mentioned above, those are two different issues. The Kafka timeout issue is fixed. The fix is included in the next release. In the meantime you can override WithStartupCallback. To run the Docker Wormhole pattern (sibling containers) you need to mount Docker's raw socket.
await using var kafkaContainer = new KafkaBuilder()
    .WithName("KafkaTestContainerV3")
    .WithStartupCallback((container, ct) =>
    {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.Append("#!/bin/bash");
        stringBuilder.Append('\n');
        stringBuilder.Append("echo 'clientPort=" + 2181 + "' > zookeeper.properties");
        stringBuilder.Append('\n');
        stringBuilder.Append("echo 'dataDir=/var/lib/zookeeper/data' >> zookeeper.properties");
        stringBuilder.Append('\n');
        stringBuilder.Append("echo 'dataLogDir=/var/lib/zookeeper/log' >> zookeeper.properties");
        stringBuilder.Append('\n');
        stringBuilder.Append("zookeeper-server-start zookeeper.properties &");
        stringBuilder.Append('\n');
        stringBuilder.Append("export KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://" + container.Hostname + ":" + container.GetMappedPublicPort(KafkaBuilder.KafkaPort) + ",BROKER://" + container.IpAddress + ":" + KafkaBuilder.BrokerPort);
        stringBuilder.Append('\n');
        stringBuilder.Append("echo '' > /etc/confluent/docker/ensure");
        stringBuilder.Append('\n');
        stringBuilder.Append("/etc/confluent/docker/run");
        return container.CopyFileAsync("/testcontainers.sh", Encoding.Default.GetBytes(stringBuilder.ToString()), 493, 0, 0, ct);
    })
    .Build();

await kafkaContainer.StartAsync();

var kafkaBootstrapServer = kafkaContainer.GetBootstrapAddress();

using var adminClient = new AdminClientBuilder(new AdminClientConfig { BootstrapServers = kafkaBootstrapServer }).Build();
await adminClient.CreateTopicsAsync(new TopicSpecification[]
{
    new() {Name = "reproduce.topic", ReplicationFactor = 1, NumPartitions = 12},
});

incl.
docker run -t -i -v C:/Users/atomicjar/Downloads/RunInDockerContainerReproduce:/build -v /var/run/docker.sock.raw:/var/run/docker.sock -w /build --rm mcr.microsoft.com/dotnet/sdk:7.0-alpine dotnet test -c Release RunInDockerContainerReproduceV3

runs fine here.

Layer 8 issue. Sorry for that! Played around with my exmaple trying out different configurations. Did not saw the changes as it was not under source control.
works fine with the socket.raw as you said!

works fine with the socket.raw as you said!

Great! We will update the docs accordingly. If you do not mind I would close the issue?

Yes. I'm happy! Thanks for the great support!


flushSync was called from inside a lifecycle method

Describe the bug and the expected behavior
This error is appearing in 1.0.3
Conform version
v1.0.3
Steps to Reproduce the Bug or Issue
useEffect(() => {
form.reset()
}, [formData]) //from useLoaderData()
What browsers are you seeing the problem on?
Chrome
Screenshots or Videos
No response
Additional context
If I wrap the form.reset() in a queueMicrotask the error will go away. The reason I use the formReset is that I have a form as shown below, where the items are selected in the route to the left (the list) and a detail route the right side. Using form.reset() seems to be the best way to have the form update with the newly selected item received in the detail routes useLoaderData

I am doing further testing, but it appears the form.reset() may not be needed anymore.... I had to do this in earlier version of conform to have the detail section update. I will do more testing and see if this can be removed going forwards.

OK after some quick testing, yes I do have to use form.reset() in a useEffect as the form isn't being reloaded, rather the data being updated.

Thanks for reporting. This looks like a bug from #496. I will revert it.

I have published v1.0.4 with the problematic changes reverted for now.

Thanks mate, thank you so much for your work, and the recent ShadCN examples were perfect as well.
From: Edmund Hung @.>
Date: Tuesday, 12 March 2024 at 6:40 am
To: edmundhung/conform @.>
Cc: Jason Coley @.>, Author @.>
Subject: Re: [edmundhung/conform] flushSync was called from inside a lifecycle method (Issue #512)
I have published v1.0.4https://github.com/edmundhung/conform/releases/tag/v1.0.4 with the problematic changes reverted for now.
—
Reply to this email directly, view it on GitHubhttps://github.com/edmundhung/conform/issues/512#issuecomment-1989403766, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA5NTOBOGMSM5A6KU63CRGLYXYJDHAVCNFSM6AAAAABEPZEMQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBZGQYDGNZWGY.
You are receiving this because you authored the thread.Message ID: @.***>


[Candidate 4v4 Desert Vortex ZH v7] Terrain in home base is not good for building

Observed behavior
Terrain in home base is not good for building.
Expected behavior
Terrain in home base allows for great base builds with ease.
Screenshots

there is a slope down to the water thats intended by the mapper i think, the rest is all one hight. so imo no blocker cause designed

But how is one supposed to build there then? Why can the slope not be confined to the near water area?

i think thats good to build

Ok I will recheck then.

Ok


Permission Denied

I'm on mac and I am trying to run the file in the terminal to no avail. I receive this:
-bash: /Users/Jovik/Documents/jumpcutter/jumpcutter.py: Permission denied
I have python and I have all the required libraries.
What should I do?


Implement the online friends list in the waiting page. For each online friends's username there is a "invite" button.

add a list of friends on the waiting page to invite friends to join the game: b604db57a33f3dcec2358ae8342f115c03f81b45


Tools need to save to the Workspace/Tmp directory

There are issues around tools save back into the Application directory on Win 7 and Mac so tools should save to the Workspace/Tmp folder.

This has been fixed.


Updating node positions and sizes?

Hello,
Thank you for the library, I am trying to use it for a strategy game. But I don't know how to update node positions and scaling. Do I need to rebuild the dynamic object tree(s) every time they mode and do I remove this tree and reinsert it in a bigger tree?
Thank you

You have two options:

Rebuild from scratch at every change,
Place insert the node at the root and optimize the BVH

The first method should be easy enough to implement. The second can be implemented by adding one node R' that encompasses both the previous root R and the object O to add:
   R'
 /   \
O     R

Then, you can run the reinsertion optimizer on the tree, which should balance it such that the structure of the tree is more efficient for ray-tracing.

Note that to add a node, you don't have to shift all the nodes in the tree, you can simply add an element at the end of the array of nodes, copy the previous root into it, and overwrite the actual root (which always is located at index 0) have it as its left or right child.

Thank you very much


kairos-crypto fixes

This PR contains 2 simple fixes:

https://github.com/cspr-rad/kairos/commit/41ec4fabb0ffeacaa3c9d89056ea23db59ea4794 - allow constructing signer from public key without fs feature -  moved to core trait
https://github.com/cspr-rad/kairos/commit/56e2f122440bf21868b174f85fc9f01ac3d61753 - no_std compatibility for kairos-tx built with tx feature enabled - disabled default features for dependency

I would love to see a different modeling other than Option<PrivateKey>, but this works so approved.


OAuth configuration does not trigger login via custom oauth server

Followed instruction in Wiki to complete OAuth2 setup with CustomSecurityManage. Login page shows icon for external login but click action does not redirect.
Further when trying to bypass the login click by calling manually http://myoauthserver/OAuth2/Authorize?client_id=&redirect_uri=http%3A%2F%2F%3A8088%2Foauth-authorized%2F&scope=Api/User&response_type=code

Expected results

When i click the oauth login button, i am redirect to the oauth server
When I come back fromt he oauth with a code the token is requested

Actual results

click on oauth provider icon is ignored by /login
The token request is issued but only the grant_type & code are part of the request body.

Screenshots
How to reproduce the bug

Go to '...'
Click on '....'
Scroll down to '....'
See error

Environment
https://github.com/apache/superset/commit/c7112d1c48205eceda97968cded63e40c83cf86e
docker
ubuntu 16

superset version: 0.999
python version: docker
node.js version: docker

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[X] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[ ] I have reproduced the issue with at least the latest released version of superset.
[X] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
When returing from oauth i receive in the browser
{"errors": [{"message": "Expecting value: line 5 column 1 (char 8)", "error_type": "GENERIC_BACKEND_ERROR", "level": "error", "extra": {"issue_codes": [{"code": 1011, "message": "Issue 1011 - Superset encountered an unexpected error."}]}}]}
Logs
superset_app             | 2021-04-16 20:05:04,926:DEBUG:authlib.integrations.base_client.base_app:Retrieve temporary data: {'code': 'ltOJ!IAAAAM9lBRocy5aM9W6IzLMV2fHEqTLdtFErfjYuCR0k5Ljn8QAAAAE359NolvtIuSgCtE62S7-3CyqAqqvLcvozrVJwuX-MzrS1pkamm2M7_0krZsdrPE-H-NGOm6-97uqssdDBMrUw358UyAkJ7t3YeN9llIqf_e5Rl8FHqSQM1cT1mpwxv-1SEzLR5F1PrQM9GWiATBMZRt0Wdh2zAZJL9coCqH6J9z-3Xx-cgv4Ay7YceiQAkwRrMKoIj9v9kDFRdTxuXxt-l-UY1xNySJMcHxhlX23V_JrtA-UhD7IWz-OAZG1paZvJovC9ipq14u-v3raGU7zMqgQFcUe1H7PSJVlkuTLwk-hoHabcb4JHaxGp9KnSk28'}
superset_app             | 2021-04-16 20:05:04,928:DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): oauth.m-anage.com:443
superset_app             | 2021-04-16 20:05:04,964:DEBUG:urllib3.connectionpool:https://....:443 "POST /OAuth2/Token HTTP/1.1" 200 8495
superset_app             | 2021-04-16 20:05:04,967:WARNING:superset.views.base:Expecting value: line 5 column 1 (char 8)
superset_app             | <IP_ADDRESS> - - [16/Apr/2021 20:05:04] "GET /oauth-authorized/myservice?code=ltOJ%21IAAAAM9lBRocy5aM9W6IzLMV2fHEqTLdtFErfjYuCR0k5Ljn8QAAAAE359NolvtIuSgCtE62S7-3CyqAqqvLcvozrVJwuX-MzrS1pkamm2M7_0krZsdrPE-H-NGOm6-97uqssdDBMrUw358UyAkJ7t3YeN9llIqf_e5Rl8FHqSQM1cT1mpwxv-1SEzLR5F1PrQM9GWiATBMZRt0Wdh2zAZJL9coCqH6J9z-3Xx-cgv4Ay7YceiQAkwRrMKoIj9v9kDFRdTxuXxt-l-UY1xNySJMcHxhlX23V_JrtA-UhD7IWz-OAZG1paZvJovC9ipq14u-v3raGU7zMqgQFcUe1H7PSJVlkuTLwk-hoHabcb4JHaxGp9KnSk28 HTTP/1.1" 500 -
superset_app             | 2021-04-16 20:05:04,968:INFO:werkzeug:<IP_ADDRESS> - - [16/Apr/2021 20:05:04] "GET /oauth-authorized/myservice?code=ltOJ%21IAAAAM9lBRocy5aM9W6IzLMV2fHEqTLdtFErfjYuCR0k5Ljn8QAAAAE359NolvtIuSgCtE62S7-3CyqAqqvLcvozrVJwuX-MzrS1pkamm2M7_0krZsdrPE-H-NGOm6-97uqssdDBMrUw358UyAkJ7t3YeN9llIqf_e5Rl8FHqSQM1cT1mpwxv-1SEzLR5F1PrQM9GWiATBMZRt0Wdh2zAZJL9coCqH6J9z-3Xx-cgv4Ay7YceiQAkwRrMKoIj9v9kDFRdTxuXxt-l-UY1xNySJMcHxhlX23V_JrtA-UhD7IWz-OAZG1paZvJovC9ipq14u-v3raGU7zMqgQFcUe1H7PSJVlkuTLwk-hoHabcb4JHaxGp9KnSk28 HTTP/1.1" 500 -

superset config
import os

from cachelib.file import FileSystemCache

from flask import Flask
from flask_appbuilder.security.manager import AUTH_OID, AUTH_REMOTE_USER, AUTH_DB, AUTH_LDAP, AUTH_OAUTH
from superset.security import SupersetSecurityManager
import logging
from flask_appbuilder import SQLA, AppBuilder

FEATURE_FLAGS = {
    'DASHBOARD_NATIVE_FILTERS': True,
    'ROW_LEVEL_SECURITY': True,
    'ENABLE_TEMPLATE_PROCESSING': True,
}
AUTH_TYPE = AUTH_OAUTH
OAUTH_PROVIDERS = [
    {   'name':'myservice',
        'token_key':'access_token', # Name of the token in the response of access_token_url
        'icon':'fa-address-card',   # Icon for the provider
        'remote_app': {
            'client_id':'super id',  # Client Id (Identify Superset applica$
            'client_secret':'super secret', # Secret for this Client Id$
            'client_kwargs':{
                'scope': 'Api/User'               # Scope for the Authorization
            },
            'access_token_method':'POST',    # HTTP Method to call access_token_url
#            'access_token_params':{        # Additional parameters for calls to access_token_url
#                'client_id':'myClientId'
#            },
#            'access_token_headers':{    # Additional headers for calls to access_token_url
#                'Authorization': 'Basic Base64EncodedClientIdAndSecret'
#            },
            'request_token_url': None,
            'base_url':'https://..../api/custominterfaces/oauth/UserData/UserData',
            'access_token_url':'https://.../OAuth2/Token',
            'authorize_url':'https://.../OAuth2/Authorize'
        }
    }
]

from myservice_sss_security_manager import CustomSsoSecurityManager
CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager

Custom Security Manager

from superset.security import SupersetSecurityManager

class CustomSsoSecurityManager(SupersetSecurityManager):

    def oauth_user_info(self, provider, response=None):
        logging.debug("Oauth2 provider: {0}.".format(provider))
        if provider == 'myservice':
            # As example, this line request a GET to base_url + '/' + userDetails with Bearer  Authentication,
    # and expects that authorization server checks the token, and response with user details
            me = self.appbuilder.sm.oauth_remotes[provider].get('userDetails').data
            logging.debug("user_data: {0}".format(me))
            return { 'name' : me['firstname'], 'email' : me['email'], 'id' : me['id'], 'username' : me['email'], 'first_name': me['firstname'], 'last_name': me['surname'] }

Thanks for your support.

@nytai @dpgaspar 🙏

@pr0base difficult to know the root cause since this seems like a custom OAuth provider, the error Expecting value: line 5 column 1 (char 8) can you check if that is thrown from oauth_user_info?

@dpgaspar thanks for your followup.
The error does not happing with the custom implementation as far as I can tell. I added with my little python knowledge a try/except block as
`from superset.security import SupersetSecurityManager
class CustomSsoSecurityManager(SupersetSecurityManager):
def oauth_user_info(self, provider, response=None):
    try:
        logging.debug("Oauth2 provider: {0}.".format(provider))
        if provider == 'providername':
            # As example, this line request a GET to base_url + '/' + userDetails with Bearer  Authentication,
            # and expects that authorization server checks the token, and response with user details
            me = self.appbuilder.sm.oauth_remotes[provider].get('userDetails').data
            logging.debug("user_data: {0}".format(me))
            return { 'name' : me['firstname'], 'email' : me['email'], 'id' : me['id'], 'username' : me['email'], 'first_name': me['firstname'], 'last_name': me['surname'] }
    except:
        e = sys.exc_info()[0]
        logging.error("CustomSsoSecurityManager - Error: {0}".format(e))

`
in the logs i can not see a message.
The error is happing when I start the OAuth flow manually via https://myOAuthServer/OAuth2/Authorize?client_id=60A62F84-28D1-458D-80ED-D350893C1940&redirect_uri=http%3A%2F%2F<IP_ADDRESS>%3A8088%2Foauth-authorized%2Fprovidername&scope=Api/User&response_type=code
See

When looking into our backend infrastructure I see superset requesting the token, but the request is declined because parameters are missing on the body to request the token.

Working example to retrieve the token issued via Postman looks like

Comparing the two scenarios the Token Request issued does not include the values for
redirect_uri, client_id & client_secret.

token request is now working. the click is working on the login page when i first click on my custom icon and then select sign in

No I receive the following error
{"errors": [{"message": "argument of type 'NoneType' is not iterable", "error_type": "GENERIC_BACKEND_ERROR", "level": "error", "extra": {"issue_codes": [{"code": 1011, "message": "Issue 1011 - Superset encountered an unexpected error."}]}}]}
which reflects on the superset logs as
`
CTNVYh75SZf7seA2Ncy8vusRYondT6FHrWB8QAAAAEcBuJO1CdpP9CM31FMvY6y1rUt8og-yRnCte2lvb5kg67aK1MpO_EbyCSDiIo1HhBdRbRfHQvbAgS1EvcUFU0nMa-wFGSEkg8e8Ddzfh8l3H948xVQgdvCY-vAdFAum3LA5YRjnoPtL4EtGJ_L95EB-wX0MvE8eOj9Db0NTlfHRXUYG9ub90A5xk7tQr4dqSb-CoXN0NHp2lHBmOUK9BwjcoXLMJIBzkkr4179msai3Qy2qnONAt3_tdlEldVhlJACVmlvib61VlXXM3yLBOm5b7akRVKCcZ1AsW91yDPHBbTSf07tVu0A2aTVSHfyojE', 'state': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuZXh0IjpbIiJdfQ.fdfto7RZFzoca-BIwMaXI9t-jsGjhSPMH_ltWoj85-Y', 'redirect_uri': 'http://<IP_ADDRESS>:8088/oauth-authorized/myprovider'}
superset_app             | 2021-04-23 11:53:25,785:DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): myprovider:443
superset_app             | 2021-04-23 11:53:26,737:DEBUG:urllib3.connectionpool:https://myprovider:443 "POST /OAuth2/Token HTTP/1.1" 200 942
superset_app             | 2021-04-23 11:53:26,740:DEBUG:root:Oauth2 provider: myprovider.
superset_app             | 2021-04-23 11:53:26,740:ERROR:root:CustomSsoSecurityManager - Error: <class 'requests.exceptions.MissingSchema'>
superset_app             | 2021-04-23 11:53:26,741:WARNING:superset.views.base:argument of type 'NoneType' is not iterable
`
So now the error is clearly in my custom security manager. Currently reviewing.

Ok, now working. Sorry but my Python knowledge was to limited to understand the dependencies in play.
I changed my custom auth handler as
import logging
import requests
from flask_appbuilder import SQLA, AppBuilder

logger = logging.getLogger()

from superset.security import SupersetSecurityManager

class CustomSsoSecurityManager(SupersetSecurityManager):

    def oauth_user_info(self, provider, response=None):
        try:
            logging.debug("Oauth2 provider: {0}.".format(provider))
            if provider == 'wwwmanagecom':
                # As example, this line request a GET to base_url + '/' + userDetails with Bearer  Authentication,
                # and expects that authorization server checks the token, and response with user details
                res = self.appbuilder.sm.oauth_remotes[provider].get('my userinfo info endpoint')
                logging.info(" {0}".format(res))
                res.encoding = 'utf-8'
                if res.status_code != 200:
                  logger.error('Failed to obtain user info: %s', res.text)
                  return
                logging.info("user_data: {0}".format(res.json()))
                lUserInfo = res.json()
                return { 'name' : lUserInfo['firstname'], 'email' : lUserInfo['email'], 'id' : lUserInfo['id'], 'username' : lUserInfo['em$
        except:
            e = sys.exc_info()[0]
            logging.error("CustomSsoSecurityManager - Error: {0}".format(e))

Changes that mattered

The userinfo endpoint needs to be set here. I am not are how to access the base_url setup in superset_config.py
Reviewed the repsonse object documentation and found there is no data attribute. text and json() work nicely

For the first topic in regards to the click using http://<IP_ADDRESS>:8088/login/myprodivder?next= directly solves the issue that I have to click on the buttons.
Thank you in any case for hand holding :)


Test Case failure with Python 2.7.13

I am running PhantomJS version 2.1.1 on Intel.  I have built PhantomJS from source.

While executing the test cases using Python 2.7.13, I am observing one test case failure.

module/webserver/requests: ERROR
ERROR: setup failed
ERROR: assert_is_false: expected false got true

The same test case passes when I use python 2.7.9. Is there any Python specific requirement for this test case?

On what platform you did build standalone executable file? can you please share in more details.

I am working on RHEL 7.3

I am facing same issue on SLES 12 SP3 with Python 2.7.13


docz build failing on 0.5.3

Bug Report
docz build fails on 0.5.3. docz dev works fine. Adding --debug provides nothing of value.
Reproduction Steps
git clone git@github.com:sappira-inc/refractal.git
yarn
yarn docs:build

Enviroment

OS: OSX 10.13.3
Node/npm version: Node 8 / yarn 1.7

Additional context/Screenshots

Please, try to update to new version of docz, if this still happening we can reopen this issue!

Getting same error on 0.7.0. docz dev still working fine :/ I've verified every page in dev mode works.

Hey @kylealwyn, can you create a repo with a basic example of your code?

https://github.com/sappira-inc/refractal

@kylealwyn your bug keeps happening even in the new versions of docz. I was reading about it and is something related to some package that can't be minified 😕 So, I'll close your issue in favor of that, if you could resolve, please give a shot :v:

@kylealwyn did you get it to work?? Having the same issue here 😅.
"dependencies": {
    "apollo-client": "^2.3.1",
    "autoprefixer": "^8.5.0",
    "classnames": "^2.2.5",
    "file-loader": "^2.0.0",
    "graphql": "^0.13.2",
    "graphql-tag": "^2.9.2",
    "lost": "^8.2.1",
    "node-sass-chokidar": "^1.3.0",
    "postcss-flexbugs-fixes": "^3.3.1",
    "postcss-inline-svg": "^3.1.1",
    "react-apollo": "^2.1.4",
    "react-inlinesvg": "^0.8.1",
    "rupture-sass": "^0.3.0",
    "styled-components": "^3.4.5"
  },

"devDependencies": {
    "@babel/core": "^7.0.0",
    "@babel/plugin-proposal-class-properties": "^7.0.0",
    "@babel/preset-env": "^7.0.0",
    "@babel/preset-react": "^7.0.0",
    "babel-loader": "^8.0.0",
    "clean-webpack-plugin": "^0.1.19",
    "css-loader": "^1.0.0",
    "docz": "^0.10.3",
    "html-loader": "^0.5.5",
    "html-webpack-plugin": "^3.2.0",
    "postcss-loader": "^3.0.0",
    "react": "^16.4.2",
    "react-dom": "^16.4.2",
    "react-router-dom": "^4.3.1",
    "sass-loader": "^7.1.0",
    "standard": "^11.0.1",
    "style-loader": "^0.23.0",
    "uglifyjs-webpack-plugin": "^1.3.0",
    "url-loader": "^1.1.1",
    "webpack": "^4.17.1",
    "webpack-cli": "^3.1.0",
    "webpack-dev-server": "^3.1.7",
    "webpack-hot-client": "^4.1.1"
  }

@Pabloicaza negative - still no luck. did you end up finding the issue?

I ended overwriting the config optimization and making minimize: false on doczrc.js file.
No idea if that is a good practice but works fine for me.
@kylealwyn
export default {
 modifyBundlerConfig: config => {
    config.optimization = {
        runtimeChunk: true,
        nodeEnv: 'production',
        namedModules: true,
        noEmitOnErrors: true,
        splitChunks: {
          chunks: 'all',
          name: 'vendors'
        },
        minimize: false,
    }
    return config;
  }
}


Correction for raw affiliation Université de Rennes, CNRS, ISCR-UMR 6226, F-35000 Rennes, France

Correction needed for raw affiliation Université de Rennes, CNRS, ISCR-UMR 6226, F-35000 Rennes, France
raw_affiliation_name: Université de Rennes, CNRS, ISCR-UMR 6226, F-35000 Rennes, France
new_rors: 015m7wh34;02feahw73;00adwkx90
previous_rors: 015m7wh34;02feahw73
works_examples: W4383896488
contact: 6d031be5883b34491443dc2542b30e1f:9fba0c265a222e03aa3e342d4bcfe1fa @ univ-rennes.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


F-Droid

It would be great to see this Android app on F-Droid!
F-Droid is an Android app store specifically for free/libre open-source apps. It would be great if your app could be released there, as it is the number one for getting FLOSS Android apps for many people.
F-Droid also builds all apps from source (optionally even reproducible), so downloads from there can be trusted.
The app developer FAQ or the quick start guide may help you to get started.
BTW a release on F-Droid could also bring some (more) popularity (in case that is intended), as it will show up in the app (new apps are featured there).

Thanks for the suggestion!
Indeed, we are planning a release on F-DROID in 2023 and already have it in our backlog. We can’t give an exact schedule unfortunately.


Hydrogen compatibility

I am trying to use ggplot2 with hydrogen for inline graphics on the atom editor. Plots appear to the right of code, covering following lines of code and truncating the x axis out. Granted I have no clue whether this is a problem in ggplot or hydrogen, but if you could give me a hint where to look, parameters to tweak and what not, maybe I can provide feedback here or to the hydrogen folks. Thanks

workaround for the plots to not appear to the right: use
(ggplot(..) + geom_line() + ...).show()
instead of just
ggplot(..) + geom_line() + ...
Workaround for the second issue where the graph is not shown completely: add the following to your Atom stylesheet (Edit -> Stylesheet):
.hydrogen.output-bubble {
  .bubble-output-container {
    max-height: 1000px !important;
  }
}

With these, I can use Hydrogen with ggpy fine


Implement Arbitrary for Block

Implement Arbitrary for Block

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

0 of 16 (0.0%)  changed or added relevant lines in 1 file are covered.
6 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.08%) to 82.5%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bitcoin/src/blockdata/block.rs
0
16
0.0%

Files with Coverage Reduction
New Missed Lines
%

bitcoin/src/blockdata/block.rs
6
77.23%

Totals

Change from base Build<PHONE_NUMBER>1:
-0.08%

Covered Lines:
19022

Relevant Lines:
23057

💛  - Coveralls


Introduce logic to uninstall iptable rules

Description
We need logic to uninstall iptable rules with our new iptables transparent proxy engine

Currently by design, when installing tproxy we are saving all rules to the file, and then applying them bu using iptables-restore. To uninstall the rules, we probably would have to do it on per rule basis, as with my current understanding, we cannot do something like "remove all rules present in this or that file" or "before applying our rules, save the snapshot of the current ones to some file and restore it when uninstalling tproxy". In the first case I didn't find a way to do it, in the second one we are introducing the edge case of - what if the rules changes in the meantime? Which may seriously break the environment. By going with "per rule" approach we can also solve this issue: https://github.com/kumahq/kuma-net/issues/66 as we could not only uninstall the rules but also install them this way.


Critical path automated testing

Is your feature request related to a problem? Please describe.
It's annoying to manually test the basic features of Ameliorate for every little change. Particularly for dependency updates, now that we've automated those with Renovate.
Describe the solution you'd like
Add automated testing that runs on PR for confirming that the main features of Ameliorate still work. Ideas:

home page (take screenshot)
log in
create topic
create problem, 2 criteria, 3 solutions
score 2
delete an unscored node
undo/redo
create support, critique
screenshot: claims tree
screenshot: topic diagram
screenshot: criteria table

Describe alternatives you've considered
Additional context
Technical ideas

playwright?

Running through the tutorials could be good tests too, related #419


Cloud upload performance issues

The cloud upload node is much slower than gsutil, since gsutil -m rsync can parallelize much of the work.
Using threading in Python is also hairy, since the global interpreter lock may cause issues.  (It's not yet clear if GIL is part of the problem.)
Should we find a way to improve performance using the python libraries?  Or rely on gsutil, which is already optimized?

We've decided to move to using gsutil.  This has many advantages, not only for performance, but also in simpler authentication to cloud storage.


issue #26

If this pull request addresses any open issues, please link them here.
What has been done to verify that this works as intended?
How could this contribution be further improved? Were any other approaches considered?

Thanks!
I made some changes and merged this locally. I just pushed to trunk/develop, so you can merge my changes too now.


Trim empty lines at the top of shader program

If you have blank lines before the start of the directives, none of the directives will be stored. This can not just be surprising, but the default shader versions can lull you into a false sense of security that the directives are working... until you need to bump the version. And it's especially bad if you start from the example code in this repository, which has exactly this pitfall in it (and is also a great example of how blank lines can end up at the top of a shader source in real code).
Basically, I just burned half an hour tracking down why I was getting compile failures about needing a version >= 140, after bumping the version to 330. That's bad, but fixable, so let's do that!

Good catch! Thanks for the report.


Popen is not Sendable on Windows

I got this error on Windows:
error[E0277]: the trait bound `*mut std::os::raw::c_void: std::marker::Send` is not satisfied in `plugin::Plugin`
  --> src\monitor.rs:80:48
   |
80 | pub fn monitor_signal(plugins: Vec<Plugin>) -> impl Future<Item = (), Error = io::Error> + Send {
   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `*mut std::os::raw::c_void` cannot be sent between threads safely
   |
   = help: within `plugin::Plugin`, the trait `std::marker::Send` is not implemented for `*mut std::os::raw::c_void`
   = note: required because it appears within the type `subprocess::win32::Handle`
   = note: required because it appears within the type `subprocess::popen::os::ExtChildState`
   = note: required because it appears within the type `subprocess::popen::ChildState`
   = note: required because it appears within the type `subprocess::Popen`
   = note: required because it appears within the type `plugin::Plugin`
   = note: required because of the requirements on the impl of `std::marker::Send` for `std::ptr::Unique<plugin::Plugin>`
   = note: required because it appears within the type `alloc::raw_vec::RawVec<plugin::Plugin>`
   = note: required because it appears within the type `std::vec::Vec<plugin::Plugin>`

I have a struct Plugin with a member of type subprocess::Popen.
Can Popen be Send?

Yes, definitely - it not being Send is accidental, due to use of win32::Handle in ExtChildState.
The way ExtChildState is used is definitely Send-safe, so ExtChildState just misses the appropriate unsafe impl. Or the unsafe impl could be in win32 where the unsafe code is kept - the standard library routinely implements Send for all its handles.

Maybe you could unsafe impl Send for ExtChildStat?

I've now added a Send implementation for win32::Handle, which should automatically extend to ExtChildState. @zonyitoo Can you check if it works for you in 0.1.13?

Yes, it works well.

Closing this issue. Can you publish 0.1.13?

Sure, it was published yesterday. Thanks for the report.

Thanks.

Is it really published? https://crates.io/crates/subprocess

I now see that I tagged the release on github, but didn't actually push it
to crates.io, sorry about that. I'm afraid the formal release will have to
wait until Sunday when I get back home. As a workaround until then, you
should be able to specify the github repo and the 0.1.13 release tag
directly in your Cargo.toml.
On Thu, May 31, 2018, 06:16 Y. T. CHUNG<EMAIL_ADDRESS>wrote:

Is it really published? https://crates.io/crates/subprocess
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/hniksic/rust-subprocess/issues/14#issuecomment-393396596,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABBzrrcC-H_qPXVeHnL8G3MlIcyLcIWUks5t326ygaJpZM4UEzD6
.

Okay. thanks!

0.1.13 is now available on crates.io.

Thanks a lot.


Request: Remove text style

Related to this request: https://github.com/Aidymouse/Hexfriend/issues/8
It would be helpful to remove text styles

You can do this now :)


Custom interval for internal stats from carbonserver

Very useful for more frequent sending internal stats from carbonserver to graphite which they are static 60 seconds before. Default is set to 60 seconds as before.

i hope this is enough. Sorry for inconvenience.


Is Lattigo's internals multithreaded?

I read in some of the issues that Lattigo's internal structures are not thread-safe.
Does this mean that Lattigo internals are single threaded?

Yes, the internals of Lattigo are single-threaded.


chore(ci): integrate with travis-CI to build & push the test images

Changes:

Integrate travis-CI to build/push the test images

Notes:

Some of the test images (jenkins-client, mongo-client, postgres-client, jupyter-client) are undergoing changes and will be added into the makefile as a separate PR

Signed-off-by: ksatchit<EMAIL_ADDRESS>

@ksatchit - Will it be possible to check what files changed and only build them? As more builds are added, wondering if travis will timeout. I will go ahead and merge the PR.

@ksatchit - Will it be possible to check what files changed and only build them? As more builds are added, wondering if travis will timeout. I will go ahead and merge the PR.

@kmova , agreed, will work on this.


add \rddots

I need to represent reversed ddots for
\documentclass{article}

% https://tex.stackexchange.com/a/17687/13262
\def\rddots#1{\cdot^{\cdot^{\cdot^{#1}}}}

\begin{document}
\[
2^{2^{\rddots2}}
\]
\end{document}

Perhaps it'd be worthwhile adding this to KaTeX's dots line-up.

You're welcome to define your own macros! (using either \def like this, or the macros option)
KaTeX doesn't generally implement random macros from TeX StackExchange; that's what custom macros are for.
KaTeX is more inclined to include macros from standard LaTeX packages. From that same StackExchange post, mathdots and its \iddots seem reasonable. The macro definition for \iddots might even be reasonable to implement directly, as it mostly uses \kern, \raisebox, and \ldotp which we have. I believe this is a good translation:
\mkern1mu\raisebox{1pt}{$\ldotp$}
\mkern2mu\raisebox{4pt}{$\ldotp$}
\mkern2mu\raisebox{7pt}{$\ldotp$}
\rule{0pt}{14pt}

This seems to roughly match the LaTeX rendering, but is a bit ugly.


Update package.json

remove packages we are no longer using.
passport
webpack etc

[ ] line 34 can be removed if we are not using webpack.
"handlebars-webpack-plugin": "^2.2.1",

[ ] lines 39 & 40 can be removed if we are not using passport
"passport": "^0.4.1",
"passport-local": "^1.0.0",

Update urls after repo is renamed
line 13
"url": "git+https://github.com/tracye1083/Project2.git"
line 18
"url": "https://github.com/tracye1083/Project2/issues"
line 20
"homepage": "https://github.com/tracye1083/Project2#readme",

Update name on line 2 after repo is renamed
"name": "project2",


FireDM (old name "pyidm")

Hello, i discover that Mr @Alex313031 not only develop Thorium brower and Thorium os but also develop several other awesome projects, it's awesome and thank you so much!
Sorry I don't know where to post my request, there was a famous software, several sites and users praised it like the ghacks site, this software is a powerful donwloader with a lot of magnificent unique options based on yr-dlp aevc a specific download accelerator more faster than ariac2c....but this open source project mysteriously disappears in April and the last version of April disables the software so we had to stay with the penultimate version....
fortunately some people have saved a copy of this software but its development has unfortunately stopped and no one seems to have restarted the project, I wonder if Mr. Alex can resume the project by forking it especially since it's based on yt-dlp and the software is very mature and complete and why not change the name of the downloader to Thorium Downloader manager since this project is abandoned and you are doing a favor by trying to relaunch the project .....
I looked for an alternative and I found the magnificent "Media-Downloader" on github but it pains me to see that this firedm project has been abandoned and we hope that it will be relaunched on windows and linux......thanks a lot !
https://github.com/afzl-wtu/firedm
https://www.ghacks.net/2020/08/13/pyidm-is-an-open-source-download-manager-that-can-download-videos-and-playlists/

@trimechee Let me look into it and see.

Awesome !! Thank you so much !🥇


Added Code for Aconic LED Controller 24Keys Using UFOR11

Added Aconic LED Controller 24Keys

Thank you @koffer08 for your contribution and @make-all for you review.


[BugFix] fix precision loss issue when importing datetime type data

Fixes #26782
for INSERT query, FE converts datetime type data to string format and BE parsed data from this string, If the datetime type has milliseconds, we don't handle it correctly
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[x] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

@Mergifyio backport branch-3.1

@Mergifyio backport branch-3.0

[FE PR Coverage Check]
:heart_eyes: pass : 1 / 1 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/analysis/DateLiteral.java
1
1
100.00%
[]


Re-enable test/IRGen/objc_super.swift with optimized, no asserts stdlib

Fixes rdar://72091795

@swift-ci smoke test

preset=buildbot,tools=RA,stdlib=DA install_destdir="${WORKSPACE}/install" installable_package="${SWIFT_INSTALLABLE_PACKAGE}
@swift-ci Please test with preset macOS

preset=buildbot,tools=RA,stdlib=DA install_destdir="${WORKSPACE}/install" installable_package="${SWIFT_INSTALLABLE_PACKAGE}
@swift-ci Please test with preset macOS

preset=buildbot,tools=RA,stdlib=DA install_destdir="${WORKSPACE}/install" installable_package="${SWIFT_INSTALLABLE_PACKAGE}"
@swift-ci Please test with preset macOS

I ran the preset locally and it worked.


[Feature/Idea]: Allow WinGet Releaser GitHub Action to run on workflow_run event

What would you like to see changed/added?
The Winget releaser action can currently only run if the workflow is a release event and a released event type, meaning the workflow has to look like this:
on:
  release:
    types: [released]

In my project, I have a workflow that runs whenever there's a new release, builds the app, and then uploads the artifacts to the release. The Windows run takes the longest usually, up to 5 minutes. This isn't ideal as the WinGet Releaser action has a wait time of 2.5 minutes before it should fail because it is unable to find the correct artifact, so I can pretty much guarantee that I am going to have to re-run it every time.
Therefore, to work around this, I could use the on: workflow_run to ensure that it will run after the Windows artifacts have been built and uploaded:
on:
  workflow_run:
    workflows: [Release]
    types:
      - completed

Therefore, allowing the WinGet Releaser GitHub Action to run on the workflow_run event, I won't have to re-run the action every time I make a release.

I had already observed this issue on a couple of other repositories too, and am already working on a new retry logic. The action is limited to very specific event types to prevent spamming of pull requests at winget-pkgs repository.
BTW, thanks for telling me about workflow_run event, will add an exception for it.
Updated workflow (work-in-progress): https://github.com/vedantmgoyal2009/vedantmgoyal2009/blob/test/winget-pkgs-automation/releaser-action/action.yml

@allcontributors please add @russellbanks for ideas

@russellbanks I was testing the action with the workflow_run event, but the problem is the action won't be able to get the release information automatically as it does now and my main concern while creating the action was only that a user would not have to supply everything as an input for the action.
Maybe the new retry logic can work for you, and if I will be able to find a way to do it without increasing the number of required inputs, I will surely add it. For now, I will keep it for the future.

Thank you for looking into this. I've had a look at the new retry logic and the wait time is definitely long enough for my use case.

Thanks! I will push it to v1.0.0 after some more testing.

I've tried out the longer wait time it works much better, thank you!

Hi @russellbanks, I've found a way to make work

@russellbanks, I've found a way to make the action work on any event. I'll update the action when I can get some free time 👍🏻

Since this original issue, I have actually been achieveing this by doing needs: [ build_release ] (only run when my build workflow is done), like OneFetch does. However, this would be super useful for getting other repositories to use WinGet Releaser, as they likely would be able to integrate it easier into their existing workflows :D


Provide manual Commit method and don't create mainloop if AutoCommit is disabled

I'm just a user but how are you going to return errors?

In the same manner as how it's now being done in the 'mainLoop' when AutoCommit.Enable is true.

Hi @wclaeys, your CLA check is failing because your commits aren't associated with your Github account. You need to connect your email address with your github account per https://help.github.com/en/github/setting-up-and-managing-your-github-user-account/adding-an-email-address-to-your-github-account.

@BPScott , thank you for your message. I've updated my profile.

Is this OK ?
What time will merge the pr?

Hi guys, how is this pr going now?

fixed yet?

this looks LGTM, but I'd love to have another 👍 from another Sarama maintainer @bai @dnwe @varun06 @mimaison @edoardocomar

Can somebody please cancel this new CLA check? Accidentally pushed without a proper e-mail setting (reverted it and did a proper commit). @BPScott maybe? Thank you!

@wclaeys I think the PR is ready, so why don’t you squash your commits now and force push again with your correct email, that should pass the CLA check

@wclaeys you need to rebase your branch on master to get the checks to pass

This branch is 1 commit ahead, 24 commits behind Shopify:master.

@wclaeys ah don't worry, I found that I had permission to push to your branch myself so I performed the rebase. If the checks both pass green then I will go ahead and merge. Thanks for your contribution on this one, really appreciated 👍

As there's been a lot of interest in this functionality, it would be great if all the people watching this PR and the accompanying issues could test it out with their application code once it's merged, in advance of us cutting any new release version.
  Could a  single consumer commit offsets manually?

As there's been a lot of interest in this functionality, it would be great if all the people watching this PR and the accompanying issues could test it out with their application code once it's merged, in advance of us cutting any new release version.
Assuming you're using go modules to manage your dependencies, once this has merged, you can update your go.mod to fetch the latest commit from the default branch by doing:
go get github.com/Shopify/sarama@HEAD

@dnwe Is there any timeline for releasing this feature?

Please suggest when are you releasing this, this helpful in cases where you want the commit to happen instantly, systems which care about order and duplicates really need it.

doesn't this break backwards compatibility with the addition of the new interface method?

@jameshalsall yup
I think we could apply this trick if we don't want users to implement directly the interface
    // A private method to prevent users implementing the
    // interface and so future additions to it will not
    // violate Go 1 compatibility.
    private()

from https://blog.golang.org/module-compatibility
what do you think @dnwe ?
this PR was also merged adding a new method to an existing interface https://github.com/Shopify/sarama/pull/1781

We implement this interface in our tests so we can use mock versions in our handlers,  I’m not sure preventing people from implementing it is the right option from my perspective.
Sent from my iPhone

On 19 Aug 2020, at 16:36, Diego Alvarez<EMAIL_ADDRESS>wrote:

@jameshalsall yup
I think we could apply this trick if we don't want users to implement directly the interface
// A private method to prevent users implementing the
// interface and so future additions to it will not
// violate Go 1 compatibility.
private()

from https://blog.golang.org/module-compatibility
what do you think @dnwe ?
this PR was also merged adding a new method to an existing interface #1781
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hey @wclaeys , found a bug that looks like introduced after this change. The problem is when you close the consumer it ignores the AutoCommit flag and commits the offset before it exits. That problem doesn't exists in 1.26.4
Described more here: https://github.com/Shopify/sarama/issues/1843


Add back sbt-jmh to fix build

This adds sbt-jmh back to the build which got lost in the merge commit https://github.com/julien-truffaut/newts/pull/35/commits/be01fe03bb202ce0548e9e512b706b9adca1f5dd. Without this plugin, running sbt fails with:
newts/build.sbt:82: error: Symbol 'type sbt.CompositeProject' is missing from the classpath.
This symbol is required by 'type sbtcrossproject.SBTCompat.CompositeProject'.
Make sure that type CompositeProject is in your classpath and check for conflicting dependencies with `-Ylog-classpath`.
A full rebuild may help if 'SBTCompat.class' was compiled against an incompatible version of sbt.
lazy val core    = crossProject(JVMPlatform, JSPlatform)
                               ^
newts/build.sbt:106: error: not found: value JmhPlugin
  .enablePlugins(JmhPlugin)
                 ^

Thanks!


[client] For label and chrome autofill corrections to setup/two

No issue

connect email and name labels to inputs
change name of hidden inputs so that chrome doesn't incorrect fill fields

Gonna close this for now as the code changes need to go in Ghost-Admin 😉

I need an adult


Update avoid-batch-requests-plugin.md

Stronger language to address Task 1816689
Can you also update the TOC.yml title to reflect the change of the title of this topic?

@JimDaly I did the changes in my own working branch as there were more files that needed to be changed.
See PR 4070 in the private repo. Done.

@JimDaly I did the changes in my own working branch as there were more files that needed to be changed.
See PR 4070 in the private repo. Done.


Opengl3 example

Not perfect but good enough to serve as an example now.
The bad:

Somewhat inefficient, uploads one model matrix for each cube every frame, and even when cubes are static (should run well on pretty much all hardware, especially VR capable)
autotools build missing
not sure if all hotkeys still work
math_3d.h is from an external project (MIT license), can be replaced later
HMD origin is on the floor - HMDs without positional tracking are stuck on the floor.

Move the floor a bit down? Then HMDs with positional tracking are floating too high. Make HMDs without positional tracking report a constant y pos of about 1.8meter?
The good:

It works
It demonstrates how to render into a texture and then in a second pass render the texture with distortion correction to a window with gl3
It renders blocks representing the controller position (TODO: dummy controllers always in (0,0,0))

Just needs better defaults for object location/orientation and look into the new api call for controller vector.


Add Tomcat 9 install document for java agent (windows)

Add Tomcat 9 install document for java agent (windows)

Add Tomcat 9 install document for java agent (windows)

Hello, Mr. Song, you are also using skywalking in your production environment, right, do you use Kafka as a buffer?