Alexa playing hard to get

Big mistake...I went on holiday about a month ago, for three weeks. When I returned, Alexa would not recognise a single device. "Not recognised" was the message. I could claim that I changed nothing...true...but of course, the entire system could have changed around me.
So, I upgraded HAB to the latest version. It appears to work. I can control all my devices from the Bridge Devices page. But the process which builds the devices to allow Alexa to discover them just does not work. Alexa finds a lot of devices (both from the app and from the PC)...all now marked as Hue type, but none of them work from the Alexa voice control or the Alexa app.
Habridge Devices continues to work, all devices can be fired on and off from the on-screen buttons, so something is failing between HAbridge and he Alexa discovery.
So given that I have definitely NOT changed anything on my side (other than the upgrade of HaBridge) can anyone indicate where I should start looking for the fix?
<< I should add that I also followed the advice and changed the Habridge Web Server port to 80 via the config file. However, it still shows as 8080 in the Bridge Control..perhaps not working either.
Thanks for the help

Got the port changed by changing java parameter!
Device recognition is confused... I am getting up to three entries per device. a Philips Hue Light and one or more Royal Philips Electronics smart device, for each device!  Nothing with a dimmer appears to work at all.

This is the same issue as #1133
Please delete your devices in the echo app or web page, renumber devices on the ha-bridge and do a discovery after that.

Hi ,
I shall certainly try that …again. But today I started getting an object error on a couple of device entries in ha-bridge.  Also random failures to connect …about 80% of my devices are working through Alexa. All work via Domoticz. The communication seems to be getting flaky. But after I forced port 80 to be used the flakiness reduced to about 10%.
I would say that performance has degraded over the last few weeks…and I have no idea whey
Thanks for the help
George
From: BWS Systems<EMAIL_ADDRESS>Sent: 14 October 2019 15:08
To: bwssytems/ha-bridge<EMAIL_ADDRESS>Cc: gbCambridge<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [bwssytems/ha-bridge] Alexa playing hard to get (#1141)
This is the same issue as #1133 https://github.com/bwssytems/ha-bridge/issues/1133
Please delete your devices in the echo app or web page, renumber devices on the ha-bridge and do a discovery after that.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/bwssytems/ha-bridge/issues/1141?email_source=notifications&email_token=AH2Y2FGGMDETDTSQ2DAMREDQOR4L5A5CNFSM4JAHB6OKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBE25FQ#issuecomment-541699734 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AH2Y2FFGWCEW7AZ527KTMHLQOR4L5ANCNFSM4JAHB6OA .  https://github.com/notifications/beacon/AH2Y2FCI3RDQP7PZBAYILDDQOR4L5A5CNFSM4JAHB6OKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBE25FQ.gif

Hi,
I did exactly as you said.
The result is that most devices have two identical entries, as Royal Philips Electronics smart device in the Alexa device table.  I have deleted the second of each duplication. When I activate (some) of them by voice I get told that there is a difficulty in communicating with the provider. Some work but certain devices (which work via Domoticz) always fail on the communication.
Is there a test mode where I can check the communication? I cannot see why some would work and some not, given they are all from the same communicating devices.
I think we are getting nearer.
Thanks for the help
George
From: BWS Systems<EMAIL_ADDRESS>Sent: 14 October 2019 15:08
To: bwssytems/ha-bridge<EMAIL_ADDRESS>Cc: gbCambridge<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [bwssytems/ha-bridge] Alexa playing hard to get (#1141)
This is the same issue as #1133 https://github.com/bwssytems/ha-bridge/issues/1133
Please delete your devices in the echo app or web page, renumber devices on the ha-bridge and do a discovery after that.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/bwssytems/ha-bridge/issues/1141?email_source=notifications&email_token=AH2Y2FGGMDETDTSQ2DAMREDQOR4L5A5CNFSM4JAHB6OKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBE25FQ#issuecomment-541699734 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AH2Y2FFGWCEW7AZ527KTMHLQOR4L5ANCNFSM4JAHB6OA .  https://github.com/notifications/beacon/AH2Y2FCI3RDQP7PZBAYILDDQOR4L5A5CNFSM4JAHB6OKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBE25FQ.gif

Had ha-bridge working on port 82 to avoid port 80 as this was in use by another application. Have discovered ha-bridge no longer working on port 82 as no devices can be found by Alexa. Have setup a test Raspberry Pi to run ha-bridge on port 80 and ha-bridge is now working as expected. So something has changed! with regards to port usage. I guess I must be one of many having this issue as either Alexa or ha-bridge have changed something. Hope someone can sort the mess.

@andrewborrill It is Amazon that has changed the requirement for port 80. It is unfortunate.


Support 'POINT EMPTY' conversion to geo_types

[x] I agree to follow the project's code of conduct.
[x] I added an entry to CHANGES.md if knowledge of this change could be valuable to users.

closes  #61

failures:
    conversion::tests::convert_empty_point

test result: FAILED. 60 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

Good catch!  I overlooked this test.

bors r+


Consider different organizational structure for discord channels

Few ideas:

Put metas in its own category
Make metas as a category, and put feeder channels inside that category

@rawxfish fixed in #573 !


Define resources requests/limits per VMI container

Description:
I want to be able to define resources requets/limits for the compute container in the VMI. Is it possible?
I am using this to provision VMs:

https://github.com/kubevirt/common-instancetypes

The cluster I'm working with requires to specify resources limits.
If I don't add the limits I get this error:
'failed to create virtual machine pod: pods "virt-launcher-name-4244w"
is forbidden: failed quota: build-quota: must specify limits.cpu for: compute;
limits.memory for: compute'

So it looks like the container compute requires limits, but I'm not sure about how to add them.
If I add them in the VM yaml definition, I get this other error, telling that they are conflicting:
Response error, code: 422, message: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"admission webhook \"virtualmachine-validator.kubevirt.io\" denied the request: VM field spec.template.spec.domain.resources.limits.cpu conflicts with selected instance type, VM field spec.template.spec.domain.resources.limits.memory conflicts with selected instance type","reason":"Invalid","details":{"causes":[{"reason":"FieldValueInvalid","message":"VM field spec.template.spec.domain.resources.limits.cpu conflicts with selected instance type","field":"spec.template.spec.domain.resources.limits.cpu"},{"reason":"FieldValueInvalid","message":"VM field spec.template.spec.domain.resources.limits.memory conflicts with selected instance type","field":"spec.template.spec.domain.resources.limits.memory"}]},"code":422}

Can anyone help me out?
What you expected:
I expect to be able to define resources requests/limits per running container.
URL:
https://kubevirt.io/user-guide/compute/resources_requests_and_limits/
Additional context:
I am programmatically provisioning VMs on a k8s cluster. Originally it did not require to specify the resources requests/limits, but now this changed and I need to add those.

/cc @lyarwood

Apologies, this was already answered here:

https://kubernetes.slack.com/archives/C0163DT0R8X/p1725356904034319?thread_ts=1725332705.368109&cid=C0163DT0R8X

You should use the AutoResourceLimitsGate feature gate https://kubevirt.io/user-guide/compute/resources_requests_and_limits/ to ensure the compute container always gets limits when using instance types. This avoids the need to provide these in the VM that as you have shown above would conflict with the instance type. The eventual VMI and compute container should have the limits however.

/area instancetype


BUG: Version 1.2.5 does not contain env_vars in RenderConfig

in the release overview and also in the documentation the Class RenderConfig() has the parameter 'env_vars' but in the code the parameter is missing https://github.com/astronomer/astronomer-cosmos/blob/2878d6accc2a725502158247dbd1af7ac37b4449/cosmos/config.py#L32
a new Release with this feature (like in main) would be nice

@SEBASTISCHMITT  This feature is part of the 1.3 release. You can find it at https://pypi.org/project/astronomer-cosmos/1.3.0a3/
We need to improve our documentation process, so it is versioned #750. In the meantime, we'll try to be more explicit in the docs about from which version that feature is available.


Compilation fails after upgrading to Vite 5

Full error message:
The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
failed to load config from C:\Users\<user>\PhpstormProjects\<project>\vite.config.ts
error when starting dev server:
Error [ERR_REQUIRE_ESM]: require() of ES Module<EMAIL_ADDRESS>from<EMAIL_ADDRESS>not supported.
Instead change the require of index.js in<EMAIL_ADDRESS>to a dynamic import() which is available in all CommonJS modules.
    at _require.extensions.<computed> [as .js] (file:///C:/Users/<user>/PhpstormProjects/<project>/node_modules/vite/dist/node/chunks/dep-4RECYSE1.js:67481:17)
    at Object.<anonymous> (C:\Users\<user>\PhpstormProjects\<project>\node_modules\@julr\vite-plugin-validate-env\dist\index.cjs:7:15)
    at _require.extensions.<computed> [as .js] (file:///C:/Users/<user>/PhpstormProjects/<project>/node_modules/vite/dist/node/chunks/dep-4RECYSE1.js:67481:17)

Process finished with exit code 1

Is your project in ESM?
Please read the link Vite gives you just before the error message:
https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated
Your package.json should have "type": "module".

Yeah, thanks for the quick fix. It still gives a warning though:
Trace: The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
    at warnCjsUsage (C:\Users\<user>\PhpstormProjects\<project>\node_modules\vite\index.cjs:32:3)
    at Object.<anonymous> (C:\Users\<user>\PhpstormProjects\<project>\node_modules\vite\index.cjs:3:1)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (C:\Users\<user>\PhpstormProjects\<project>\node_modules\@julr\vite-plugin-validate-env\dist\index.cjs:6:14)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at evalModule (C:\Users\<user>\PhpstormProjects\<project>\node_modules\jiti\dist\jiti.js:1:255612)
    at jiti (C:\Users\<user>\PhpstormProjects\<project>\node_modules\jiti\dist\jiti.js:1:254371)
    at C:/Users/<user>/PhpstormProjects/<project>/env.ts:3:30
    at evalModule (C:\Users\<user>\PhpstormProjects\<project>\node_modules\jiti\dist\jiti.js:1:256443)
    at jiti (C:\Users\<user>\PhpstormProjects\<project>\node_modules\jiti\dist\jiti.js:1:254371)
    at loadConfigFile (file:///C:/Users/<user>/PhpstormProjects/<project>/node_modules/unconfig/dist/index.mjs:153:13)
    at async Object.load (file:///C:/Users/<user>/PhpstormProjects/<project>/node_modules/unconfig/dist/index.mjs:76:24)
    at async loadConfig (file:///C:/Users/<user>/PhpstormProjects/<project>/node_modules/@julr/vite-plugin-validate-env/dist/index.mjs:81:18)
    at async validateEnv (file:///C:/Users/<user>/PhpstormProjects/<project>/node_modules/@julr/vite-plugin-validate-env/dist/index.mjs:115:15)
    at async runConfigHook (file:///C:/Users/<user>/PhpstormProjects/<project>/node_modules/vite/dist/node/chunks/dep-4RECYSE1.js:67497:25)
    at async resolveConfig (file:///C:/Users/<user>/PhpstormProjects/<project>/node_modules/vite/dist/node/chunks/dep-4RECYSE1.js:66950:14)
    at async _createServer (file:///C:/Users/<user>/PhpstormProjects/<project>/node_modules/vite/dist/node/chunks/dep-4RECYSE1.js:59489:20)
    at async CAC.<anonymous> (file:///C:/Users/<user>/PhpstormProjects/<project>/node_modules/vite/dist/node/cli.js:764:24)

I have the same issue, I did not have the warning before using this plugin, seems like it's something in that jiti dependency, though it's a bit ironic considering what that package does 🤷 Adding the stack trace as well:
$ VITE_CJS_TRACE=true npx vite build
Trace: The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
    at warnCjsUsage (/home/<project>/node_modules/vite/index.cjs:32:3)
    at Object.<anonymous> (/home/<project>/node_modules/vite/index.cjs:3:1)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:119:18)
    at Object.<anonymous> (/home/<project>/node_modules/@julr/vite-plugin-validate-env/dist/index.cjs:6:14)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:119:18)
    at evalModule (/home/<project>/node_modules/unconfig/node_modules/jiti/dist/jiti.js:1:255612)
    at jiti (/home/<project>/node_modules/unconfig/node_modules/jiti/dist/jiti.js:1:254371)
    at /home/<project>/env.mts:1:192
    at evalModule (/home/<project>/node_modules/unconfig/node_modules/jiti/dist/jiti.js:1:256443)
    at jiti (/home/<project>/node_modules/unconfig/node_modules/jiti/dist/jiti.js:1:254371)
    at loadConfigFile (file:///home/<project>/node_modules/unconfig/dist/index.mjs:153:13)
    at async Object.load (file:///home/<project>/node_modules/unconfig/dist/index.mjs:76:24)
    at async loadConfig (file:///home/<project>/node_modules/@julr/vite-plugin-validate-env/dist/index.mjs:81:18)
    at async validateEnv (file:///home/<project>/node_modules/@julr/vite-plugin-validate-env/dist/index.mjs:115:15)
    at async runConfigHook (file:///home/<project>/node_modules/vite/dist/node/chunks/dep-4RECYSE1.js:67497:25)
    at async resolveConfig (file:///home/<project>/node_modules/vite/dist/node/chunks/dep-4RECYSE1.js:66950:14)
    at async build (file:///home/<project>/node_modules/vite/dist/node/chunks/dep-4RECYSE1.js:66093:20)
    at async CAC.<anonymous> (file:///home/<project>/node_modules/vite/dist/node/cli.js:845:9)
    ```

Reproducing here too.

Can confirm it breaks when trying to load from a separate file (env.ts), but it works fine when is in the vite.config.mts file

Hi @Julien-R44, any update on this? I am getting this warning as well

Hi @Julien-R44. I have a same warning too. Is there any solution?

haven't had time to investigate yet. happy to review a PR for this

Fixed with version 1.1.1


Collection.create throws "missing URL" exception when given a Model and wait: true

...but succeeds if you don't pass wait: true.  Specifically this happens when passing a Model to Collection.create:
http://jsfiddle.net/colllin/nufbo3sx/
Is this expected?  I was surprised by it.  I want it to use the collection's URL... hence using Collection.create instead of Model.save.

I am facing the same problem....in the docs it is mentioned that collection.create can accept also an unsaved model object.

This looks like it should've been fixed in f5dba8edf4f9cf773d3564b3a6671a3b04d631aa. @ambicoder @colllin can you guys test out master and see if that fixes your problem? I'll add a test.

Related: #3028


No compatible binary for <IP_ADDRESS>

Hello!  I found your package from the Meteorpedia REST page, and tried to install it for use on my app.
Unfortunately, when I tried to install it on my app, it failed and said there was no compatible binary:
C:\meteor\simple-app>meteor add xcv58:collection-api
 => Errors while adding packages:

While checking for<EMAIL_ADDRESS>error: No compatible binary build found for this package. Contact the package author and ask them to publish it for your platform.

I'm brand-new to Meteor, so unfortunately I'm not able to be more helpful than this -- when will a binary come out for the newest version?

Hi @morphogencc, I think the #28 will answer your question in details. The short answer is that there is no difference between 0.2.6 and 0.3.0
Sorry for the inconvenience. I'm really want to setup a Windows environment if I have time.

Great!  I just tried it and it installs perfectly.  thanks!

Cool, have fun!


Decrease retries count in calls to Director

Description
Changes proposed in this pull request:
The idea behind that is to align timeouts in KEB with timeouts in Provisioner.

Decreased number of retries in calls to Director

I have created follow up issue to process errors from Director RegisterRuntime call. https://github.com/kyma-project/control-plane/issues/517


Added PlaySegment method to Xamarin.Forms

I added PlaySegment method so we may now play a specific part of an animation (based on its progress).
For example, PlaySegment(0.15f, 0.55f). And it supports reversing like PlaySegment(1.0f, 0.6f).
At the moment there is no way to use loop along with play segment.
It works on all three platforms. While iOS implementation took the least amount of time, an implementation for the other two platforms were a challenge 😁 (both does not support inverted values in SetMinAndMaxProgress method).
In addition, I fixed an issue with Loop in UWP.
Waiting for a feedback.

@RustamIrzaev thanks for your contribution.
I think PlaySegment() needs accept frame values too, besides progress.
I suppose if we do this now, we are avoiding a future breaking change when adding this feature.
What do you think about?

Ok, let me investigate this @fabionuno .
I suppose two different methods would work - PlaySegment (for progress) and PlayFrames (for frames). PlayProgress does not sound good.
What do you think? Any ideas on naming?

Because frames are represented by integer values and progress are floats, I think we can use a PlaySegment overload.
We can turn SegmentEventArgs class an empty abstract class, just to inheritance.
Create a ProgressSegmentEventArgs and FrameSegmentEventArgs that inherits from SegmentEventArgs.
public class ProgressSegmentEventArgs : SegmentEventArgs
{
  public float From { get; set; }
  public float To { get; set; }

  public ProgressSegmentEventArgs() : base()
  {
  }

  public ProgressSegmentEventArgs(float from, float to)
  {
    From = from;
    To = to;
  }
}

Each overload of PlaySegment invokes a specialized SegmentEventArgs class.
Makes sense?

Won't it be confusing to have a single method doing two different things?
Say, if I forgot to do explicit conversion from int to float then I will have a behavior I didn't expect.
I guess, it would be nice to have two methods.

@RustamIrzaev I agree two names might be better here to avoid confusion. Can you implement that, and do a rebase?

Ok @RustamIrzaev , makes sense.
I think 'Segment' is generic and there is no direct relation to progress.
I suppose PlayProgressSegment and PlayFrameSegment are more explicit names.
Let me know what you think.

So, we will use two methods.

@RustamIrzaev Yes correct. Can you implement the change, and do the rebase?

@martijn00 working on that

Stuck with rebasing. Will come back after sleep ☹

@RustamIrzaev i've gone ahead and done the rebase for you.

@martijn00 oh, that you 👍


Images on officer section not loading properly

On the about page, some of the images for the officers are not displaying properly. The files for these images exist, but they do not appear to be formatted correctly. E.g., public/public/officers/Ranger_Chenore.jpg exists, but trying to view it in any application does not work.
Requirements
Replace the images for these officers:

Eric Navar
Ranger Chenore
Trevor Richardson

Check to make sure the images display correctly.

#43


[custer-test] Add support of DD and VASP account for premainnet

Added flag to indicated whether CT need to run on premmainnet
Added support of loading dd and vasp account on premainet instead of minting to faucet account.
Motivation
We are planning deploy premainnet, this integration will enable ability of CT running on premmainnet.
We are planing run swarm mode on premainnet once it has been deployed
Have you read the Contributing Guidelines on pull requests?
(Write your answer here.)
Test Plan
Tested on branch premainnet_release_0.21 https://github.com/libra/libra/tree/release-0.21
Tested with node premainnet.libra.org:80
Tested with local swarm
--diag
cargo run -p cluster-test --  --swarm --peers "premainnet.libra.org:80" --diag --chain-id 16 --premainnet

Getting faucet account sequence number on premainnet.libra.org:80(premainnet.libra.org)...seq=26
Submitting txn through premainnet.libra.org:80(premainnet.libra.org)...seq=27
Waiting all full nodes to get to seq 27
[premainnet:26]
[premainnet:26]
[premainnet:27]
Looks like all full nodes are healthy!

--emit_tx
cargo run -p cluster-test -- --swarm --peers "premainnet.libra.org:80" --emit-tx --workers-per-ac 1 --chain-id 16 --premainnet

INFO 2020-09-14T20:16:52.194129Z testsuite/cluster-test/src/tx_emitter.rs:222 Will use 1 workers per AC with total 1 AC clients
INFO 2020-09-14T20:16:52.194250Z testsuite/cluster-test/src/tx_emitter.rs:227 Will create 15 accounts_per_client with total 15 accounts
INFO 2020-09-14T20:16:52.194315Z testsuite/cluster-test/src/tx_emitter.rs:365 Loading faucet account from DD account
INFO 2020-09-14T20:16:52.772402Z testsuite/cluster-test/src/tx_emitter.rs:391 Loading VASP account as seed accounts
INFO 2020-09-14T20:16:55.121644Z testsuite/cluster-test/src/tx_emitter.rs:429 Completed minting seed accounts
INFO 2020-09-14T20:16:55.121658Z testsuite/cluster-test/src/tx_emitter.rs:430 Minting additional 15 accounts
INFO 2020-09-14T20:16:59.272044Z testsuite/cluster-test/src/tx_emitter.rs:465 Mint is done
INFO 2020-09-14T20:16:59.272436Z testsuite/cluster-test/src/tx_emitter.rs:261 Tx emitter workers started
submitted: 4 txn/s, committed: 3 txn/s, expired: 0 txn/s, latency: 3003 ms, p99 latency: 3100 ms
submitted: 3 txn/s, committed: 3 txn/s, expired: 0 txn/s, latency: 3425 ms, p99 latency: 4100 ms
submitted: 4 txn/s, committed: 4 txn/s, expired: 0 txn/s, latency: 2790 ms, p99 latency: 2950 ms
submitted: 3 txn/s, committed: 3 txn/s, expired: 0 txn/s, latency: 3303 ms, p99 latency: 3900 ms
submitted: 3 txn/s, committed: 4 txn/s, expired: 0 txn/s, latency: 3050 ms, p99 latency: 3300 ms
submitted: 4 txn/s, committed: 3 txn/s, expired: 0 txn/s, latency: 2702 ms, p99 latency: 2700 ms
Total stats: submitted: 225, committed: 225, expired: 0
Average rate: submitted: 3 txn/s, committed: 3 txn/s, expired: 0 txn/s, latency: 3036 ms, p99 latency: 4100 ms

Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)

-mint-file "/var/folders/qd/tg50mr0d7k75qvztr_8yk2km0000gn/T/ca35d007a43d55375a7cb4b32cd5e972/mint.key"

Let's make sure we can run --emit and --diag without this strange key

INFO 2020-09-15T00:17:39.915339Z testsuite/cluster-test/src/tx_emitter.rs:388 DD account current balances are [AmountView { amount:<PHONE_NUMBER>99998, currency: "Coin1" }, AmountView { amount:<PHONE_NUMBER>00000, currency: "Coin2" }, AmountView { amount: 0, currency: "LBR" }], requested 15000000 coins

/land

/land stop

@snakech :bulb: This PR is already queued for landing

:exclamation: Land has been canceled due to this PR being updated with new commits. Please issue another Land command if you want to requeue this PR.

/land

:broken_heart: Test Failed - commit-workflow

/land

:broken_heart: Test Failed - commit-workflow

/land

:broken_heart: Test Failed - commit-workflow

/land

:broken_heart: Test Failed - commit-workflow

/land

:broken_heart: Test Failed - commit-workflow

/land

gotcha, I changed ltdlib/module this is the reason


build: bring back -fsanitize=address|undefined flags

This patch brings back the -fsanitize flags. It adds the CC_SANITIZE
item to Kconfig and the sanitize type dependent to it. The default (like
previously with autotools) is -fsanitize=undefined, unless disabled or
non supported.
Signed-off-by: Leandro Dorileo<EMAIL_ADDRESS>

LGTM

ok, applied.


Add Ability to Remove Pending Ships in Beacon

As the list of pending ships begin to grow within beacon, It would be helpful to add the ability to remove or revoke the pending status of a ship.
I've noticed this as an inconvenience while testing the connections of new Urbit IDs, but I can imagine it would be helpful to purge pending accounts as more users troubleshoot connection issues.

As I recall, the new version that @tinnus-napbus has completed doesn't have a web UI for %beacon at all, so it won't be visual clutter.


Add option for "zero aware" quantiles/bins

Sometimes a user might want to analyze a factor where positive and negative values are treated separately. Since the amount of positive values might be different than the negative ones (the factor is biased) the quantiles option wouldn't do a good job in separating positive from negative values. Currently the only way to separate positive from negative values is to use the bins option, providing custom bin ranges. Is this enough or do we want to improve it?

I think an option to use the quantile method separately for positive and negative values would be a useful feature.

Do you have a suggestion for option name and description? :)

split_pos_neg?

`Compute quantile boundaries separately for positive and negative signal values. This is useful if your signal is centered and zero is the separation between long and short signals, respectively."

@luca-s Did you plan to add that in?

I am not planning on working on this soon. The change is trivial but there are API change and unit testing updates involved, which takes time. Anybody who feels like working on this is welcome.

Hi! I can take this over. Perhaps by_sign would be a better name? It looks like we already have a by_group parameter, which has a similar functionality: compute quantile buckets separately for each group. We'd like to compute quantile buckets separately for positive/negative values, so it seems logical to have a similar name.
@twiecki thoughts?

hmm, I like the idea just not sure that logic becomes apparent to users. zero_aware feels a bit more intuitive to me. Thoughts @luca-s?

zero_aware seems good to me too

Closed by #306


Add utils for common class tests (related to issue #62)

Add helper classes for common class tests. Splitting #62  into smaller PRs that are more manageable.
These files should not affect any existing classes or app functionality.

Codecov Report

Merging #98 (8332f49) into master (fd8b8ec) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #98   +/-   ##
=========================================
  Coverage     41.48%   41.48%
  Complexity      406      406
=========================================
  Files           113      113
  Lines          2189     2189
  Branches        242      242
=========================================
  Hits            908      908
  Misses         1222     1222
  Partials         59       59

Continue to review full report at Codecov.

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


Upgrade x/sys to work with Go 1.18

Builds with 1.18 are currently failing with numerous errors like:
> make bins
go build -o .build/dummy internal/cmd/dummy/dummy.go
# golang.org/x/sys/unix
../../../pkg/mod/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f/unix/syscall_darwin.1_13.go:29:3: //go:linkname must refer to declared function or variable
../../../pkg/mod/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f/unix/zsyscall_darwin_amd64.1_13.go:27:3: //go:linkname must refer to declared function or variable

This is pretty easily addressed with go get -u go.lang.org/x/sys,
which (plus make build to verify) is all this commit contains.

It would probably be good to upgrade other things and do a go mod tidy,
but unfortunately that is currently failing with:
go.uber.org/cadence/internal imports
	go.uber.org/yarpc imports
	github.com/uber/tchannel-go tested by
	github.com/uber/tchannel-go.test imports
	github.com/streadway/quantile tested by
	github.com/streadway/quantile.test imports
	.: "." is relative, but relative import paths are not supported in module mode

I've opened a PR for the core fix: https://github.com/streadway/quantile/pull/8
And I've asked yarpc/tchannel internally to see if they can address this as well,
as I'm really not sure how long that will take to merge.
In the meantime, as far as I can tell, we just can't do go mod tidy.
Updating / installing / etc of dependencies works fine.

Pull Request Test Coverage Report for Build 89b867d6-d27c-4b62-8c33-fee06ead2f45

0 of 5 (0.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 63.721%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/compatibility/adapter.go
0
1
0.0%

internal/common/auth/service_wrapper.go
0
2
0.0%

internal/compatibility/proto/request.go
0
2
0.0%

Totals

Change from base Build 2db1895d-7a68-425d-b16f-1dd9cce48c62:
0.04%

Covered Lines:
12379

Relevant Lines:
19427

💛  - Coveralls


Add wait for API response before code sync

Add wait for API response before the code-sync is performed to the e2e tests.

@tplevko, do you think that it might be a good idea to introduce the "busy" concept as a matter to signal that the UI is doing something?
It might not be available for all circumstances and also we would need to check if impacts negatively the UI, but apart from that, I'm wondering if that would be helpful for the e2e.
The way that I imagine it, is that whenever you hit the sync button, there's an attribute set as "busy" and whenever the response is back, we switch it to "ready" or something like that. Maybe we could do something like that for the canvas as well.

In case it wouldn't negatively impact the UX, the "busy" concept could be a way to go. However for now I'd maybe leave as it is - the issues are only related to e2e tests, which are interacting with the UI "too quickly", causing the syncing issues with the backend, so I hope this could be solved with the waits for API responses.

Sorry @tplevko, I didn't meant for you to do it :smile: , I meant if it could be helpful for the e2e  in the future, so I could start thinking on that and makes our lives easier and tested


fail to sql query if column contains capitalized letter

Describe the bug
fail to execute sql when select with column if the column contains capitalized letter
To Reproduce
import pyarrow as pa
import datafusion

if __name__ == "__main__":
    tbl = pa.Table.from_arrays([[1, 2, 3]], names=["id"])

    for column_name in ["id", "ID", "iD"]:
        ctx = datafusion.SessionContext()
        ctx.register_record_batches(name="tbl", partitions=[tbl.rename_columns([column_name]).to_batches()])

        sql = f"SELECT {column_name} from tbl"

        try:
            print(sql)
            ctx.sql(sql)
        except Exception as e:
            print(e)

SELECT id from tbl
SELECT ID from tbl
DataFusion error: SchemaError(FieldNotFound { field: Column { relation: None, name: "id" }, valid_fields: [Column { relation: Some(Bare { table: "tbl" }), name: "ID" }] })
SELECT iD from tbl
DataFusion error: SchemaError(FieldNotFound { field: Column { relation: None, name: "id" }, valid_fields: [Column { relation: Some(Bare { table: "tbl" }), name: "iD" }] })

Expected behavior
All sql should executed successfully.
Additional context
Python 3.8.16
pyarrow 12.0.0
datafusion 23.0.0

seems column name needs to be quoted. SELECT "ID" FROM tbl works as expected.

If anyone else encounters a similar issue, they may find helpful information regarding this behavior by referring to the section Identifiers and Capitalization of DataFusion's documentation. Reproducing for completeness:

Please be aware that all identifiers are effectively made lower-case in SQL, so if your csv file has capital letters (ex: Name) you must put your column name in double quotes or the examples won’t work.


Devices Type ?

I have install shenxn/ha-dyson using HACS.
Then, when trying to set-up the Dyson_Local integration, in the dropdown list "Device Types", I can see
"360 eyes ...",
"Pure Cool Link",
"Pure Humidity + Cool",
etc.
but no "Pure Hot + Cool".
Do you know how to make this last choice appear or how to enter it or is it possible to setup within configuration.yaml (with which parameters) ?
Thanks.

I forgot to add those device types into the list. Will fix that soon.

Same here. I also have a pure hot+cool link.
Cheers

Same here. I also have a pure hot+cool link.
Cheers

Did you succeed to connect ?
I have a Pure Hot+Cool and tried to use Pure Cool and Pure Humidity+Cool but both did not work.
Have to wait for Shenxn to add these device types into the list.

Version 0.4.0 should fix this.

Version 0.4.0 should fix this.

Awsome, I have succeeded now to setup everything.
Fēicháng gǎnxiè ni, @shenxn


Bug in message compiling when validating array of multiple schemas

I think there is a bug when compiling Or messages
Let's say we have the following schema defined:
type_a = Dry::Validation.Schema do
  required(:type).filled(format?: /\AA\z/)
end

type_b = Dry::Validation.Schema do
  required(:type).filled(format?: /\AB\z/)
end

schema = Dry::Validation.Schema do
  required(:data).each { schema(type_a) | schema(type_b) }
end

input = {
  data: [
    { type: 'A' },
    { type: 'B' }
  ]
}

schema.call(input).success? # => true

As long as the input matches the schema no problem. But when the input does not match the schema and I try to compile errors an Or error message is instantiated with an array as left param and then path is called on the array instead of the left item.
input = {
  data: [
    { type: 'A' },
    { type: 'B' },
    { type: 'BANG!' }
  ]
}

schema.call(input).success? # => false
schema.call(input).errors

NoMethodError: undefined method `path' for #<Array:0x000000027c4168>
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message.rb:24:in `initialize'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:94:in `new'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:94:in `visit_or'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:43:in `visit'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:137:in `visit_key'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:43:in `visit'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:141:in `block in visit_set'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:141:in `map'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:141:in `visit_set'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:43:in `visit'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:48:in `visit_failure'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:43:in `visit'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:137:in `visit_key'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:43:in `visit'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:48:in `visit_failure'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:43:in `visit'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:39:in `block in call'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:39:in `map'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:39:in `call'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/result.rb:54:in `message_set'
        from /home/andy/.rvm/gems/ruby-2.3.1/gems/dry-validation-0.10.3/lib/dry/validation/result.rb:46:in `errors'
        from (irb):132

I've run into this bug too. I think it is simpler than what @arobecke has described. Here is a simpler reproduction:
> (Dry::Validation.Schema { required(:foo) {  str? & filled? | int? } }).call({}).messages
NoMethodError: undefined method `path' for #<Array:0x007ff08139a930>
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message.rb:24:in `initialize'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:94:in `new'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:94:in `visit_or'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:43:in `visit'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:53:in `visit_hint'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:43:in `visit'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:81:in `block in visit_and'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:81:in `map'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:81:in `visit_and'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:43:in `visit'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:48:in `visit_failure'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:43:in `visit'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:39:in `block in call'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:39:in `map'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:39:in `call'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/result.rb:54:in `message_set'
... 2 levels...
	from /Users/johnbackus/.rubies/ruby-2.3.3/bin/irb:11:in `<top (required)>'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:74:in `load'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:74:in `kernel_load'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:27:in `run'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/lib/bundler/cli.rb:332:in `exec'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/lib/bundler/cli.rb:20:in `dispatch'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/lib/bundler/cli.rb:11:in `start'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/exe/bundle:34:in `block in <top (required)>'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/lib/bundler/friendly_errors.rb:100:in `with_friendly_errors'
	from /Users/johnbackus/.gem/ruby/2.3.3/gems/bundler-1.13.6/exe/bundle:26:in `<top (required)>'
	from /Users/johnbackus/.gem/ruby/2.3.3/bin/bundle:22:in `load'
	from /Users/johnbackus/.gem/ruby/2.3.3/bin/bundle:22:in `<main>'

Digging a bit deeper, it looks like the issue is caused by Message::Or expecting to always receive a Hint but actually receiving Array<Hint> in cases where the left hand side of the validation is many predicates chained together:
irb(main):003:0> (Dry::Validation.Schema { required(:foo) {  str? & filled? | int? } }).call({}).messages

From: /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message.rb @ line 25 Dry::Validation::Message::Or#initialize:

    20: def initialize(left, right, messages)
    21:   @left = left
    22:   @right = right
    23:   @messages = messages
    24:   require 'pry'; require 'pry-byebug'; binding.pry
 => 25:   @path = left.path
    26: end

1 (#<Dry::Validation::Message::Or>) p left
[#<Dry::Validation::Hint predicate=:str? path=[:foo] text="must be a string" options={:args=>[], :input=>nil, :rule=>:foo, :check=>nil}>, #<Dry::Validation::Hint predicate=:filled? path=[:foo] text="must be filled" options={:args=>[], :input=>nil, :rule=>:foo, :check=>nil}>]
2 (#<Dry::Validation::Message::Or>)
NoMethodError: undefined method `path' for #<Array:0x007ffa07229cd8>
  ...

irb(main):004:0> (Dry::Validation.Schema { required(:foo) {  str? | int? } }).call({}).messages

From: /Users/johnbackus/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message.rb @ line 25 Dry::Validation::Message::Or#initialize:

    20: def initialize(left, right, messages)
    21:   @left = left
    22:   @right = right
    23:   @messages = messages
    24:   require 'pry'; require 'pry-byebug'; binding.pry
 => 25:   @path = left.path
    26: end

1 (#<Dry::Validation::Message::Or>) p left
#<Dry::Validation::Hint predicate=:str? path=[:foo] text="must be a string" options={:args=>[], :input=>nil, :rule=>:foo, :check=>nil}>
=> #<Dry::Validation::Hint predicate=:str? path=[:foo] text="must be a string" options={:args=>[], :input=>nil, :rule=>:foo, :check=>nil}>
2 (#<Dry::Validation::Message::Or>)
=> {:foo=>["is missing", "must be a string or must be an integer"]}

It's exactly like @backus says. I guess my description of the problem was just silly imprecise.

I'll try to fix it in 0.10.x

Has this been fixed yet? I'm occasionally getting this this message. required(:paramname).filled { (str? & format?(regex)) | int? }
It breaks hitting the int? when I remove the | int? it works. Still I would like for the | int? to be there as there are occiasions when the param isn't a string  but an int.

Still an issue with 0.11.1. Would this be a difficult bug to fix?

This is still an issue for dry-schema, I opened an issue, track it for progress https://github.com/dry-rb/dry-schema/issues/26


Add configure channels option in compose flow #506

Here's the natural extension of the compose "send via" select screen for this purpose

It'd be helpful to know exactly what data we need from them to configure various services, so I can stage those screens

Can we use an icon instead of text here? Like a gear? I'm thinking it's always easier for translation.

Done.

@caharding is this essential for open beta?

@caharding what screen do we expect to see when once clicks on the "gear" icon?

Would take them to settings page where they configure that channel. But we can punt this to Public Release

Ok, great. Public release it is

Taking the user to the settings page will kill the state of the check-in being composed. The settings page needs to be inline in the modal


When trying to use groups in plugin, having PANIC

Current Behavior
When I'm trying to connect to VPN server with setted up openvpn-auth-oauth2 (there is goauthentik issuer connected), getting panic.
Expected Behavior
Don't get panic error
Steps To Reproduce
1. Setup openvpn
2. Setup openvpn-auth-oauth2
3. Connect Authentik as IDP
4. Setup groups in openvpn-auth-oauth2
5. Get panic!

Environment

openvpn-auth-oauth2 Version: 1.19.0
OpenVPN Server Version: 2.6.9
Server OS: Ubuntu
OpenVPN Client (flavor, OS): TunnelBlick 4.0.0beta16 (build 5960)
OIDC Provider: Authentik

openvpn-auth-oauth2 logs
time=2024-03-03T11:42:36.314Z level=ERROR msg="http: panic serving <IP_ADDRESS>:54447: runtime error: invalid memory address or nil pointer dereference\ngoroutine 5 [running]:\nnet/http.(*conn).serve.func1()\n\tnet/http/server.go:1898 +0xbe\npanic({0x7fcaf9f0a800?, 0x7fcafa25fd10?})\n\truntime/panic.go:770 +0x132\ngithub.com/jkroepke/openvpn-auth-oauth2/internal/oauth2/providers/generic.(*Provider).CheckGroups(0xc000034388?, 0x7fcaf984e225?)\n\tgithub.com/jkroepke/openvpn-auth-oauth2/internal/oauth2/providers/generic/check.go:43 +0x22\ngithub.com/jkroepke/openvpn-auth-oauth2/internal/oauth2/providers/generic.(*Provider).CheckUser(0xc0000c3408, {0xc000034528?, 0x7fcaf984dfe5?}, {{0x6, 0x1, {0xc000195130, 0x10}, {0x0, 0x0}, {0x0, ...}}, ...}, ...)\n\tgithub.com/jkroepke/openvpn-auth-oauth2/internal/oauth2/providers/generic/check.go:23 +0x5f\ngithub.com/jkroepke/openvpn-auth-oauth2/internal/oauth2.(*Provider).Handler.(*Provider).oauth2Callback.func3.1({0x7fcaf9f903a0, 0xc0001149a0}, 0x1?, 0xc00006c000, {0x7fcaf9f90c80?, 0xc000181710?}, {0xc00012219a?, 0x20?})\n\tgithub.com/jkroepke/openvpn-auth-oauth2/internal/oauth2/handler.go:205 +0x5e8\ngithub.com/zitadel/oidc/v3/pkg/client/rp.CodeExchangeHandler[...].func1(0xc0001b0360)\n\tgithub.com/zitadel/oidc/v3@v3.13.0/pkg/client/rp/relying_party.go:529 +0x7a7\nnet/http.HandlerFunc.ServeHTTP(0x7fcaf9f8c880?, {0x7fcaf9f903a0?, 0xc0001149a0?}, 0xc0000f2640?)\n\tnet/http/server.go:2166 +0x29\ngithub.com/jkroepke/openvpn-auth-oauth2/internal/oauth2.(*Provider).Handler.(*Provider).oauth2Callback.func3({0x7fcaf9f903a0, 0xc0001149a0}, 0xc0001b0240)\n\tgithub.com/jkroepke/openvpn-auth-oauth2/internal/oauth2/handler.go:231 +0x807\nnet/http.HandlerFunc.ServeHTTP(0xc0001296c0?, {0x7fcaf9f903a0?, 0xc0001149a0?}, 0x7fcaf9b43afa?)\n\tnet/http/server.go:2166 +0x29\nnet/http.(*ServeMux).ServeHTTP(0x7fcaf98ad079?, {0x7fcaf9f903a0, 0xc0001149a0}, 0xc0001b0240)\n\tnet/http/server.go:2683 +0x1ad\nnet/http.serverHandler.ServeHTTP({0xc000024360?}, {0x7fcaf9f903a0?, 0xc0001149a0?}, 0x6?)\n\tnet/http/server.go:3137 +0x8e\nnet/http.(*conn).serve(0xc000226000, {0x7fcaf9f90c80, 0xc000024270})\n\tnet/http/server.go:2039 +0x5e8\ncreated by net/http.(*Server).Serve in goroutine 20\n\tnet/http/server.go:3285 +0x4b4"
time=2024-03-03T11:42:36.391Z level=INFO msg="deny OpenVPN client cid 6, kid 1" ip=<IP_ADDRESS>:56439 cid=6 kid=1 common_name=denvilk
time=2024-03-03T11:42:36.391Z level=DEBUG msg="client-deny 6 1 \"client rejected\""

openvpn server logs
No response
Anything else?
No response

panic reference:
https://github.com/jkroepke/openvpn-auth-oauth2/blob/09de39ac8f6d661cb5f0314460c85eaf13b9cf9c/internal/oauth2/providers/generic/check.go#L43
It seems, this is happening, because I do not get an id_token from Authentik. However I panic should never happens.
I will take an look to the panic here, but It might not solve your problem. openvpn-auth-oauth2 required an id_token, that normally comes from the SSO provider. But it seems like that Authentik wont provide one.

@jkroepke , how openvpn-auth-oauth2 does get id_token?
It tries to get authorization code and then change this code to id_token? Or other way?

Because I tried to test Authentik OIDC with OIDC Debugger and I get there id_token

And as I mentioned, it panics only when I'm using groups in openvpn-auth-oauth2

it panics only when I'm using groups in openvpn-auth-oauth2

Thats expected, Because I use the id_token only for validation, e.g. groups, roles.
I implement to nil checks that should prevent panics. Could you test them?
https://github.com/jkroepke/openvpn-auth-oauth2/actions/runs/8130566610/artifacts/1292827388

Now I got this
time=2024-03-03T13:46:13.341Z level=WARN msg="provider did not return a id_token. Validation of user data is not possible." ip=<IP_ADDRESS>:51450 cid=9 kid=1 session_id=anOYdsohxd2Wqf8A common_name=denvilk

In worst case, I need the id_token. To reproduce the issue.

 Or you can send message on my with my Github username

Hm

In worst case, I need the id_token. To reproduce the issue.

In this case it wont help, because I implement 2 conditions
https://github.com/jkroepke/openvpn-auth-oauth2/blob/aff99a7bb1fdedf1aaf482faae7ccd842f6f37cf/internal/oauth2/providers/generic/user.go#L19-L26
One of them is the error you did get. It appears, if no id_token was given (before parsing).
The second one appears if a id_token was given, but not parsable.
There are 2 possibilities:

OIDC Debugger behave differently then go oauth2 library. Did you configure any scopes?
Authentik returns an id_token, but its getting ignored.

I didn't configured any scopes.
But what flow you are use to get tokens?
As I understood OIDC Debugger send 2 main requests:

with grant_type=code
change this code for access token and id_token

On the second request Authentik sends response in format:
{
  "access_token": "",
  "token_type": "Bearer",
  "expires_in": 300,
  "id_token": ""
}

But what flow you are use to get tokens?

The OAuth Authorization Code Flow is used in general. The OIDC Debugger may use the same.
In openvpn-auth-oauth2 any logic around OIDC is handled by https://github.com/zitadel/oidc which is using https://github.com/golang/oauth2 to retrieve the token.
I have have to setup an own Authentik server to go into this.

In openvpn-auth-oauth2 any logic around OIDC is handled by https://github.com/zitadel/oidc which is using https://github.com/golang/oauth2 to retrieve the token.

I've tried same OIDC Debugger with Zitadel and it works the same as Authentik.

I have have to setup an own Authentik server to go into this.

Okey, I will wait your message :)

I was not able to reproduce it.
I setup

Authentik with docker compose https://docs.goauthentik.io/docs/installation/docker-compose using version 2024.2.1.
an application using the wizard
an dedicated user and group.
I had to configure CONFIG_OAUTH2_AUTHORIZE__PARAMS="prompt=consent", otherwise I got an error that an user consent is required.

everything works as expected. I also did not get this mesage:

time=2024-03-03T13:46:13.341Z level=WARN msg="provider did not return a id_token. Validation of user data is not possible." ip=<IP_ADDRESS>:51450 cid=9 kid=1 session_id=anOYdsohxd2Wqf8A common_name=denvilk

Can you give your config file for test? May be I have mistakes in my configuration

Here is my config for openvpn-auth-oauth2 (I have some feature enabled to always test some features)
Related to Authentik (which runs on http://localhost:9000/), the values are used:
CONFIG_HTTP_SECRET=...
CONFIG_OAUTH2_AUTHORIZE__PARAMS=prompt=consent
CONFIG_OAUTH2_CLIENT_ID=...
CONFIG_OAUTH2_CLIENT_SECRET=...
CONFIG_OAUTH2_ISSUER=http://localhost:9000/application/o/openvpn-auth-oauth2/
CONFIG_OAUTH2_REFRESH_ENABLED=true
CONFIG_OAUTH2_REFRESH_SECRET=...
CONFIG_OAUTH2_VALIDATE_GROUPS=openvpn
CONFIG_OPENVPN_ADDR=tcp://<IP_ADDRESS>:8081
CONFIG_OPENVPN_PASSWORD=password

I don't understand how did you do this, but now all works...
Thank you <3


Remove comma

Shouldn't there be no comma?

Coverage remained the same at 98.919% when pulling<PHONE_NUMBER>655e1672c2f562e8c87a95dfaac2c4 on adriansuter:patch-2 into 9cdb71a3577e8ab5546c6135a326e8e6fb7bea83 on slimphp:master.


Rollups and periods  for particular metrics

Is it possible to specify different rollups for different metrics?
If you look at the graphite documentation http://graphite.readthedocs.org/en/latest/config-carbon.html#storage-schemas-conf
You can specify
[garbage_collection]
pattern = garbageCollections$
retentions = 10s:14d
I'd like to be able to do that for particular metric patterns.
Is it possible to do this?

Cyanite is presently not able to handle regexp rollups.

Hi @ajazam this will be available as part of #80, thanks!


Check if values are null. Might be the case for legacy messages

A test build to so that affected people can verify if this fixes the bug:
ProspectorInfo-4.2.1-pre.zip

Good news, I can receive the shared data without a crash now! Also the shared data through chat creates a huge wall of text, it's a bit much.

@Vityuri Yes, I know that this is a bit annoying, but I couldn't come up with a better approach.
The alternatives would be to exchange the prospecting data outside of the game, e.g., via file transfer and than merge the files manually, using something like https://github.com/FalcoGer/VSProspectorInfoMerger.
Another alternative would be to change this mod from client-only to server-client, but then again this would require that every server admin has to add this mod, otherwise you cannot use it. Altough I don't know If one can make the server part optional 🤔
@p3t3rix As that fixes the initial bug I guess we can merge it

now that you mention it, a hybrid approach could work. But i think it is kind of confusing when some feature are not working/work differently when the server has something installed.
But it could open the way to some cool features like auto-syncing. I didn't play for a long time but does the world map reveal for all players (and if not is there a mod for this ?)


[r] Update SOMADataFrame$create() to automatically mark ordered()

Add an check in SOMADataFrame$create() to detect if a column in the schema is ordered. If so, automatically mark the enumerations as such.
Note: this only happens if

there are enumerations for the column
the column in the arrow schema is marked as ordered
there is no attribute 'ordered' on the enumerations for the column

Backport CI is not triggering; I will manually create a backport PR for release-1.5


[BEAM-41,BEAM-42] Revise MapState and SetState APIs to leverage ReadableState

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

@JingsongLi and @aljoscha I think you two have the most familiarity with this.
This updates the MapState and SetState API so the methods return ReadableState instead of duplicating the design pattern for every method. This makes it so there is really just one readLater() and we use it wherever we need a future-like value.
I have pushed just the API changes to get feedback, and then I will change the in-memory state.

This does make the APIs clearer.

Coverage decreased (-0.04%) to 70.126% when pulling ee75faa57967b3bdd339b6fb33610a1ec1e46408 on kennknowles:more-state into 8a33591d9bc9dfd328f3b5a3ac22be192d81531a on apache:master.

+1, I like the simplification/unification of the API

Run Flink ValidatesRunner

retest this please

Changes Unknown when pulling 604be6703daadfcf085d69ee2859577218d6b3d4 on kennknowles:more-state into ** on apache:master**.

Changes Unknown when pulling 604be6703daadfcf085d69ee2859577218d6b3d4 on kennknowles:more-state into ** on apache:master**.


Add mini reporter

This PR fixes #18.
Replacing default reporter with a mini one:

It also adds --verbose option, which enables old full-blown output.

If a test is hung, how do I tell which one it is? At least with the old reporter and --serial you could basically figure it out. Could you maybe make this one show just the current test title? (I know that would probably only work in serial mode). Maybe it only shows in serial mode and the test has taken longer than 2 seconds (so you aren't blocking to write to stdout every 100ms when the tests are fast)?

Good point. But we can only show the last test title, we don't have an information regarding currently running test.

Oh shoot. That's right. We could maybe pass up a nextTest  property in serial mode. We can add that later though.

We could maybe pass up a nextTest property in serial mode

I think this is a bit overkill.

I think we should keep the old output in a --verbose mode. (And --debug triggers verbose mode.

:heart: Looks really good. I much prefer this default output.

I put this on hold until #363 gets merged.

Feedback welcome!

When all tests are finished and it logs the last 68 passed that is moved one line up since the test title is no longer there. Would be nice if 68 passed was always in the same place. Just log an empty line above it on the final call.

Good move adding the test title.

Just log an empty line above it on the final call.

Just tried it, looks really bad:

Good move adding the test title btw.

Credits for the idea go to @jamestalmage ;)

LGTM

Because we use Error for our internal messages

In that case, we should create our own internal error class and use it where we explicitly want to suppress the stack trace.

In that case, we should create our own internal error class and use it where we explicitly want to suppress the stack trace.

:+1: Same thing here: https://github.com/sindresorhus/ava/blob/4865674403c2eea40643fa8aa1d9383ea3e8eb3a/cli.js#L99

Good suggestion!

Should be done in a follow-up: https://github.com/sindresorhus/ava/issues/368

:heart_eyes_cat:


Feature: Copy code sample to clipboard

@johndmulhausen here is the general strategy i would suggest for taking this on:

see children here  -> to learn more about children, read this
use this util to get the text of the code block -> onlyText
use the useClipboard hook to enable copying of the value, see here (see implementation example here)
add a button to copy it
???
profit!


Investigate Feature Parity with react-packager (for React Native)

Wanted to list a set of ideas, concepts that could be inspiration for webpack to implement to have feature parity with react-packager (for React Native).
Speaking with @nathonhammond I was explained a concept of provideModules.
It appears as if it declaratively (via pragma comments in files), declare the exact exports and imports used. Apparently then their compiler generates the minimum AST needed to compile that module increasing speed, etc. Maybe this is worth experimenting? Would require some strange Parser configurations.

They were discussing threads-a-go-go on the discussion too about webpack.
Thoughts on Webpack using real threads to speed up compilation?


Compatibility with Scispacy

I am using the versions
spaCy   3.0.3
negspacy 1.0.0
scispacy 0.4.0
I think the current version of negspacy is not compatible with scispacy. I already read the issue  but I think it works with the previous negspacy version. I also tried other models of scispacy like en_core_sci_sm but got the same error:
ValueError: [E002] Can't find factory for 'negex' for language English (en). This usually happens when spaCy calls `nlp.create_pipe` with a custom component name that's not registered on the current language class. If you're using a Transformer, make sure to install 'spacy-transformers'. If you're using a custom component, make sure you've added the decorator<EMAIL_ADDRESS>(for function components) or<EMAIL_ADDRESS>(for class components).

Available factories: attribute_ruler, tok2vec, merge_noun_chunks, merge_entities, merge_subtokens, token_splitter, parser, beam_parser, entity_linker, ner, beam_ner, entity_ruler, lemmatizer, tagger, morphologizer, senter, sentencizer, textcat, textcat_multilabel, en.lemmatizer

My code is as follows:
 nlp = spacy.load("en_core_sci_md")
    ts = termset("en_clinical")
    ts.add_patterns({'preceding_negations': ["nor","non"]})
    nlp.add_pipe(
        "negex",
        config={
            "neg_termset":ts.get_patterns(),
            "chunk_prefix": ["no"],
        },
        last=True,
    )

    for text in df['Cons']:
        doc = nlp(str(text))
        ..........

Can you help?

Just double checking that you imported negspacy above with ‘’’from negspacy.negation import Negex’’’ as well as pip installed the latest scispacy language model?

Yes! but in my case, it looks like the code only uses "from negspacy.termsets import termset". When I added "from negspacy.negation import Negex", I got the following error
RuntimeError: [E896] There was an error using the static vectors. Ensure that the vectors of the vocab are properly initialized, or set 'include_static_vectors' to False.
BTW. I transferred the code to another project and download  "en_core_web_sm" (without loading it), and the code weirdly
ran without error. I just wanted to inform you for the cross checking.

Take a look at this issue: https://github.com/allenai/scispacy/issues/318
I had the same issue and resolved by starting a new clean environment when moving to spacy 3.0 and scispacy 0.4.


Refactor - Store exception pc back in vm

Codecov Report

Merging #529 (6a56f7b) into main (3568ee3) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #529   +/-   ##
=======================================
  Coverage   89.59%   89.60%
=======================================
  Files          24       24
  Lines       10220    10203   -17
=======================================
- Hits         9157     9142   -15
+ Misses       1063     1061    -2

Files
Coverage Δ

src/interpreter.rs
98.84% <100.00%> (+0.48%)
:arrow_up:

src/jit.rs
92.07% <100.00%> (+0.01%)
:arrow_up:

src/vm.rs
81.25% <100.00%> (ø)


Edges are rough

You've done a great job on this but I wanted to let you know that the edges are a little rough in your drawing. The image looks fragmented. I don't know how to improve, but I just wanted to let you know.

Hello @mommyme! Thanks for noticing this, can you please check if the following line fixes the issue?
ringProgressView.allowsAntialiasing = true

The rough edges were caused because allowsAntialiasing was set to false. I updated the control to have the antialiasing enabled by default, so it should look good now 😀


feat(copilot-chat): remove deprecated options

Diagnostic help was deprecated and now just proxies to prompt actions (by default diagnostics are auto included in all selections so this feature was no longer necessary)
Selecton is now visual || buffer by default so the custom selection config is no longer needed too

ty!


Uppercase type parameters / generics

One thing that is still a bit awkward when looking at the ReScript syntax is the type parameters that have a leading '. When unfamiliar with the syntax, this was the hardest thing to grok for me because I've never seen anything like that. I would always mentally parse the reason code and was looking for the second '. This was when I was slightly interested in Reason and looked at some code samples but didn't look up the syntax.
I think it would be a massive improvement to go for capitalized type parameters. I think there is syntax real estate for that, and it's actually consistent with how typescript does it, so instantly familiar. I think this has also been discussed for Reason 4 but not sure about this (@eduardoRFS). Thoughts?
type null_undefined<'a> = Js.nullable<'a>

vs
type null_undefined<A> = Js.nullable<A>

I'm just not sure that's only about syntax, because type inference will also use 'a, I'm also not sure how easy is to change this behavior in the compiler. So maybe if that's only on the printer and parsing? So that is still 'a in the AST?
let f = (a, b) => (a, b)
// will be ('a, 'b) => ('a, 'b)

FWIW, Ramda’s documentation uses a and b as where we would use 'a or 'b https://ramdajs.com/docs/
(a → Boolean) → [a] → Boolean

My worry with using A and B is that they look too much like variants. Newcomers sometimes have trouble with the differences between variant types and variant constructors, and so this is a common newcomer error:
type stringOrInt = | Str<string> | Int<int>
type stringArray = array<Str> // <- This doesn’t do what the user thinks it does

If people starting seeing working code that looks similar to that, then it may just make it more confusing.

This was one of the things that I actually didn't like in the new syntax when it was first "teased". The combination of < and ' is surprisingly hard to parse when reading. I know that we're past the point when the change to <> can be discussed (and there are actually reasons why () was a better choice in the initial...well...second revision of reason). But I think there might be a need to address the type variables. Capitals might be confusing as we have module names and variant types that are capitalised.
But, I guess, of all options the least confusing albeit harder to read is <'a>


Agent update prior 0.6.2

We use this flow to update the agent:
func() error {
     return syscall.Unlink(u.binaryPath)
},
func() error {
     return os.Rename(b.Name(), u.binaryPath)
},

Os.temp creates tmpfs :
 df -T /tmp/go-build* | awk '{print $2}' | tail -n1
tmpfs

and agent is for sure not on tmpfs:
df -T /usr/local/bin/synpse | awk '{print $2}' | tail -n1
btrfs

This gives error:
invalid cross-device link

Solution: Move to byte level operation for agent move.

ah yes, just need to read and write as bytes

:cry: Fix soon will be there.


[Feat]compile to C++

The reason is that seems LLVM is not pretty stable(go-llvm only), I will add another choice that compiles to C++. So that we can have an alternative to use when go-llvm can't work.
The reason not Nim but C++ is because already found some features of Nim is not suit for elz. For example, in Nim, slice_a equals to sliceA, that is auto conversion. And method also is a problem, proc a(self: t) let t can't have a property call a, but it should in elz.

Also is because have to match more platform, and LLVM need install, I think that is a problem.

I will use another project to do this because it's hard to keep compiler clean temporary.


feat:add user-agent in headers

add user-agent in headers

I hope closing is due to fact it can be read just as string ;)


Update Links “tiktok-23”

Automatically generated by Netlify CMS

👷 Deploy Preview for distracted-hoover-7b89cc processing.
🔨 Explore the source changes: 5ff739d3363f7af43521c6063d6fb6a06be0488f
🔍 Inspect the deploy log: https://app.netlify.com/sites/distracted-hoover-7b89cc/deploys/610f92721262f6000868d534


Feature request - Mashed Potatoes and Shepherd's Pie

Mashed potatoes would be crafted with potato, butter and bowl. Shepherd's pie would be crafted with mashed potatoes, cooked lamb chop, carrot, and cheese. Alternatively the recipes could be seperate, and you just use a potato and bowl for shepherd's pie instead of the mashed potatoes.

Now 4 uses for cheese!


Chain rule not used in TermEvolver

The functions are defined by their values, not as explicit compositions, so the chain rule is not used.

Indeed, the type is as a function on tangent spaces, not as a differentiable function.

Looks as if this is used only in cases where it is correct - linear, bilinear, sums.

Change does propagate, example to f(g(f(a))) from g


rustfmt: Use edition form Cargo.toml rather than always 2015 (DO NOT MERGE)

This patch shows an example solution to #4074, where rustfmt will fetch the edition from the source of truth: Cargo.toml. This is meant as a point of discussion rather than a serious fix.
For example, this allows rustfmt to be run against files in the rust-lang/rustfmt repository itself and automatically detect the correct edition of 2018 as configured in Cargo.toml, rather than using the incorrect default of 2015 like it does today.
From discussion in #4074, it sounds like the current preference is to not have rustfmt be the user-facing tool for formatting individual files and to instead have a different command for that? But in the meantime this provides a reference for one way that it could be done.
Note that if this were a serious PR I would also have written tests for the change, including the missing tests for the current scan for rustfmt.toml, but again this is just meant to be an example to show how the lookup logic could work and per discussion it isn't expected to be accepted.
As of this patch, the edition selection order is as follows:

--edition provided as an argument
edition from any rustfmt.toml in the directory tree or on the host system (IMO this should be deprecated)
package.edition from Cargo.toml in the directory tree (NEW)
2015

Closing this example in favor of #5071 which implements support at the cargo fmt level instead

@nickbp Thanks for opening this PR to share your solution to this problem (I see that you just closed this). Everyone's feedback is much appreciated so please leave any comments you have about the proposed feature on #5071!


Write a method to let it not log the information?

I'm seeing the same thing. When an error is thrown, its stack trace is being printed before the exception is thrown. I want to catch that exception when I know the error (for example, when the port is already in use) to keep the console clean. Fleck provides a LogAction function to customize the logging, but it doesn't take effect; it logs anyway. Is this the expected behavior?


refactor(key-auth) perf improvements + handle duplicate key in querystring

The old implementation was too cumberstone with little added benefit
(since an API key will never be searched in some other place than
querystring or headers anyways). This new one is simpler but also more
efficient because it involves fewer loops and table lookups.

refactor key-auth access handler (perf + simpler)
handle duplicated API keys in querystring (HTTP 401)
add duplicate key in qs test

Fix #1462

Imo the 401 is the right, defensive, response to duplicate keys :+1:


ReferenceError on circular dependencies with ES2015 let

Bug report

What is the current behavior?
When using export let and circular dependencies, runtime will have ReferenceError errors.
If the current behavior is a bug, please provide the steps to reproduce.
git clone https://github.com/filipesilva/webpack-let-export
cd webpack-let-export
yarn
yarn test

This repository contains only three source files:
// ./src/index.js
import { ModuleOne } from './module-one';
import { ModuleTwo } from './module-two';

console.log(ModuleOne);
console.log(ModuleTwo);

// ./src/module-one.js
import { ModuleTwo } from './module-two';
export let ModuleOne = 'ModuleOne';
console.log(ModuleTwo);

// ./src/module-two.js
import { ModuleOne } from './module-one';
export let ModuleTwo = 'ModuleTwo';
console.log(ModuleOne);

Running webpack-cli --mode development --devtool source-map will produce a bundle at dist/main.js that can be ran but will error:
$ node dist/main.js
D:\sandbox\webpack-let-export\dist\main.js:117
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ModuleOne", function() { return ModuleOne; });
                                                                                ^

ReferenceError: ModuleOne is not defined
    at Module.ModuleOne (D:\sandbox\webpack-let-export\dist\main.js:117:101)
    at Module../src/module-two.js (D:\sandbox\webpack-let-export\dist\main.js:138:53)
    at __webpack_require__ (D:\sandbox\webpack-let-export\dist\main.js:20:30)
    at Module../src/module-one.js (D:\sandbox\webpack-let-export\dist\main.js:118:69)
    at __webpack_require__ (D:\sandbox\webpack-let-export\dist\main.js:20:30)
    at Module../src/index.js (D:\sandbox\webpack-let-export\dist\main.js:98:69)
    at __webpack_require__ (D:\sandbox\webpack-let-export\dist\main.js:20:30)
    at D:\sandbox\webpack-let-export\dist\main.js:84:18
    at Object.<anonymous> (D:\sandbox\webpack-let-export\dist\main.js:87:10)
    at Module._compile (internal/modules/cjs/loader.js:689:30)

Inside dist/main.js we can find the following code:
/*!***************************!*\
  !*** ./src/module-one.js ***!
  \***************************/
/*! exports provided: ModuleOne */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ModuleOne", function() { return ModuleOne; });
/* harmony import */ var _module_two__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./module-two */ "./src/module-two.js");

let ModuleOne = 'ModuleOne';
console.log(_module_two__WEBPACK_IMPORTED_MODULE_0__["ModuleTwo"]);

/***/ }),

The important part is that ModuleOne is declared using let, but Webpack adds the /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ModuleOne", function() { return ModuleOne; }); export before the declaration.
Since let statements are subject to the temporal dead zone, we get a Reference error when using the Webpack export.
This can be worked around by not using let. But a better fix would be for webpack exports to not reference variables before they are declared.
If you manually edit dist/main.js to have the exports after the declaration, the errors will not occur.
/*!***************************!*\
  !*** ./src/module-one.js ***!
  \***************************/
/*! exports provided: ModuleOne */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _module_two__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./module-two */ "./src/module-two.js");

let ModuleOne = 'ModuleOne';
console.log(_module_two__WEBPACK_IMPORTED_MODULE_0__["ModuleTwo"]);

// ### Move this statement on both module-one and module-two ###
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ModuleOne", function() { return ModuleOne; });
/***/ }),

$ node dist/main.js
undefined
ModuleTwo
ModuleOne
ModuleTwo

What is the expected behavior?
No runtime errors.

Other relevant information:
webpack version:  4.30.0
Node.js version: v10.10.0
Operating System: Windows
Additional tools: none

This is working as intended. With circular dependencies you get TDZ errors.
It's similar to the errors you get in this code:
let ModuleTwo = 'ModuleTwo';
console.log(ModuleOne);
let ModuleOne = 'ModuleOne';
console.log(ModuleTwo);

Hi @sokra, thank you for looking at this. You're completely right.
This is expected behaviour with circular dependencies and let/class (both suffer from TDZ). I also tried Rollup and Chrome with individual ES modules and they both behave the same as you describe.

So what's the answer here though, if we have classes that have circular dependencies? I've got typeorm entities that model database tables, and I don't see any way to not have the classes reference each other :(

@RobbieGM thanks for that link, the diagrams in there were very helpful in understanding what's going on. That being said, his solution of the "internal module" ("global export file" as you call it) seems like it would make treeshaking impossible no? I'm curious if your refactor has the potential to increase bundle size.
btw for anyone arriving here from the web looking for a quick and dirty solution, it looks like circular dependencies work fine if you target es5 where hoisting is allowed.

I'm not sure, you may want to test whether or not tree shaking still works. In my case I'm using webpack server side (with Next.js) so bundle size is a non-issue.


New prepocess and extract

Description
This PR reworks the preprocess and extract feature
Thanks @AznamirWoW for the code!

Motivation and Context

How has this been tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[X] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

is it ready to merge?

@blaisewf So, the crepe still doesn't work on multi-gpu, but apart from that, yes, it's ready


Change the PKGBUILD and usage.install, to match the changes proposed …

…in https://github.com/EvanPurkhiser/mkinitcpio-colors/pull/8
I would not recommend getting any more verbose in usage.install for 2 reasons.

usage.install should be boiled down to the very essence, which would be to not forget adding the hook to ones /etc/mkinitcpio.conf, as well as using sd-colors and enabling the systemd service, if one needs it
Atm people running a systemd based initramfs don't need any further information, as they will probably be used to switching out busybox hooks for systemd ones and a little bit of tweaking in a busybox dominated Arch world

@EvanPurkhiser As explained in https://github.com/EvanPurkhiser/mkinitcpio-colors/pull/8#issuecomment-632884578, I would ask you to review his Pull Request, so other people can utilize your work as best as possible. Thanks

Ahh sorry, I'm just now seeing this.
I'll take a look :)


the export operation which convert the pt model to onnx, are you using the official export function?

Some blogs said that the pt model should be exported to onnx with the parameter opt=12, but I found that you did not set the parameter.
Can you provide some script to export the rknn from onnx? Thank you so much. I just meet some errors during the convert steps.

sorry for the late response.
Issue 1: it really depends on the inference framework capbilities.
Issue 2: you may run the following to convert ONNX to rknn ( 1.5.2 and 1.6.0 verified, you need to have RKNN setup/rknn.api in your env ):
import cv2
import numpy as np
from rknn.api import RKNN

ONNX_MODEL = './best.onnx'
RKNN_MODEL = './best.rknn'
DATASET = './datasets.txt'

QUANTIZE_ON = True

CLASSES = {0:'box', 1:'box_open'}

nmsThresh = 0.45
objectThresh = 0.5

model_h = 640
model_w = 640

color_palette = np.random.uniform(0, 255, size=(len(CLASSES), 3))

def letterbox(im, new_shape=(640, 640), color=(114, 114, 114)):
    # Resize and pad image while meeting stride-multiple constraints
    shape = im.shape[:2]  # current shape [height, width]
    if isinstance(new_shape, int):
        new_shape = (new_shape, new_shape)

    # Scale ratio (new / old)
    r = min(new_shape[0] / shape[0], new_shape[1] / shape[1])

    # Compute padding
    ratio = r, r  # width, height ratios
    new_unpad = int(round(shape[1] * r)), int(round(shape[0] * r))
    dw, dh = new_shape[1] - new_unpad[0], new_shape[0] - new_unpad[1]  # wh padding

    dw /= 2  # divide padding into 2 sides
    dh /= 2

    if shape[::-1] != new_unpad:  # resize
        im = cv2.resize(im, new_unpad, interpolation=cv2.INTER_LINEAR)
    top, bottom = int(round(dh - 0.1)), int(round(dh + 0.1))
    left, right = int(round(dw - 0.1)), int(round(dw + 0.1))
    im = cv2.copyMakeBorder(im, top, bottom, left, right, cv2.BORDER_CONSTANT, value=color)  # add border
    return im, ratio, (dw, dh)

def draw_detections(img, box, score, class_id):
    """
    Draws bounding boxes and labels on the input image based on the detected objects.

    Args:
        img: The input image to draw detections on.
        box: Detected bounding box.
        score: Corresponding detection score.
        class_id: Class ID for the detected object.

    Returns:
        None
    """

    # Extract the coordinates of the bounding box
    x1, y1, w, h = box

    # Retrieve the color for the class ID
    color = color_palette[class_id]

    # Draw the bounding box on the image
    cv2.rectangle(img, (int(x1), int(y1)), (int(x1 + w), int(y1 + h)), color, 2)

    # Create the label text with class name and score
    label = f'{CLASSES[class_id]}: {score:.2f}'

    # Calculate the dimensions of the label text
    (label_width, label_height), _ = cv2.getTextSize(label, cv2.FONT_HERSHEY_SIMPLEX, 0.5, 1)

    # Calculate the position of the label text
    label_x = x1
    label_y = y1 - 10 if y1 - 10 > label_height else y1 + 10

    # Draw a filled rectangle as the background for the label text
    cv2.rectangle(img, (label_x, label_y - label_height), (label_x + label_width, label_y + label_height), color,
                  cv2.FILLED)

    # Draw the label text on the image
    cv2.putText(img, label, (label_x, label_y), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 0), 1, cv2.LINE_AA)

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

def postprocess(input_image, outputs):
    img_h, img_w = input_image.shape[:2]
    boxes0 = np.transpose(np.squeeze(outputs[0]))
    scores0 = np.transpose(np.squeeze(outputs[1]))

    if len(scores0.shape) == 1:
        scores0 = np.expand_dims(scores0, axis=1)
    scores = sigmoid(scores0)
    max_scores = np.max(scores, axis=1)  # select the max score for multiple classes
    max_indices = np.argmax(scores, axis=1)

    t = np.where(max_scores >= objectThresh)[0]

    boxes = boxes0[t]
    scores = max_scores[t]
    class_ids = max_indices[t]

    # high -> low ordered by score
    sorted_indices = np.argsort(scores)[::-1]
    boxes = boxes[sorted_indices]
    scores = scores[sorted_indices]
    class_ids = class_ids[sorted_indices]

    print(boxes)
    print(scores)
    print(class_ids)

    # Get the number of rows in the outputs array
    rows = boxes.shape[0]

    # Lists to store the bounding boxes, scores, and class IDs of the detections
    boxes_ = []
    scores_ = []
    class_ids_ = []

    # Calculate the scaling factors for the bounding box coordinates
    x_factor = img_w / model_w
    y_factor = img_h / model_h

    # Iterate over each row in the outputs array
    for i in range(rows):
        # Extract the class scores from the current row
        classes_scores = scores[i]

        # Find the maximum score among the class scores
        max_score = np.amax(classes_scores)

        # If the maximum score is above the confidence threshold
        if max_score >= objectThresh:
            # Get the class ID with the highest score
            class_id = np.argmax(classes_scores)

            # Extract the bounding box coordinates from the current row
            x, y, w, h = boxes[i]

            # Calculate the scaled coordinates of the bounding box
            left = int((x - w / 2) * x_factor)
            top = int((y - h / 2) * y_factor)
            width = int(w * x_factor)
            height = int(h * y_factor)

            # Add the class ID, score, and box coordinates to the respective lists
            class_ids_.append(class_id)
            scores_.append(max_score)
            boxes_.append([left, top, width, height])

    print(boxes_)
    print(scores_)
    print(class_ids_)

    # Apply non-maximum suppression to filter out overlapping bounding boxes
    indices = cv2.dnn.NMSBoxes(boxes_, scores_, score_threshold=objectThresh, nms_threshold=nmsThresh)

    # Iterate over the selected indices after non-maximum suppression
    for i in indices:
        # Get the box, score, and class ID corresponding to the index
        box = boxes_[i]
        score = scores_[i]
        class_id = class_ids_[i]

        # Draw the detection on the input image
        draw_detections(input_image, box, score, class_id)
    return input_image

def export_rknn():
    rknn = RKNN(verbose=True)

    rknn.config(
        # see:ultralytics/yolo/data/utils.py
        mean_values=[[0, 0, 0]],
        std_values=[[255, 255, 255]],
        # TODO: adjust the following values
        # mean_values=[[123.675, 116.28, 103.53]],  # IMAGENET_MEAN = 0.485, 0.456, 0.406
        # std_values=[[58.395, 57.12, 57.375]],  # IMAGENET_STD = 0.229, 0.224, 0.225
        quantized_algorithm='normal',
        quantized_method='channel',
        # optimization_level=2,
        compress_weight=False,  # compress model to reduce the rknn model size
        # single_core_mode=True,
        # model_pruning=False,  # pruning model to reduce the model size
        target_platform='rk3588'
    )
    rknn.load_onnx(
        model=ONNX_MODEL,
        outputs=[
            '/model.22/Mul_2_output_0', '/model.22/Split_output_1',
        ]
    )
    rknn.build(do_quantization=QUANTIZE_ON, dataset=DATASET, rknn_batch_size=1)
    rknn.export_rknn(RKNN_MODEL)

    # evaluation purposes
    # rknn.accuracy_analysis(
    #     inputs=['/home/workspace/onnx2rknn_YOLOv8/onnx_model/official/zidane.jpg'],
    #     output_dir="./snapshot",
    #     target=None
    # )

    rknn.init_runtime()
    return rknn

if __name__ == '__main__':
    # data preparation
    img_path = './images/video_08_00_frame_000001.jpg'
    orig_img = cv2.imread(img_path)
    # img = cv2.cvtColor(orig_img, cv2.COLOR_BGR2RGB)
    img = orig_img
    img_h, img_w = img.shape[:2]
    resized_img, ratio, (dw, dh) = letterbox(img, new_shape=(model_h, model_w))  # padding resize
    # resized_img = cv2.resize(img, (model_w, model_h), interpolation=cv2.INTER_LINEAR) # direct resize
    input = np.expand_dims(resized_img, axis=0)

    # export to RKNN model
    rknn = export_rknn()

    # sample inference
    outputs = rknn.inference(inputs=[input], data_format="nhwc")

    # post processing model output
    result_img = postprocess(resized_img, outputs)

    cv2.imwrite('./images/video_08_00_frame_000001_res.jpg', result_img)

    rknn.release()


Problem with CF event lifecycle

I intend to inspect the events defined in the Cloud Foundry API https://apidocs.cloudfoundry.org/268/ in order to verify that the deletion of an org or a space including all service instances has been successful. The defined CF events should in principle provide most of the information. (Organization lifecycle events are still missing, cf. https://github.com/cloudfoundry/cloud_controller_ng/issues/758)
Command
cf curl "/v2/events?q=space_guid:<my-space-guid>"
cf curl "/v2/spaces/<my-space-guid>?recursive=true&async=true" -X DELETE
cf curl "/v2/events?q=space_guid:<my-space-guid>"

What occurred
I had created a space with a few deployed apps and service instances bound to the apps. The first command showed me the corresponding audit. The third command, after deletion of the space and everything contained therein, did not yield any event.
What you expected to occur
I had expected to see all events for the space I had ssen previously plus the ones resulting from the deletion of all entities in the space including the space deletion event itself.
CLI Version
6.29.0+ff886fa.2017-07-24
CC API Endpoint Version
2.89.0
CF Trace
./.
Platform & Shell Details
Windows 10 64-bit with PowerShell
Any other relevant information
./.

Hi @JuergenFrank
This sounds like a question about the APIs, not about the CLI itself? If so, the CAPI team would be the better team to ask.

Hi @dkoper, you are probably right. Afaik, there is no means for moving the issue in GitHub. Should I close this and open another one on CAPI?

Yes please. I could move over the linked tracker story, but I'd prefer to close this issue as there's not much our team can help with.

Closing issue and creating new one on CAPI.


Failed to fetch youtube

Would return an empty response.
But when I removed  {mode: 'no-cors'} from the fetch call to the provider, it worked just fine

@gaberoffman thank you, I will find the root cause here.

@gaberoffman I've checked and it extracts youtube links as well. Could you share the urls those didn't work for you?

@ndaidong Hey man, I had the same issue. I just removed {mode: 'no-cors} and it worked fine.
Youtube link: https://www.youtube.com/watch?v=GpMP6Nh3FvU

@Rupenieks I see that it works fine on the demo too.

@ndaidong Hey, I've set up a codesandbox to demonstrate:
https://codesandbox.io/s/cocky-tree-ju5o6?file=/src/index.js

@Rupenieks it seems the code is running in the browser. Only node environment supported at this time because fetch's limitation.


Create plan for dealing with units of measure within NMDC schema

Creating a ticket for this per the metadata meeting last week
Currently the range for has_unit
We want this to have some constraints or controlled vocabulary that is programmatically enforced to consistently populate this.
For example the has_units on slot 'depth' currently has the following values meter,metre,meters,null
The UM ontology was suggested although this may not be expansive enough. @turbomam  mentioned some built in options from link-ml
@mslarae13 @cmungall @turbomam

There is guidance from the GSC on this
per the mixs v6 excel doc
Units - Except a few cases, strict units are not defined for items in the MIGS/MIMS/MIENS checklists, wherever applicable the unit of choice should accompany the value of an item. The units should be in accordance with the The International System of Units (SI).
- For SI base and derived units, please see http://physics.nist.gov/cuu/Units/units.html
- For SI prefixes, please see http://physics.nist.gov/cuu/Units/prefixes.html
- For units outside SI, please see http://physics.nist.gov/cuu/Units/outside.html
- For SI unit rules and syle conventions, please see http://physics.nist.gov/cuu/Units/checklist.html

based on @mslarae13  there are some slots where we aren't able to define a single unit of measure. If memory servers some of the same slots would have different unit of measurement if it were solid vs liquid for example. Montana, is that correct?

Let's separate these two issues:

What is our standard
How should we implement

For 1, ideally we would just refer to MIxS. However, the MIxS guidance is unclear and underspecified. For example, as per the guidance that @aclum quotes, the units should be "in accordance" with SI. But what does this mean?

symbol or name?
what is the guidance for derived units?
which different orthographic form is used in different contexts?

I think most people would understand that using SI would mean using symbols, e.g. m. However, MIxS implicitly favors spelled out names not symbols, like meter. Using names rather than symbols is a bad idea due to the different forms. Formally, SI uses metre as the name, but the NIST page uses meter since that is US-preferred. None of this would be a problem if symbols were used rather than names, but for reasons MIxS uses the names.
Regardless of names vs symbols, there are many ambiguities with derived units.

is it m³ or m^3 or "cubic meter"? For SI symbols it is m³ but this entails encoding issues with superscripts
is it µg or microgram or mcg? Again for SI symbols it is  µg but how to encode this as a standard string?
for µg/m³, is there a space around the /? or is µg per m³ allowed? or microgram per cubic meter?

MIxS is also very ambiguous when it comes to pluralization. We would hope that singular forms are mandated to avoid further confusion, but this isn't the case
We can see examples like:

kilowatts per square meter per day
liters per second
number of cells per gram

There is also no guidance on how to do non-number of cells per gram
There is a standard that solves all of these issues, UCUM https://ucum.org/. UCUM is the standard used in all health related data models and standards that I am aware of. UCUM provides a completely unambiguous system, and as far as I am aware every unit that could possibly be required in MIxS could be represented in UCUM. It's very easy to use
For example, micrograms per cubic meter is ug/m3.
UCUM provided standard validators, and a completely computable system.
There is a proposal for MIxS to adopt UCUM here:

https://github.com/GenomicsStandardsConsortium/mixs/issues/154

My preference is that NMDC mandates UCUM, and we lobby for this to follow suit in MIxS. Strictly speaking we will be using different units than many of the "preferred units" in MIxS, but this is no more inconsistent than anything else

This sounds good to me, as long as what we are doing is clear others groups can interoperate as needed.

@cmungall  will be at the metadata meeting on Wednesday?

see also

https://linkml.io/linkml-model/latest/docs/UnitOfMeasure/

I believe we agreed at the metadata meeting last week to implement UCUM so I will close this ticket and open a new one for implementation.


Update django to 2.1

Updated django filters
Filters using DateTimeFromToRangeFilter now using _after and _before
instead of _0 and _1

It address #92

Pull Request Test Coverage Report for Build 1003

15 of 15 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 85.346%

Totals

Change from base Build 1000:
0.0%

Covered Lines:
2883

Relevant Lines:
3378

💛  - Coveralls


Cannot copy more than 1000 characters out of CodeMirror buffer

This is a really weird problem, and it's only been happening to me for a relatively short while now. First, I'm using jsbeautifier.org from Firefox 40 on Ubuntu Linux, and have been doing so for a long time (obviously with earlier versions of Firefox in the past). I have Firebug installed, but I'm pretty sure this doesn't have anything to do with Firebug as it happens whether it's enabled or not.
I very often use jsbeautifier.org to reformat horribly-formatted JavaScript from Stackoverflow questions. What I started noticing about 2 weeks ago was that I could copy-paste from Stackoverflow into the beautifier CodeMirror box and get correctly-formatted code. However, when I tried to copy-paste back to Stackoverflow, I'd get just a "-" in my clipboard. That would be the case wherever I attempted to paste, so I'm pretty sure that the browser was only putting a single character into the clipboard. Some tests revealed that so long as I selected exactly 1000 characters or less in the CodeMirror view, it would work - I could copy-paste out of jsbeautifier.org into anywhere successfully. However, 1001 or more characters (and it doesn't seem to matter what characters are involved), and it doesn't work.
Using the "plain textarea" version of jsbeautifier.org, everything does work just fine, and I can copy-paste arbitrary amounts of text out of the textarea.

See also this issue I logged with CodeMirror.

Because the version of CodeMirror used with the jsbeautifier web UI is apparently outdated, the CodeMirror crew closed that other issue. A maintainer did however exhibit suspicion that CodeMirror might be at least part of the problem.

Please feel free to submit a PR to get a newer version of codemirror.

Can this PR be a PR to get a newer version of codemirror?

Updated in a6656f9.

This is live on the website now.


Fix missing import

Already finding the new version useful! Just noticed this small bug on the export page.

Oh yes correct, ty
It's Datatable.svelte not ".js"
I let you correct it if you don't mind

Thx for your time and help :ok_hand:


etcd-tester: retry for 'etcdserver: not capable'

Fix https://github.com/coreos/etcd/issues/5573.
Currently stresser starts at the same time as cluster start.
If the stresser got launched too fast/early, all stressers
exit from the error 'etcdserver: not capable', which
means the cluster is not ready yet. This adds additional
error checking, so stresser can retry.

/cc @xiang90
Or should we wait a few seconds before we launch stresser when we start the functional tester?
This only happens at the very beginning of the cluster, and I confirmed that stressers were exiting before it finishes the election. This happens more often with high CPU.

good catch! lgtm

Thanks! Merging.
Will keep investigating other functional-tester issues.