To support corporate network environment

When I test it with Samsung HQ's Corporate Firewall Environment.  Most likely other corporate infrastructures will allow similar access paths.
There was something have to be considered.
Assume that firewall which allows 443/80 port only for outbound.
and requires corporate certificates and proxy configuration setting for internet.

proxy settings.
Should set proper proxy setting to each process which kraken use, or use transparent proxy like redsocks or other ...
in my case I uses redsocks.

botocore ca bundle
python boto uses its own ca bundle by default, should be change to host's ca bundle which includes corporate ca certificates. or it will failed when kraken tries get info for ssh entry.

ca in admin.kubeConfig
at the end of deployment, kraken embed base64 encoded ca certificates to admin.kubeConfig. It should include the corporate ca at the end of ca list.

kubectl port-forwarding
When helm starts deploying chart, it may failed. I'm not sure yet it might use random assigned port to access tiller, not 443 only which kube-apiserver's uses.

I stucked at 4th step.
And trying to research how kubectl proxy really do for its work.
If someone know well, please inform here. : (

Possible options:

create a second svc that points to tiller's nodeport and has an ELB pointing to it
set up proxying through the API service (this is fundamentally similar to the first option but without a new ELB, ie:  https://kubernetes.io/docs/user-guide/connecting-to-applications-proxy/)

Let me know if that helps or if not see if you can set what the local port is for kubectl port-forward and connect helm manually through that forwarding.

Well Lets See,
$ kubectl --kubeconfig admin.kubeconfig version
Client Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.4", GitCommit:"3b417cc4ccd1b8f38ff9ec96bb50a81ca0ea9d56", GitTreeState:"clean", BuildDate:"2016-10-21T02:48:38Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.4", GitCommit:"3b417cc4ccd1b8f38ff9ec96bb50a81ca0ea9d56", GitTreeState:"clean", BuildDate:"2016-10-21T02:42:39Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}

Confirm its apiserver,
When I test it with "kubectl proxy"
$ kubectl proxy
Starting to serve on <IP_ADDRESS>:8001

it makes opened port like above
here first problem,
$ curl localhost:8001

Unauthorized
%

Lets continue with disabling proxy filter
$ kubectl proxy --disable-filter=true --v=10
I0209 16:56:52.942436    7722 loader.go:354] Config loaded from file admin.kubeconfig
I0209 16:56:52.949429    7722 round_trippers.go:299] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: kubectl/v1.4.4 (linux/amd64) kubernetes/3b417cc" -H "Authorization:
Basic YWRtaW46QlhiRkRsUEh2Z1A=" https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/api
I0209 16:56:53.680088    7722 round_trippers.go:318] GET https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/api 200 OK in 730 milliseconds
I0209 16:56:53.680217    7722 round_trippers.go:324] Response Headers:
I0209 16:56:53.680242    7722 round_trippers.go:327]     Proxy-Connection: Keep-Alive
I0209 16:56:53.680261    7722 round_trippers.go:327]     Connection: Keep-Alive
I0209 16:56:53.680278    7722 round_trippers.go:327]     Content-Type: application/json
I0209 16:56:53.680295    7722 round_trippers.go:327]     Date: Thu, 09 Feb 2017 07:57:06 GMT
I0209 16:56:53.680312    7722 round_trippers.go:327]     Content-Length: 134
I0209 16:56:53.680329    7722 round_trippers.go:327]     Cache-Control: proxy-revalidate
I0209 16:56:53.680539    7722 request.go:908] Response Body: {"kind":"APIVersions","versions":["v1"],"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443
"}]}
I0209 16:56:53.681255    7722 round_trippers.go:299] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: kubectl/v1.4.4 (linux/amd64) kubernetes/3b417cc" -H "Authorization:
Basic YWRtaW46QlhiRkRsUEh2Z1A=" https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/apis
I0209 16:56:53.843672    7722 round_trippers.go:318] GET https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/apis 200 OK in 162 milliseconds
I0209 16:56:53.843737    7722 round_trippers.go:324] Response Headers:
I0209 16:56:53.843753    7722 round_trippers.go:327]     Content-Type: application/json
I0209 16:56:53.843766    7722 round_trippers.go:327]     Date: Thu, 09 Feb 2017 07:57:06 GMT
I0209 16:56:53.843778    7722 round_trippers.go:327]     Cache-Control: proxy-revalidate
I0209 16:56:53.843789    7722 round_trippers.go:327]     Proxy-Connection: Keep-Alive
I0209 16:56:53.843800    7722 round_trippers.go:327]     Connection: Keep-Alive
I0209 16:56:53.844030    7722 request.go:908] Response Body: {"kind":"APIGroupList","groups":[{"name":"apps","versions":[{"groupVersion":"apps/v1alpha1","version":"v1alpha1"}],"pref[11/1662]
ion":{"groupVersion":"apps/v1alpha1","version":"v1alpha1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"authentication.k8s.io","vers
ions":[{"groupVersion":"authentication.k8s.io/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"authentication.k8s.io/v1beta1","version":"v1beta1"},"serverAddressByClientCI$
Rs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"authorization.k8s.io","versions":[{"groupVersion":"authorization.k8s.io/v1beta1","version":"v1beta1"}],"preferr$
dVersion":{"groupVersion":"authorization.k8s.io/v1beta1","version":"v1beta1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"autoscal$
ng","versions":[{"groupVersion":"autoscaling/v1","version":"v1"}],"preferredVersion":{"groupVersion":"autoscaling/v1","version":"v1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0",
"serverAddress":"<IP_ADDRESS>:443"}]},{"name":"batch","versions":[{"groupVersion":"batch/v1","version":"v1"},{"groupVersion":"batch/v2alpha1","version":"v2alpha1"}],"preferredVersion":{"grou
pVersion":"batch/v1","version":"v1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"certificates.k8s.io","versions":[{"groupVersion":"
certificates.k8s.io/v1alpha1","version":"v1alpha1"}],"preferredVersion":{"groupVersion":"certificates.k8s.io/v1alpha1","version":"v1alpha1"},"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.
0.0/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"extensions","versions":[{"groupVersion":"extensions/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"extensions/v1beta
1","version":"v1beta1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"policy","versions":[{"groupVersion":"policy/v1alpha1","version"
:"v1alpha1"}],"preferredVersion":{"groupVersion":"policy/v1alpha1","version":"v1alpha1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name"
:"rbac.authorization.k8s.io","versions":[{"groupVersion":"rbac.authorization.k8s.io/v1alpha1","version":"v1alpha1"}],"preferredVersion":{"groupVersion":"rbac.authorization.k8s.io/v1alpha1","
version":"v1alpha1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"storage.k8s.io","versions":[{"groupVersion":"storage.k8s.io/v1beta
1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"storage.k8s.io/v1beta1","version":"v1beta1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>
5:443"}]}]}
W0209 16:56:53.846021    7722 proxy.go:119] Request filter disabled, your proxy is vulnerable to XSRF attacks, please be cautious
Starting to serve on <IP_ADDRESS>:8001I0209 16:56:56.206597    7722 round_trippers.go:299] curl -k -v -XGET  -H "X-Forwarded-For: <IP_ADDRESS>" -H "User-Agent: curl/7.47.1" -H "Accept: */*" -H "Au
thorization: Basic YWRtaW46QlhiRkRsUEh2Z1A=" https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/
I0209 16:56:56.212019    7722 round_trippers.go:318] GET https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/ 404 Not Found in 5 milliseconds
I0209 16:56:56.212068    7722 round_trippers.go:324] Response Headers:
I0209 16:56:56.212080    7722 round_trippers.go:327]     Content-Length: 655
I0209 16:56:56.212093    7722 round_trippers.go:327]     Cache-Control: no-cache
I0209 16:56:56.212103    7722 round_trippers.go:327]     Pragma: no-cache
I0209 16:56:56.212113    7722 round_trippers.go:327]     Content-Type: text/html; charset=utf-8
I0209 16:56:56.212124    7722 round_trippers.go:327]     Proxy-Connection: Keep-Alive
I0209 16:56:56.212134    7722 round_trippers.go:327]     Connection: Keep-Alive
I0209 16:56:53.680539    7722 request.go:908] Response Body: {"kind":"APIVersions","versions":["v1"],"serverAddressByClientCIDRs":[{"clientCID
R":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]}
I0209 16:56:53.681255    7722 round_trippers.go:299] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: kubectl/v1.4.4 (linux/amd64) kubernetes/3b417cc" -H "Authorization:
Basic YWRtaW46QlhiRkRsUEh2Z1A=" https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/apis
I0209 16:56:53.843672    7722 round_trippers.go:318] GET https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/apis 200 OK in 162 milliseconds
I0209 16:56:53.843737    7722 round_trippers.go:324] Response Headers:
I0209 16:56:53.843753    7722 round_trippers.go:327]     Content-Type: application/json
I0209 16:56:53.843766    7722 round_trippers.go:327]     Date: Thu, 09 Feb 2017 07:57:06 GMT
I0209 16:56:53.843778    7722 round_trippers.go:327]     Cache-Control: proxy-revalidate
I0209 16:56:53.843789    7722 round_trippers.go:327]     Proxy-Connection: Keep-Alive
I0209 16:56:53.843800    7722 round_trippers.go:327]     Connection: Keep-Alive
I0209 17:02:30.931417   13954 request.go:908] Response Body: {"kind":"APIVersions","versions":["v1"],"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443
"}]}
I0209 17:02:30.932012   13954 round_trippers.go:299] curl -k -v -XGET  -H "User-Agent: kubectl/v1.4.4 (linux/amd64) kubernetes/3b417cc" -H "Authorization: Basic YWRtaW46QlhiRkRsUEh2Z1A=" -H
"Accept: application/json, */*" https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/apis
I0209 17:02:31.094074   13954 round_trippers.go:318] GET https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/apis 200 OK in 162 milliseconds
I0209 17:02:31.094137   13954 round_trippers.go:324] Response Headers:
I0209 17:02:31.094253   13954 round_trippers.go:327]     Date: Thu, 09 Feb 2017 08:02:43 GMT
I0209 17:02:31.094306   13954 round_trippers.go:327]     Cache-Control: proxy-revalidate
I0209 17:02:31.094319   13954 round_trippers.go:327]     Proxy-Connection: Keep-Alive
I0209 17:02:31.094331   13954 round_trippers.go:327]     Connection: Keep-Alive
I0209 17:02:31.094342   13954 round_trippers.go:327]     Content-Type: application/json
I0209 17:02:31.094553   13954 request.go:908] Response Body: {"kind":"APIGroupList","groups":[{"name":"apps","versions":[{"groupVersion":"apps/v1alpha1","version":"v1alpha1"}],"preferredVersion":{"groupVersion":"apps/v1alpha1","version":"v1alpha1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"authentication.k8s.io","versions":[{"groupVersion":"authentication.k8s.io/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"authentication.k8s.io/v1beta1","version":"v1beta1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"authorization.k8s.io","versions":[{"groupVersion":"authorization.k8s.io/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"authorization.k8s.io/v1beta1","version":"v1beta1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"autoscaling","versions":[{"groupVersion":"autoscaling/v1","version":"v1"}],"preferredVersion":{"groupVersion":"autoscaling/v1","version":"v1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"batch","versions":[{"groupVersion":"batch/v1","version":"v1"},{"groupVersion":"batch/v2alpha1","version":"v2alpha1"}],"preferredVersion":{"groupVersion":"batch/v1","version":"v1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"certificates.k8s.io","versions":[{"groupVersion":"certificates.k8s.io/v1alpha1","version":"v1alpha1"}],"preferredVersion":{"groupVersion":"certificates.k8s.io/v1alpha1","version":"v1alpha1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"extensions","versions":[{"groupVersion":"extensions/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"extensions/v1beta1","version":"v1beta1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"policy","versions":[{"groupVersion":"policy/v1alpha1","version":"v1alpha1"}],"preferredVersion":{"groupVersion":"policy/v1alpha1","version":"v1alpha1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"rbac.authorization.k8s.io","versions":[{"groupVersion":"rbac.authorization.k8s.io/v1alpha1","version":"v1alpha1"}],"preferredVersion":{"groupVersion":"rbac.authorization.k8s.io/v1alpha1","version":"v1alpha1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]},{"name":"storage.k8s.io","versions":[{"groupVersion":"storage.k8s.io/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"storage.k8s.io/v1beta1","version":"v1beta1"},"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:443"}]}]}
W0209 17:02:31.096523   13954 proxy.go:119] Request filter disabled, your proxy is vulnerable to XSRF attacks, please be cautious
Starting to serve on <IP_ADDRESS>:8001

And when I do it again
$ curl localhost:8001

<TITLE>Network Error</TITLE>

<big></big>

<big>Network Error (dns_unresolved_hostname)</big>

Your requested host "localhost" could not be resolved by DNS.

For assistance, contact your network support team.

I'm sure above message is from proxy server
below is kubectl proxy's log
I0209 17:03:28.304783   13954 round_trippers.go:299] curl -k -v -XGET  -H "X-Forwarded-For: <IP_ADDRESS>" -H "User-Agent: curl/7.47.1" -H "Accept: */*" -H "Authorization: Basic YWRtaW46QlhiRkRsUEh2Z1A=" https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/
I0209 17:03:28.308789   13954 round_trippers.go:318] GET https://keyolk-xRRoCuN-master-elb-663883153.us-west-2.elb.amazonaws.com/ 404 Not Found in 3 milliseconds
I0209 17:03:28.308822   13954 round_trippers.go:324] Response Headers:
I0209 17:03:28.308829   13954 round_trippers.go:327]     Cache-Control: no-cache
I0209 17:03:28.308835   13954 round_trippers.go:327]     Pragma: no-cache
I0209 17:03:28.308841   13954 round_trippers.go:327]     Content-Type: text/html; charset=utf-8
I0209 17:03:28.308847   13954 round_trippers.go:327]     Proxy-Connection: Keep-Alive
I0209 17:03:28.308852   13954 round_trippers.go:327]     Connection: Keep-Alive
I0209 17:03:28.308857   13954 round_trippers.go:327]     Content-Length: 655

It seems kubectl proxy makes some request which I didnt expect,
by workaround, I makes SSH SOCKS channel with AWS.
So, I can test it in corporate network environment.
but it should be solved. : (

Seems there is lack of support on its Proxy, about upgrading HTTP connection like SPDY and Websocket.
I'm asking it.

I confirmed that the corporate proxy doesnt support SPDY, only websocket.
So not only helm, kubectl's proxy, port-forward, exec is not work under corporate firewall.
And there is issue about supporting websocket in kubernetes.
https://github.com/kubernetes/kubernetes/issues/25126
If kubectl support websocket than the problem would be solved.

Its been a few months and there's nothing really to do here for now.


PT-1655 Queue enrolment UI

Description :sparkles:
Issues :bug:
Closes :no_good_woman:
DEV-XXX:
Related :handshake:
Testing :alembic:
Automated tests :gear:
Manual testing :construction_worker_man:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

kultus-ui branch is deployed to platta: https://kultus-ui-pr278.dev.hel.ninja :rocket::rocket::rocket:

kultus-ui branch is deployed to platta: https://kultus-ui-pr278.dev.hel.ninja :rocket::rocket::rocket:

Should there be some kind of handling for double submit? If the same study group enrols twice to the same event?

I think the double submit should be possible, otherwise there is no way to track if the first one was done. There are no UI way to user see his list of queue.

kultus-ui branch is deployed to platta: https://kultus-ui-pr278.dev.hel.ninja :rocket::rocket::rocket:


[Fix #1868] Do not register an offense in Performance/Count for select called as a static method

This should unscope most calls to ActiveRecord's select methods making this cop safer to use.

There's a problem with this, btw - for the parser User and USER are both simply constants. This fix will stop processing all constant receivers.

Good catch. I will look into how to get both scenarios to work. I assume that there is some check that can be done to differentiate between User and USER.

Not really. Class names are ordinary constants. You can assume that something in CamelCase will be class/module name, but this won't always be the case (although it'd be the case most of the time).

In trying to find a solution, I ran into that issue and came to ask about that. Checking for the format of the constant seems like the only option to attempt to handle this, but that doesn't seem like the right way to handle things. Also, as you said, it will only catch when everything is formatted properly, which isn't always the case.
Without any changes, we know of issues with this cop (https://github.com/bbatsov/rubocop/issues/1868). What are your thoughts on moving forward? Do we check the constant's format? Do we remove the cop? Do we leave cop with the known issue?

I'd leave the cop as is. People who have issues with it can disable it if they want. If we get more complaints we'll disable it by default.

Sounds good to me.


[ci skip] adding user @xylar

Hi! This is the friendly automated conda-forge-webservice.
I've added user @xylar as instructed in #6.
Merge this PR to add the user. Please do not rerender this PR or change it in any way. It has [ci skip] in the commit message to avoid pushing a new build and so the build configuration in the feedstock should not be changed.
Please contact conda-forge/core to have this PR merged, if the maintainer is unresponsive.
Fixes #6

I'm keen to try to fix the issues in https://github.com/conda-forge/google-cloud-bigquery-feedstock/pull/113

Thanks so much for all you're help lately!

@tswast, no worries!


Python 3.6 not recognizing "python"

Change the keyword for python3.6 from "python  my_file.py" to "py my_file.py". Else it throws the error "'python' is not recognized as an internal or external command, operable program or batch file." even though the environment variables are all set and works in cmd using py.

Change the keyword for python3.6 from "python my_file.py" to "py my_file.py".----->
How i do that??
Thanks.

I have the same problem when trying to use script with Python 3.6. Hopefully this is fixed soon.


Mysql default database charset

Hi.
Is it possible to modify default provisioning of mysql database charset and collation? My service need to provision a lot of mysql database to be utf8_unicode_ci and it would be nice to have this feature
Best Regards,

Flynn is unmaintained and our infrastructure will shut down on June 1, 2021. See the README for details.


fix: separate framework code from app code

This is an alternative to #8803, and closes #8464 albeit via a somewhat larger change.
Essentially this splits out the app code from the framework code, and passes app information to the framework via the start(...) call. This gives us an opportunity to set environment variables before any app code runs, but it also has a nice side-effect — the framework code now resides in its own chunk, with a stable hash. This will make cache hits more frequent, since the start.js chunk will only be invalidated when there's a new framework version, not when there's a new app version.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Flummoxed by the test failure. Happens reliably, but not locally.

I added some console.logs to see where the failure might be. Seems like app is imported and loaded properly, and it hangs somewhere inside _hydrate of client.js

I'm at such a loss. According to the traces it's consistently hanging while requesting a __data.json file, but there's absolutely no reason for that to suddenly start happening after this change

Ok bumping the timeout worked. I think what must have happened is this: because we now load the app lazily, it's slightly slower to start up, and that pushed us over a magic threshold. I don't think this is cause for alarm, because the slowdown only happens in dev (because there's no modulepreload) and slowdowns of this magnitude presumably only really apply when you're trying to run a whole bunch of stuff in parallel on an underpowered VM

Can we control the timeout separately for different tests, so that it's only bumped up for these defer ones? It's presumably still valuable to be able to fail the other tests faster.

Are we there yet?


Rewrite ButtonGroup to CSS modules

Hey team! Please add your planning poker estimate with Zenhub @ichik @jsartisan @KelvinOm


Panels turning invisible for a frame under some conditions

Easiest to replicate with a chain:
https://i.imgur.com/mSIg5g3.gifv

https://i.imgur.com/mSIg5g3.gif


improvement(frontend): Background stats fetching rework

This commit changes the way Argus fetches release statistics in
background. Primary changes include:

Workarea no longer fetches all release stats, instead only fetching
release once when it is clicked. A button was added to refresh those
stats manually to the release dropdown.

Releases page no longer shows any stats

Release Dashboard was optimized to only make 1 stats request per state
change (version, background update) and now also contains a manual
refresh button.

Auto-refresh timers, where still applicable, were increased to 15-20
minutes

Background stats request will not fire now if the tab the request is
being made from is not in focus

Updating test run status now also updates the run selector.

Both TestRun and TestRunSelector now contain a manual refresh button.
Timers were increased for certain test types (with non-realtime data),
SCT stays at 30 second refresh interval. Both also no longer fetch if
tab is in the background.

Part of #293
Fixes #313

Demo:

Please do not merge without my review

This is not a valid status

is this about #322?

Yes, my mistake.
Fixing.

@k0machi
maybe nitpick,
can we use the same icon in the workspace ? and align it to the right ?
cause it took me a few minutes to figure out where it is.

@k0machi
can we replace all the auto-timers to be with some button, we carefully think those case with auto-refresh, in most cases it's a waste of Argus time.

This commit changes the way Argus fetches release statistics in background. Primary changes include:

Workarea no longer fetches all release stats, instead only fetching
release once when it is clicked. A button was added to refresh those
stats manually to the release dropdown.
Releases page no longer shows any stats
Please revert this change, I like to see these stats there.
Release Dashboard was optimized to only make 1 stats request per state
change (version, background update) and now also contains a manual
refresh button.
Auto-refresh timers, where still applicable, were increased to 15-20
minutes
Background stats request will not fire now if the tab the request is
being made from is not in focus
Updating test run status now also updates the run selector.
Both TestRun and TestRunSelector now contain a manual refresh button.
Timers were increased for certain test types (with non-realtime data),
SCT stays at 30 second refresh interval. Both also no longer fetch if
tab is in the background.

Part of #293 Fixes #313

Many of the above changes aren't telling me much, I'm not sure what the new behaviour will be.
Let's have an online review of the new behaviour.

This commit changes the way Argus fetches release statistics in background. Primary changes include:

Workarea no longer fetches all release stats, instead only fetching
release once when it is clicked. A button was added to refresh those
stats manually to the release dropdown.
Releases page no longer shows any stats

Please revert this change, I like to see these stats there.

Release Dashboard was optimized to only make 1 stats request per state
change (version, background update) and now also contains a manual
refresh button.
Auto-refresh timers, where still applicable, were increased to 15-20
minutes
Background stats request will not fire now if the tab the request is
being made from is not in focus
Updating test run status now also updates the run selector.
Both TestRun and TestRunSelector now contain a manual refresh button.
Timers were increased for certain test types (with non-realtime data),
SCT stays at 30 second refresh interval. Both also no longer fetch if
tab is in the background.

Part of #293 Fixes #313

Many of the above changes aren't telling me much, I'm not sure what the new behaviour will be. Let's have an online review of the new behaviour.

The changes in the second list are mostly performance optimizations, they don't change the experience much if at all. The demo for WorkArea and Release pages can be seen in the second comment of this PR, or do you want a recorded version of it?
@roydahan


Feast Transformer implementation

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #
Does this PR introduce a user-facing change?:

Checklist

[ ] Added unit test, integration, and/or e2e tests
[ ] Tested locally
[ ] Updated documentation
[ ] Update Swagger spec if the PR introduce API changes
[ ] Regenerated Golang and Python client if the PR introduce API changes

I think the critical part that are still missing:

Making parallel call instead of sequential to feast
Caching
Batching
Some edge cases testing

I think the critical part that are still missing:

Making parallel call instead of sequential to feast
Caching
Batching
Some edge cases testing


How to select a graph substitutions rule in TASO？

I am very interested in your work. It is written in the paper that you have used 157 graph  substitutions in TASO. Do you have detailed documents on these graph substitutions.
Thank you very much !

Hi,
(1) We use the previously code of TASO.
(2) You can check this link to see how to load the rules.
https://github.com/Experiment-code/OCGGS/blob/master/src/core/ops.cc#L1134-L1174.
The loading method is the same as in TASO.
(3) The loading method cannot be invoked in python.


[FAT-9139] - Fixed randomly failed rollover preview test

Purpose
Due to the fact that rollovers were not executed sequentially, it is likely that lock errors occurred.
Approach
It was decided to initiate a rollover only after the completion of the previous one.
TODOS and Open Questions

[ ] Use GitHub checklists. When solved, check the box and explain the answer.

Learning
Describe the research stage. Add links to blog posts, patterns, libraries or addons used to solve this problem.


Make it possible to request any clock for CCI-P & local memory

Clock can be any string that maps to an available clock.
Export CCI-P clock with `PLATFORM_PARAM_CCI_P_CLOCK.  The previous method
using a Verilog module wasn't flexible enough to handle all the possible
clocks.
Update the macro writing rules in afu_platform_config to deal with more
possible illegal macro characters.

Tests pass: http://sw-pert.altera.com/pert/pert.php?test_run_id=2175505
Don't know what went wrong with hello_intr_afu_questa. Ran it again: http://sw-pert.altera.com/pert/pert.php?test_run_id=2175517


merge package template from arlac77/npm-package-template

package.json

chore(devDependencies): update<EMAIL_ADDRESS>from template

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Zel2flux bin 171

Final step in rename of zel to flux. The docs directory is untouched as it may require review by many as to what is needed or not.
3 of the gtests fail, as they do on master, maybe this can be a follow up issue
closes #171

I don't quite understand why you edited "developers" to have a capital letter when no other "developers" has it capitalized

Where exactly is the change in question?


includeTrackPage is never referenced

Looks like includeTrackPage is never used and should be included in the snippet

good eye.  oops.  will fix

Hey @benjaminhoffman, anything I could do to help get this merged in?

@i8ramin @lsirivong i've been slammed at work w stuff for the next two weeks.  I would love to get this fixed sooner because it's clearly a bug.  My apologies.
If you know a good fix, please open a PR and I'll merge!  Sorry again for the bug.

No problem @benjaminhoffman, I totally get it! This actually is a PR that @i8ramin opened. I didn't test it myself but the change looks sensible to me: https://github.com/benjaminhoffman/gatsby-plugin-segment-js/pull/14/files


Update size addon

What does this PR do?
Refactor size addon

Hi @matheusagcosta! Thanks for the PR. Couple notes:

What’s your goal with refactoring the size mixin? How is it better with these changes?
You changed the way the arguments work and set the default for height as null, instead of it equaling the width argument, as it was before. This removes the ability to pass one argument in, and get both width and height back (easily creates squares), like so:

@include size(2rem);

// output
height: 2rem;
width: 2rem;

The above would not be possible with your refactor, since $s-height is defaulted to null.
3. I also noticed you removed our “validiation” steps, which were those @if blocks that run the user’s values through our is-size function. This function checks to make sure the user input a valid CSS length or keyword like fit-content, and if not, it throws a warning. These are important to help user’s find accidental mistakes. So if someone did this:
@include size(foo);

They would receive this warning:
Error: `foo` is not a valid length for the `$height` argument in the `size` mixin. on line…

Finally, I wanted to mention that the size mixin has already been refactored in v5 (currently in beta) to add a comma between the two arguments. You can find that v5 version on the master branch. You’re refactor is against the v4 version, and we wouldn't be able to update that on the v4 release cycle since you have added a comma and that would be a breaking change.

Closing; lack of response.


bench:  update analysis run fixup to the new AWS log results layout

This updates the run fixup done by the workbench, to reflect the changes in the AWS results layout.

bors r+


Feature/issue74

closing #74
related #87

I now see that this pull request is for master, I'm creating a new pull request into dev


Emit deposit event when issue requires transfers from owner

Emit deposit even when issue requires transfers from owner

Pull Request Test Coverage Report for Build 268

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 266:
0.0%

Covered Lines:
139

Relevant Lines:
139

💛  - Coveralls


indexer: add factory mode

add factory mode and tests.
update persistence plugin to store filters and update tests.

Looks good thank you!


New Version don't work with Pop-OS! 20.10

After the update to the v7 it gives an error when i try to install

Could you please provide the error message? What is your gnome shell version? Can you give any output from journalctl /usr/bin/gnome-shell -f that references<EMAIL_ADDRESS>

Sorry, apparently was a bug, after restart, it come back to work


libinput-gestures: 2.33 -> 2.38, fixup

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: libinput-gestures
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Attempted: libinput-gestures
Partial log (click to expand)
'README.md' -> '/nix/store/wjcq7fxcax1vd090zac44hpraql8q133-libinput-gestures-2.38/share/doc/libinput-gestures/README.md'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/wjcq7fxcax1vd090zac44hpraql8q133-libinput-gestures-2.38
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/wjcq7fxcax1vd090zac44hpraql8q133-libinput-gestures-2.38/bin
patching script interpreter paths in /nix/store/wjcq7fxcax1vd090zac44hpraql8q133-libinput-gestures-2.38
/nix/store/wjcq7fxcax1vd090zac44hpraql8q133-libinput-gestures-2.38/bin/libinput-gestures: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/16wqq9ihrkdim3x8xs1lkxa3f4l3p3ir-python3-3.6.6/bin/python3"
/nix/store/wjcq7fxcax1vd090zac44hpraql8q133-libinput-gestures-2.38/bin/libinput-gestures-setup: interpreter directive changed from "/bin/bash" to "/nix/store/dsyc1z7ck08ga7l0b1jcxx35wj69qcii-bash-4.4-p23/bin/bash"
checking for references to /build in /nix/store/wjcq7fxcax1vd090zac44hpraql8q133-libinput-gestures-2.38...
/nix/store/wjcq7fxcax1vd090zac44hpraql8q133-libinput-gestures-2.38

Success on x86_64-linux (full log)
Attempted: libinput-gestures
Partial log (click to expand)
'README.md' -> '/nix/store/79xgagndrz2kfhk2a6yb1v6c5i2pnjyv-libinput-gestures-2.38/share/doc/libinput-gestures/README.md'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/79xgagndrz2kfhk2a6yb1v6c5i2pnjyv-libinput-gestures-2.38
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/79xgagndrz2kfhk2a6yb1v6c5i2pnjyv-libinput-gestures-2.38/bin
patching script interpreter paths in /nix/store/79xgagndrz2kfhk2a6yb1v6c5i2pnjyv-libinput-gestures-2.38
/nix/store/79xgagndrz2kfhk2a6yb1v6c5i2pnjyv-libinput-gestures-2.38/bin/libinput-gestures-setup: interpreter directive changed from "/bin/bash" to "/nix/store/r47p5pzx52m3n34vdgqpk5rvqgm0m24m-bash-4.4-p23/bin/bash"
/nix/store/79xgagndrz2kfhk2a6yb1v6c5i2pnjyv-libinput-gestures-2.38/bin/libinput-gestures: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/bwfygfcdvis9wd1c1v51xwnwhw1hx0a0-python3-3.6.6/bin/python3"
checking for references to /build in /nix/store/79xgagndrz2kfhk2a6yb1v6c5i2pnjyv-libinput-gestures-2.38...
/nix/store/79xgagndrz2kfhk2a6yb1v6c5i2pnjyv-libinput-gestures-2.38


matchbox/client: Expose Select endpoint

Exposes the Select endpoint in matchbox/client just as the other
endpoints like Profiles, Ignition and Generic.
I might have missed if there is a reason for this not to be exposed, but I wanted the ability to lookup a profile based on e.g. a MAC-address (like the /grub HTTP API does).

Yep, its exposed by the gRPC. There's no reason the client can't make it available to callers, there just wasn't a use case before and it was overlooked.

Thanks

Thanks for merging, this is where I will be using it FYI https://github.com/radhus/xenmatchbox :)


Fixed Russian translation for CSS Reset tip

Fixed Russian translation for CSS Reset tip
Fixed incorrect ID for tip 21

Thanks!


Giving History Issues

Acceptance Criteria

[ ] It should show a loading indicator when the user scrolls down to fetch more data.
[ ] It should keep the giving history in the correct order after fetching.

Context
Given that a user wants to see more of their giving history, when they scroll down to see more, then a loading indicator should display on the screen when the app is fetching more data.
Given that a user wants to see their giving history in the correct reverse chronological order, when the users has "fetched more", then they should still see their transactions in the correct order.
UI Screenshot or Wireframe (optional)
Attaching two items here. One is an animated GIF of the "no loading indicator" problem. The other is an image of the top of the giving history feed AFTER having fetched more of my history.
No Loading Indicator

Top of Giving History After Fetch

Is it possible that the missing loading indicator is related #339?

@burkeshartsis Maybe? But the page kind of freezes while the new data is loading so I can't scroll up to the top to see. Maybe it's hiding behind the bottom card?

I've added #339 as a dependencies until we determine that it is not.

It does seem that #339 is the issue here. We will need to look more into this issue to solve why there is no loading indicator on the giving history tab. I recommend we separate the loading indicator requirement from this issue and place it into its own.


[Calendar] Can't enroll or unenroll some habits in the calendar popup

Environment: Windows 10 OS (64-bit operating system, x64-based processor)
Browsers: Chrome Version 88.0.4324.104 (Official Build) (64-bit)
Reproducible: sometimes
Build found: 2021-03-24
The user must be logined.
User must be assigned one habit at least.

When I trying to unenroll habits, some habits unenrolled, but some failed.

Error preview for example:
error: "Internal Server Error"
message: "query did not return a unique result: 6; nested exception is javax.persistence.NonUniqueResultException: query did not return a unique result: 6"
path: "/habit/assign/506/unenroll/2021-03-20"
status: 500
timestamp: "2021-03-24T14:27:16.252+00:00"


PSP Go Pause Game Issue

Hi Having installed Infinity 2.0.3 & PRO C, on a PSP GO, the pause game feature works for homebrew and PS1 titles but does not work for PSP games in CSO or ISO format.
I have used trinity ChronoSwitch V7 to revert and retried the update process again but I have the same result.

More detail please.

The pause game option is listed when hitting the home button but you can't press x when it is selected as only the quit game option will respond.

Try disable ISO cache

Thank you for your quick reply and your advice.  However my ISO cache was already disabled.  You did however give me an idea, so I went through and disabled everything I could for plugins and advanced settings.  I then rebooted and tried the pause feature again and it worked.  Long story short, the POPS Cheat plugin was enabled on systems memory and the memory card at the same time (this did not cause an issue before).  This is what caused the pause issue, disabling it on system storage and leaving it active on the memory card was all that was needed.
So it looks like infinity 2 is actually working really well.  Thank you very much for your work and your support :)

Glad you got it working.
For (my) future reference, this is a common cause of the issue:
https://github.com/MrColdbird/procfw/blob/master/SystemControl/high_memory.c#L239-L243
Specifically enabling high memory or ISO cache will have the same effect as described in OP.


Can't get HttpTriggerWithObject-FSharp example to work

Hi @dsyme ,
Is your example here - https://github.com/Azure/azure-webjobs-sdk-script/blob/dev/sample/HttpTriggerWithObject-FSharp/run.fsx - meant to work with the current release of Azure Functions?
run.csx :
#if !COMPILED
#I @"../../bin/Binaries/WebJobs.Script.Host"
#r "Microsoft.Azure.WebJobs.Host.dll"
#r "System.Web.Http.dll"
#r "System.Net.Http.dll"
#r "Newtonsoft.Json"
#endif
open System
open Newtonsoft.Json
open System.Net
open System.Net.Http
open Microsoft.Azure.WebJobs.Host
open System.Threading.Tasks

[<CLIMutable>]
type JobObject =
    { jobId : string }

let Run (req: JobObject, log: TraceWriter) =
    async {
        log.Info("json=" + JsonConvert.SerializeObject(req, Formatting.Indented))

        let res = HttpStatusCode.OK |> HttpResponseMessage
        res.Content <- new StringContent("job id is " + req.jobId)
        return res
    } |> Async.StartAsTask

function.json :
{
    "disabled": false,
    "bindings": [
        {
            //"authLevel": "function",
            "name": "req",
            "type": "httpTrigger",
            "direction": "in",
            "methods" : ["post"]

        },
        {
            "name": "res",
            "type": "http",
            "direction": "out"
        }
    ]
}

project.json :
{
  "frameworks": {
    "net46":{
      "dependencies": {
        "FSharp.Data": "2.3.2",
        "Newtonsoft.Json": "9.0.1"
      }
    }
   }
}

Warmest regards,
Garrard.

Garrard,
Thank you for reporting this! We have known issues with some of the samples and have created #601 to track this. We'll be reviewing the samples ASAP and updating that issue when done.


storage() values set during SSR aren't persisted over to the client after hydration

Versions

stan-js 1.4.2
react 18.3.0
next 14.2.5

Describe the bug
The map gets recreated and values set during ssr are lost
https://github.com/codemask-labs/stan-js/blob/60caa6a76ee855dc7b0d54ea006e2ddb384b223a/src/storage/storage.ts#L18-L46

Hi @rortan134 thank you for reporting this issue, can you share with us a little more context about your issue?
The map gets recreated and values set during ssr are lost I'm guessing that you're facing hydration errors, is that true?

Closing this issue due to inactivity. Please reopen if needed.


ShedLock is working with Neo4j Community, but not work with Neo4j Enterprise

Describe the bug
ShedLock is working with Neo4j Community, but not work with Neo4j Enterprise
The version of Neo4j (both Community and Enterprise) is 5.22.0, but even on Neo4j 4.4.16 the bug still there.
Full demo code: https://github.com/tle130475c/demo-scheduling-shedlock-neo4j

Which version do you use: 5.15.0
Which Lock Provider: shedlock-provider-neo4j
ShedLock configuration

Spring Boot deployed to Kubernetes, 2 pods by default
File EmployeeService.java
package com.tle130475c.demo_scheduling_shedlock_neo4j.employee;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import lombok.extern.slf4j.Slf4j;
import net.javacrumbs.shedlock.spring.annotation.SchedulerLock;

@Service
@Slf4j
public class EmployeeService {
    @Scheduled(cron = "*/2 * * * * *")
    @SchedulerLock(name = "EmployeeService_sendBirthdayGreetings", lockAtLeastFor = "PT1S")
    public void sendBirthdayGreetings() {
        log.info("Sending birthday greetings to employees");
    }
}

File ScheduledConfig.java
package com.tle130475c.demo_scheduling_shedlock_neo4j.config;

import org.neo4j.driver.Driver;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;

import net.javacrumbs.shedlock.provider.neo4j.Neo4jLockProvider;

@Configuration
public class ScheduledConfig {
    @Bean
    Neo4jLockProvider lockProvider(Driver driver) {
        return new Neo4jLockProvider(driver);
    }

    @Bean
    TaskScheduler taskScheduler() {
        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();

        taskScheduler.setPoolSize(10);
        taskScheduler.setThreadNamePrefix("CN-Scheduled-");
        taskScheduler.initialize();

        return taskScheduler;
    }
}

File DemoSchedulingShedlockNeo4jApplication
package com.tle130475c.demo_scheduling_shedlock_neo4j;

import org.neo4j.cypherdsl.core.renderer.Configuration;
import org.neo4j.cypherdsl.core.renderer.Dialect;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.EnableScheduling;

import net.javacrumbs.shedlock.spring.annotation.EnableSchedulerLock;

@SpringBootApplication
@EnableScheduling
@EnableSchedulerLock(defaultLockAtMostFor = "PT30S")
public class DemoSchedulingShedlockNeo4jApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoSchedulingShedlockNeo4jApplication.class, args);
    }

    @Bean
    Configuration cypherDslConfiguration() {
        return Configuration.newConfig()
                .withDialect(Dialect.NEO4J_5).build();
    }
}

File application.yaml
spring:
  application:
    name: demo-scheduling-shedlock-neo4j
  neo4j:
    uri: bolt://${NEO4J_SERVICE}:7687
    authentication:
      username: ${NEO4J_USER}
      password: ${NEO4J_PASSWORD}
logging:
  level:
    "[net.javacrumbs.shedlock]": DEBUG

ShedLock logs

Expected behavior
In Kubernetes, if the task is being executed in one pod,  it acquires a lock which prevents execution of the same task from another pods no matter the version of Neo4j is Community or Enterprise.
Below are the logs when work with Neo4j Community (expected behavior):
Logs from Pod 1
2024-08-20T02:47:54.018Z  INFO 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] c.t.d.employee.EmployeeService           : Sending birthday greetings to employees
2024-08-20T02:47:54.028Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:47:55Z
2024-08-20T02:47:56.018Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] n.j.s.core.DefaultLockingTaskExecutor    : Locked 'EmployeeService_sendBirthdayGreetings', lock will be held at most until 2024-08-20T02:48:26Z
2024-08-20T02:47:56.019Z  INFO 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] c.t.d.employee.EmployeeService           : Sending birthday greetings to employees
2024-08-20T02:47:56.031Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:47:57Z
2024-08-20T02:47:58.011Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] n.j.s.core.DefaultLockingTaskExecutor    : Not executing 'EmployeeService_sendBirthdayGreetings'. It's locked.
2024-08-20T02:48:00.022Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] n.j.s.core.DefaultLockingTaskExecutor    : Not executing 'EmployeeService_sendBirthdayGreetings'. It's locked.
2024-08-20T02:48:02.011Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] n.j.s.core.DefaultLockingTaskExecutor    : Locked 'EmployeeService_sendBirthdayGreetings', lock will be held at most until 2024-08-20T02:48:32Z
2024-08-20T02:48:02.011Z  INFO 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] c.t.d.employee.EmployeeService           : Sending birthday greetings to employees
2024-08-20T02:48:02.017Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:48:03Z

Logs from Pod 2
2024-08-20T02:47:52.020Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-4] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:47:53Z
2024-08-20T02:47:54.024Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-4] n.j.s.core.DefaultLockingTaskExecutor    : Not executing 'EmployeeService_sendBirthdayGreetings'. It's locked.
2024-08-20T02:47:56.022Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-4] n.j.s.core.DefaultLockingTaskExecutor    : Not executing 'EmployeeService_sendBirthdayGreetings'. It's locked.
2024-08-20T02:47:58.009Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-4] n.j.s.core.DefaultLockingTaskExecutor    : Locked 'EmployeeService_sendBirthdayGreetings', lock will be held at most until 2024-08-20T02:48:28Z
2024-08-20T02:47:58.009Z  INFO 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-4] c.t.d.employee.EmployeeService           : Sending birthday greetings to employees
2024-08-20T02:47:58.014Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-4] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:47:59Z
2024-08-20T02:48:00.018Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-4] n.j.s.core.DefaultLockingTaskExecutor    : Locked 'EmployeeService_sendBirthdayGreetings', lock will be held at most until 2024-08-20T02:48:30Z
2024-08-20T02:48:00.018Z  INFO 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-4] c.t.d.employee.EmployeeService           : Sending birthday greetings to employees
2024-08-20T02:48:00.027Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-4] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:48:01Z
2024-08-20T02:48:02.015Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-4] n.j.s.core.DefaultLockingTaskExecutor    : Not executing 'EmployeeService_sendBirthdayGreetings'. It's locked.

Actual behavior
The scheduled is executed parallel in all pods, no lock happened.
Below are the logs when work with Neo4j Enterprise:
Logs from Pod 1
2024-08-20T02:58:36.053Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-9] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:58:37.001Z
2024-08-20T02:58:38.040Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-9] n.j.s.core.DefaultLockingTaskExecutor    : Locked 'EmployeeService_sendBirthdayGreetings', lock will be held at most until 2024-08-20T02:59:08.001Z
2024-08-20T02:58:38.041Z  INFO 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-9] c.t.d.employee.EmployeeService           : Sending birthday greetings to employees
2024-08-20T02:58:38.049Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-9] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:58:39.001Z
2024-08-20T02:58:40.034Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-3] n.j.s.core.DefaultLockingTaskExecutor    : Locked 'EmployeeService_sendBirthdayGreetings', lock will be held at most until 2024-08-20T02:59:10.001Z
2024-08-20T02:58:40.034Z  INFO 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-3] c.t.d.employee.EmployeeService           : Sending birthday greetings to employees
2024-08-20T02:58:40.047Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-3] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:58:41.001Z
2024-08-20T02:58:42.016Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] n.j.s.core.DefaultLockingTaskExecutor    : Locked 'EmployeeService_sendBirthdayGreetings', lock will be held at most until 2024-08-20T02:59:12Z
2024-08-20T02:58:42.016Z  INFO 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] c.t.d.employee.EmployeeService           : Sending birthday greetings to employees
2024-08-20T02:58:42.024Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:58:43

Logs from Pod 2
2024-08-20T02:58:36.051Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-6] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:58:37.001Z
2024-08-20T02:58:38.034Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-5] n.j.s.core.DefaultLockingTaskExecutor    : Locked 'EmployeeService_sendBirthdayGreetings', lock will be held at most until 2024-08-20T02:59:08.001Z
2024-08-20T02:58:38.034Z  INFO 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-5] c.t.d.employee.EmployeeService           : Sending birthday greetings to employees
2024-08-20T02:58:38.047Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-5] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:58:39.001Z
2024-08-20T02:58:40.041Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [CN-Scheduled-10] n.j.s.core.DefaultLockingTaskExecutor    : Locked 'EmployeeService_sendBirthdayGreetings', lock will be held at most until 2024-08-20T02:59:10.001Z
2024-08-20T02:58:40.042Z  INFO 1 --- [demo-scheduling-shedlock-neo4j] [CN-Scheduled-10] c.t.d.employee.EmployeeService           : Sending birthday greetings to employees
2024-08-20T02:58:40.050Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [CN-Scheduled-10] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:58:41.001Z
2024-08-20T02:58:42.021Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-2] n.j.s.core.DefaultLockingTaskExecutor    : Locked 'EmployeeService_sendBirthdayGreetings', lock will be held at most until 2024-08-20T02:59:12Z
2024-08-20T02:58:42.021Z  INFO 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-2] c.t.d.employee.EmployeeService           : Sending birthday greetings to employees
2024-08-20T02:58:42.027Z DEBUG 1 --- [demo-scheduling-shedlock-neo4j] [ CN-Scheduled-2] n.j.s.core.DefaultLockingTaskExecutor    : Task finished, lock 'EmployeeService_sendBirthdayGreetings' will be released at 2024-08-20T02:58:43Z

Hi, thanks for reporting. If I get you right, if the tasks are executed only on one pod, it works as expected no matter the license? Then I am afraid I will not be able to help you ase the debugging is going to be really tricky. Morevore, I have no idea how the enterprise version differs from the community. Sorry

The tests are failing with the enterprise version. Not sure if it's going to help with the debugging.

Hi Thank you. I have pulled Neo4j Team in, they are also investigating on this issue.

Hi, with the help from Neo4j Team, I believe that the reason why ShedLock only works on Community but not on Enterprise version of Neo4j is due to the default runtime.
The enterprise is using the pipelined runtime by default while the community is using the slotted runtime. Queries using pipelined runtime are, unlike those run in slotted runtime, not being executed one at a time. Rather, the pipelined runtime allows the physical operators to handle batches of between roughly 100 and 1000 transactions each (referred to as morsels), which are written into buffers containing data and tasks for a pipeline. A pipeline can, in turn, be defined as a sequence of operators which have been fused into one another so that they may be executed together in the same task by the runtime.
Running ShedLock with Enterprise version, two transactions can be committed together in a single pipeline while the Community has to do it one by one in the slotted pipeline. That's where the problem comes in.
Prepend the query inside updateRecord method  with  CYPHER runtime = slotted make ShedLock work as expected on both Community and Enterprise version of Neo4j (even when I set lockAtLeastFor = 1s or not set it in my system).
So for this problem I think we need to fix it with pipelined runtime in mind. The above solution is work, but I don't know if it's the best solution.

Thank you, I will try that

Fix released as 5.15.1


Split on molecules and not conformations in dataloader

As mentioned in the tile, we are currently splitting on conformations and should change this to a splitting on molecules

I think I removed the record index @chrisiacovella was referring to since it was redundant with dataset["n_confs"], which is the count of conformers in each record. So in order to get the split indices, the splitting strategy's split method would have to shuffle an index with the length of dataset["n_confs"] , split these indices, then convert this to atomic_subsystem_indices_referencing_dataset (as in https://github.com/choderalab/modelforge/blob/48281ac742d476d7e9371c59e9c7b586205c8dce/modelforge/dataset/dataset.py#L569).

Any progress here? Is there anything I can help with?

#41 should resolve this.

It seems to make sense to remove the record_index array (that was a bit of a kludge to work with the prior structure of the reader).
I put together some example datafiles that basically just duplicate some of the data in the qm9 dataset (just duplicating some of the underlying arrays), that should be useful for testing (we can add these in as additional tests for the qm9 dataset, maybe change from a single bool "unit_testing" to some sort of specification of type of test we want).
10 records total, 24 total conformers:
https://drive.google.com/file/d/1xdGoqEkWxmxysJIDiienX4TOeZccCT9s/view?usp=sharing
100 records, total, 200 total conformers:
https://drive.google.com/file/d/1Ror0KnopG0KR4EvV8yagWq0G5MsU66Md/view?usp=sharing


Allow customisation of run model

Currently running a model from the file uses a hard-coded run command:
terminal.sendText(`dbt run --model ${plusOperatorLeft}${modelName}${plusOperatorRight}`);

which works great, except it assumes the default dbt setup is best. I have found it preferable to use --partial-parse and --warn-error global args, and --threads=20 run args, and I am sure others have found args that work best to their liking.
It would be great if the vscode-dbt-power-user plugin could take global args and run args in it's setup somewhere to support these.
I am happy to try to contribute but haven't written any JS before and only started using VSCode this afternoon so will need some pointers.

Hi @calvingiles, we usually configure these in profiles.yml themselves. But shouldn't be too hard to implement this!
Basically what you need to is:

Configure a setting with the additional params in settings.json (see the README) for example (probably best prefixed with the full name of the extension (innoverio.vscode-dbt-power-user)
Use vscode.workspace.getConfiguration(section?: string | undefined, scope?: ConfigurationScope | null): WorkspaceConfiguration
(See https://code.visualstudio.com/api/references/vscode-api#workspace) and add it to the run model string

If you need help, just ping us. We definitely welcome your PR!

We also use a custom DBT run command as we have DBT in a separate python VENV in a monorepo folder (dbt/.venv) (we do poetry run dbt using https://python-poetry.org/)


ScriptHandler crashs ADU

Bug in line https://github.com/Azure/iot-hub-device-update/blob/b71516d3e85f09db48c06980448e3a07d90d05e4/src/utils/process_utils/src/process_utils.cpp#L110 when count is 1024.
Expected Behavior
ADU should not crash with a segmentation fault
Current Behavior
ADU crash with a segmentation fault
Steps to Reproduce
Provide a detailed set of steps to reproduce the bug.

Run ADU and using the ScriptHandler

Device Information

Host OS: Buildroot Linux
Architecture: arm64
Provisioning Method: TPM
*DU Agent Version (run 'sudo -u adu /usr/bin/AducIotAgent -v'): 1.0.2

Logs

Additional Information
The following code snippet on line https://github.com/Azure/iot-hub-device-update/blob/b71516d3e85f09db48c06980448e3a07d90d05e4/src/utils/process_utils/src/process_utils.cpp#L110 solves the bug:
        if(count < sizeof(buffer))
        {
            buffer[count] = 0;
        }

Thanks for reporting this, @shaeussler.
I have a PR #527 out to address this in main branch that also fixes same issue I found in string_c_utils LoadBufferWithFileContents
I'm also porting the fix to develop branch.

@shaeussler, Her is the merged commit in main that should fix this issue: https://github.com/Azure/iot-hub-device-update/commit/f9b180dede4a6ed362cdf809862a9ef12872db4d

Thanks


New lessons always showing notification

I think that this is because of memory limit on google chrome storage api.
I think that the app hits the limit and then this happens.
Looking for workarounds.

A temporary solution is that you delete a few lessons and then everything will appear to work.

Abandoned chrome storage api for localStorage. Now you can keep a long record of lessons locally, but it does not sync between browsers. Will be merged soon.


RESTful API

This PR introduces CRUD-based REST APIs for the catalog database.
This server acts as a storage server to track the progress of files being transferred by the orchestration layer (cc: @smarru ). The orchestration layer and the UI layer will be able to interact with this server through REST APIs.
This iteration of the catalogue server consists of 8 major APIs with simple JWT-based token authentication (cc: @ub0005 )
These APIs so far are listed below (copied verbose from README of this same PR):
1) /catalogue/bulk/csv - POST, Upload CSV
Enables anyone to upload csv of specific format to populate the catalogue table in bulk.
curl --location --request POST 'http://<IP_ADDRESS>:5000/catalogue/bulk/csv/' \
--header 'token: <token>' \
--form<EMAIL_ADDRESS>
2) /catalogue/ - GET, all items
Enables anyone to fetch catalogue metadata items. We can use 2 query params to filter the result:

transfer_status - NOT_STARTED/COMPLETED/FAILED/IN_PROGRESS
page - Used for pagination

curl --location --request GET 'http://<IP_ADDRESS>:5000/catalogue/?transfer_status=NOT_STARTED' \
--header 'token: <token>'

3)  /catalogue/uuid/ - GET single item
curl --location --request GET 'http://<IP_ADDRESS>:5000/catalogue/6a1f5438-50d1-4e02-a11b-52f9018da69f/' \
--header 'token: <token>'

4) /catalogue/ - POST single item
This  is used to create a single catalogue item for the database
curl --location --request POST 'http://<IP_ADDRESS>:5000/catalogue/' \
--header 'token: <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "uuid": "8e547de43cbf43a3a50dffb81d255bb2",
    "transfer_status": "failed",
    "name": "test",
    "checksum_algorithm": "test",
    "checksum_value": "test"
}'

Note: The json data should have name, checksum_value and checksum_algorithm mandatory. If uuid is provided in the json data, it will be re-used. If not, new uuid will be created.

5) /catalogue/uuid/ - PATCH single item
Used for updating a specific catalogue item referenced by the given uuid.
curl --location --request PATCH 'http://<IP_ADDRESS>:5000/catalogue/c266dc7b9fad4d64aaa7d103b6f0af09/' \
--header 'token: <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "test",
    "transfer_status": "failed"
}'

6) /catalogue/uuid/ - DELETE single item
Delets a given catalogue item
curl --location --request DELETE 'http://<IP_ADDRESS>:5000/catalogue/8e547de43cbf43a3a50dffb81d255bb2/' \
--header 'token: <token>'

7) /catalogue/bulk/ - PATCH multiple items
Used for updating multiple items in a single request.
curl --location --request PATCH 'http://<IP_ADDRESS>:5000/catalogue/bulk/' \
--header 'token: <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "abcdef": {}
}'

Here the json data posted is of the structure:
{
    <uuid1>: {<json>},
    <uuid2>: {<json>},
}

8) /auth/login/ - POST Generate JWT Token
Used for generating JWT token based on user credentails
curl --location --request POST 'http://<IP_ADDRESS>:5000/auth/login/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "username": "username",
    "password": "password"
}'

For setting up the server, please refer to the README

TODO (cc: @ub0005 ) :

Integration testing with the orchestration team
Figure out (new) relevant APIs for generating statistics for the transfer (to be shown in the UI dashboard in future)

LGTM.


Arm beaglebone

Looks awesome thanks Michael - I'll rebase/clang-format these and merge it in.
FYI the SW CS stuff is still stuck in my backlog, I need a few hours to decide what I really want to call these functions.

Great!
To make your backlog a little longer, I will soon be able to support BananaPi/Pro (95%) and ODroid C1 (80%).
I totally forgot about the Beaglebone Port, mostly I played with Mainline Kernels on Banana and Beaglebone as Fedora 22 will bring much better support for a number of Microcontroller Boards.
Having Fedora on Intel Edison (some time in the future) would then be paradise for me.... especially with mraa available directly through Fedora Distribution, that would be the icing on the cake....

Not that I know, I guess nothing official will happen until the intel patches find their way in the mainline kernel. But doing something similar as ubilinux should be doable, perhaps a nice project in early summer for me.

Ok i've rebased/cleaned and put in a branch - can someone confirm this works as expected - https://github.com/intel-iot-devkit/mraa/tree/bbb

Merged with d9d55e42bc956d3a1afa8bbc008312ebdd7742d6
It would be good if you could document how to use BBB a little in a markdown file in docs/


error downloading truenas-csp 2.4.0 image

I am getting error with truenas-csp controller.
error :
conGetting ImagePullBackOff (Back-off pulling image "quay.io/datamattsson/truenas-csp:v2.4.0")

It seems Red Hat has all sorts of issues today. I had RPM issues earlier completely unrelated to this.

What will be impacted while truenas-csp pod can't get the image ?

You won't be able to perform any CSI driver related operations, that's for sure. If you're in a pinch you can rebuild the image locally and push to a registry that works.

You can subscribe to the issue here: https://status.quay.io/

issue have been resolved.


How to rsyslog?

Hey all,
I've searched and searched and searched to no avail (over a couple weeks now even).  What is the best way to export the system logs to a remote syslog server?  I've seen a couple different things in the ROS docs that don't apply here.  I tried updating my boot config with netconsole details but nothing arrives at the Logstash node.  On most systems I just add a *.* line at the end of /etc/rsyslog.conf, but no such thing exists on k3os, and there's no package manager to install anything :-/
Thanks.

You'll need to build your own k3os iso from source that includes rsyslog if you need that. Add whatever packages you need in this file and it will be installed in the k3os system installed. https://github.com/rancher/k3os/blob/master/images/00-base/Dockerfile

Awesome!  That'll do it!  Thank you so much!!


App crashes after setting state from asyncstorage

React Native version:

System:
    OS: Linux 5.0 Ubuntu 18.04.3 LTS (Bionic Beaver)
    CPU: (4) x64 Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz
    Memory: 152.31 MB / 7.70 GB
    Shell: 4.4.20 - /bin/bash
  Binaries:
    Node: 10.16.3 - /usr/local/bin/node
    Yarn: 1.19.1 - /usr/bin/yarn
    npm: 6.13.0 - /usr/local/bin/npm
  npmPackages:
    react: 16.9.0 => 16.9.0
    react-native: 0.61.4 => 0.61.4

Steps To Reproduce
On click I wanted to remove a link

function remove(index) {
    AsyncStorage.setItem(
      'links',
      JSON.stringify(Array.from(links).filter((item, i) => i !== index)),
    ).then(() =>
      AsyncStorage.getItem('links')
        .then(link => {
          setLinks(JSON.parse(link));
        })
        .then(() => ToastAndroid.show('Deleted', ToastAndroid.SHORT)),
    );
  }

Describe what you expected to happen:
View should be updated but I get this error.
error linkhttps://user-images.githubusercontent.com/16081083/69478141-f160a900-0e14-11ea-8a03-a91464ac16df.png
Snack, code example, screenshot, or link to a repository:
https://github.com/a-c-sreedhar-reddy/Link/blob/master/pages/Home.js#L26

@a-c-sreedhar-reddy whats legacy tag?

It's related to LEGACY AsyncStorage.
The error you see comes from the fact that View is being updated from non-UI thread. AsyncStorage does not modify view in anyway. What about not using ToastAndroid in your example?

@Krizzu I tried by removing toast even then the error exists.

Right, going to look into that

@a-c-sreedhar-reddy
Checked your example, the issue is not related to AsyncStorage. If'd look through the stack trace, you'll see that the issue comes from the Touchable* from react-native-gesture-handler. Replacing this with Touchable* from RN does not produce the problem.
Head over to react-native-gesture-handler and report issue there.

Yeah. thanks @Krizzu . VSCode imported it from RNGestureHandler.


Client is never closed

[ ] elastic.v2 (for Elasticsearch 1.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[x] elastic.v5 (for Elasticsearch 5.x)

In the documentation the elastic client is never close and cause CPU consomation because a new client is created after each call and the background context is never close.

The solution is to close the client in a defer after creating it (solution by @metal3d)

```````````````````````````````````````````````````go// Create a client
client, err := elastic.NewClient()
if err != nil {
  // Handle error
  panic(err)
}
defer client.Stop()
```````````````````````````````````````````````````````````
I update the wiki page but we must update each example to close client
Regards

A client is stopped when the program exits. So there usually is no need to close the client manually.
Which wiki page did you refer to?

Ah... I see it's this page. Yes, it's a good idea to add it to the example code there. Thanks.

I forgot to mention that I used elastic in an API so the program never end. Each handler use is own client to allow parallel  call

@ComeBurguburu You mean an API server, or in a library that builds upon Elastic? The latter would really make it different. It might be a good example to use the SimpleClient then, depending on the kind of library. Using NewSimpleClient doesn't set up any background goroutines or such.
You might also allow the client to pass an instance to *elastic.Client, so that the caller itself is responsible on instantiating and managing the client. YMMV.

An API server

Okay, so that's a long running service. It should only create one *elastic.Client when it starts up, and use that throughout the application. A Client instance is safe for use from multiple goroutines.

@olivere right, that's not a bad idea to have only one client but I've got two questions to be able to make it working as we want:

is there a way to check if client is always connected (to recreate a connection if needed) ?
what if several API requests need to use the client ? Our API will probably need 10 call/API request, and that for more that 10 client/s (and maybe more later)

I'm afraid about bottlenecks... :)
A last suggestion: Go convention is to use a .Close() method, can you add a simple function alias calling .Stop() to respect that convention ? (Yes, we can make a simple composition to add it, but I tell that for the base project ;) )

Precision, I will check SimpleClient anyway. And thanks for your quick answers (and for you package)

@metal3d Thanks for your suggestions. Let me address them one by one.
There is the IsRunning method, but it isn't quite helpful as it is always set to true if you initialize a client with NewClient or NewSimpleClient.
You can Start and Stop a client, so while Close is more common, it's not the opposite of Start. I find it a rather minor issue, really.
Elastic doesn't use a persistent connection to connect to ES but uses straightforward HTTP request/response. So if you have issues with that, you can pretty much translate them to issues with HTTP request/response in plain-old Go (and I've yet to see a performance bottleneck with that).
What Elastic does is when you run NewClient is start background processes to perform healthchecks and sniff new nodes/remove old nodes. The whole process is what all official clients implement and is described in the Wiki. When you use NewSimpleClient, there are no goroutines started and you're responsible for handling problems when ES nodes go down or are added to the cluster.


Update interface.py

increased high speed outerv and timeconstantv for smoother auto lane changes, but left lane change still overshoots more than right

You might need to redo this for the DP082-clean branch


Not working with RN 0.60.4

The library is not working with RN 0.60.4, automatic linking is not working. If I try to link manually, it throws errors. On pod install it produces error 'GeneratedDotEnv.m' file not found.
Any help? 🆘

You are using react-native-config from npmjs, try to use this librairy directly from github
yarn add https://github.com/luggit/react-native-config

I ended up using this specific commit and then I didn't need the post-install scripts mentioned in other issues
github.com/luggit/react-native-config.git#89a602b

@Elvinra that worked for me!!
Another fix, if you install with npmjs, then
 yarn add react-native-config
Open podfile and add
post_install do |installer|
 installer.pods_project.targets.each do |target|
   if target.name == 'react-native-config'
     phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
     phase.shell_script = "cd ../../"\
     " && RNC_ROOT=./node_modules/react-native-config/"\
     " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
     " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"

     target.build_phases << phase
     target.build_phases.move(phase,0)
   end
 end
end

cd iOS && pod install

Please check that node_modules/react-native-config/ios/ReactNativeConfig contains same up to date files from repo.
Nevermind, just found out that this repo is updated but not published to npm.
Replace "react-native-toasty": "0.0.4" with "react-native-config": "git+https://github.com/luggit/react-native-config.git"
Then you can run pod install without issue.
Still I don't understand why the npm version is not updated anymore.

Credit goes to @bockc here https://github.com/prscX/react-native-toasty/issues/12#issuecomment-514209713

I need help! I've try @dineshmm23's solution but I'm still getting this error:
ruby: No such file or directory -- ./node_modules/react-native-config//ios/ReactNativeConfig/BuildDotenvConfig.ruby (LoadError)
Command PhaseScriptExecution failed with a nonzero exit code

@fariasmark Are you missing the script? What version of react-native-config and react-native are you using?
The error that you reported is not the same as the original issue so you may want to open your own issue

@fariasmark just follow these steps:
yarn add react-native-config
then go to ios>Podfile and add below code at the bottom of file.
post_install do |installer|
 installer.pods_project.targets.each do |target|
   if target.name == 'react-native-config'
     phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
     phase.shell_script = "cd ../../"\
     " && RNC_ROOT=./node_modules/react-native-config/"\
     " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
     " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"

     target.build_phases << phase
     target.build_phases.move(phase,0)
   end
 end
end

then run pod install
now run react-native run-ios

@fariasmark Try replacing BuildDotenvConfig.ruby with BuildDotenvConfig.rb. It helped in my case.

Here is the guide for some poor soul javascript dev like me out there:

yarn add luggit/react-native-config#master (don't use the version on npm or you will spend way too much time to figure out how this work)
Note: if you want to anchor your version then use this commit instead of master https://github.com/luggit/react-native-config/commit/1eb6ac01991210ddad2989857359a0f6ee35d734
Follow exactly like the README, you don't need to add any code inside your Podfile
After pod install there will be some warning like this [!] react-native-config has added 1 script phase. (which mean you are doing this right)
2a. If your want to support Info.plist, replace __RN_CONFIG_xxx to $(xxx) inside your Info.plist file
Build and run your project like normal

On the side note, the README should be restructure for it is very confusing

@s123121 I've done everything that you said. What does your Pre-actions script look like inside of schemes > Build > Pre-actions ? Mine looks like:
echo ".env.testing" > /tmp/envfile
${SRCROOT}/../node_modules/react-native-config/ios/ReactNativeConfig/BuildXCConfig.rb "${SRCROOT}/.." "${SRCROOT}/tmp.xcconfig"

Not sure if i'm following the instruction correctly for when I want my configs in info.plist

I'm also having some trouble with getting RN0.60.4 to work with this library. I get an error in the preprocessing Info.plist
GeneratedInfoPlistDotEnv.h' file not found

It seems like there's so many different fixes each for different versions and if people have multiple envs.
Can we get some way of version controlling each solution and have an updated example. (it's currently at RN50). Perhaps just having a proper example for each version will alleviate all the issues popping up because this library doesn't work with this version.

@s123121 thank you alot

@ninjz you are correct remember that choose your target for Provide build settings form

@rexhuynh Thanks so much that seemed to solve my issue

@rexhuynh you save my day

@Elvinra that worked for me!!
Another fix, if you install with npmjs, then
 yarn add react-native-config
Open podfile and add
post_install do |installer|
 installer.pods_project.targets.each do |target|
   if target.name == 'react-native-config'
     phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
     phase.shell_script = "cd ../../"\
     " && RNC_ROOT=./node_modules/react-native-config/"\
     " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
     " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"

     target.build_phases << phase
     target.build_phases.move(phase,0)
   end
 end
end

cd iOS && pod install

Thanks. It works

What I've done for RN 0.60.4 upgrade from 0.59.2 is basically

Change react-native-config ver to master "react-native-config": "github:luggit/react-native-config#master" or lock commit to 1eb6ac0 as @s123121 said. Then npm install it
Remove pod 'react-native-config', :path => '../node_modules/react-native-config' in Podfile (if exists)
Remove the package link at Link Binary with libraries in your XCode Workspace
Add the following to Podfile, notice that it's .rb instead of .ruby for me (Thanks @mchudy)

post_install do |installer|
 installer.pods_project.targets.each do |target|
   if target.name == 'react-native-config'
     phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
     phase.shell_script = "cd ../../"\
     " && RNC_ROOT=./node_modules/react-native-config/"\
     " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
     " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.rb"

     target.build_phases << phase
     target.build_phases.move(phase,0)
   end
 end
end

run pod install at ios folder

@kdenz if remove script from Podfile it tun with react-native run-ios, but when try to archive - it fails with
BuildProductsPath/GeneratedInfoPlistDotEnv.h' file not found

@Mlobaievskyi That's so wierd lol
I'm still trying to figure out this error
/Users/kaiden-dragon/dev/dragon-frontend/react-native/node_modules/react-native-config/ios/ReactNativeConfig/ReadDotEnv.rb:27:in `join': no implicit conversion of nil into String (TypeError)
	from /Users/kaiden-dragon/dev/dragon-frontend/react-native/node_modules/react-native-config/ios/ReactNativeConfig/ReadDotEnv.rb:27:in `read_dot_env'
	from ./node_modules/react-native-config//ios/ReactNativeConfig/BuildDotenvConfig.rb:15:in `<main>'
reading env file from  and writing .m to
going to read env file from root folder
Command PhaseScriptExecution failed with a nonzero exit code

Found solution

yarn add react-native-config
manually link  https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual-linking
add next to react-native.config.js

module.exports = {
  dependencies: {
    'react-native-config': {
      platforms: {
        ios: null
      }
    }
  }
}

react-native run-ios (archive also work)

Can't seem to get this running either. Followed various options from above and none have worked. Got the same error as @kdenz when I tried his one.
I'll see if I can get it going with a react-native init and see if I can figure out what's going on from there.

@Mlobaievskyi @DVassilev good news here, @Mlobaievskyi 's solution worked for me, though I'm using the master branch version of react-native-config. (Not sure if 0.11.7 works as well)
Basically follow the steps here to manually link the package https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual-linking
And then put this into react-native.config.js at root folder
module.exports = {
  dependencies: {
    'react-native-config': {
      platforms: {
        ios: null
      }
    }
  }
}

Remember to remove this snippet from Podfile
post_install do |installer|
 installer.pods_project.targets.each do |target|
   if target.name == 'react-native-config'
     phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
     phase.shell_script = "cd ../../"\
      Everything was working fine for me. Then I deleted the build folder, tried to build again, and this error came back. Then I unlinked the library
react-native unlink react-native-config which deleted this line
pod 'react-native-config', :path => '../node_modules/react-native-config' from Podfile.
And everything stated working again. Podfile does have the solution provided by @ravimaurya-nickelfox .

What worked for me now on 0.60.4, inspired by @Mlobaievskyi  -

Change react-native-config ver to master "react-native-config": "github:luggit/react-native-config#master" or lock commit to 1eb6ac0 as @s123121 said. Then npm install it
Basically follow the steps here to manually link the package https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual-linking
And then put the following into react-native.config.js at root folder (Not sure if necessary)

module.exports = {
  dependencies: {
    'react-native-config': {
      platforms: {
        ios: null
      }
    }
  }
}

Remember to remove this snippet from Podfile

post_install do |installer|
 installer.pods_project.targets.each do |target|
   if target.name == 'react-native-config'
     phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
     phase.shell_script = "cd ../../"\
     " && RNC_ROOT=./node_modules/react-native-config/"\
     " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
     " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.rb"

     target.build_phases << phase
     target.build_phases.move(phase,0)
   end
 end
end

and the line pod 'react-native-config', :path => '../node_modules/react-native-config'
then run pod install again (To be safe you can delete Podfile.lock first)
Then I was getting 'GeneratedDotEnv.m' file not found. error
After battling it a while I realized from this PR (https://github.com/luggit/react-native-config/commit/1eb6ac01991210ddad2989857359a0f6ee35d734) that I should remove all these preprocess settings. After that 'GeneratedDotEnv.m' file not found. error is gone and it works for me.

post_install do |installer|
 installer.pods_project.targets.each do |target|
   if target.name == 'react-native-config'
     phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
     phase.shell_script = "cd ../../"\
     " && RNC_ROOT=./node_modules/react-native-config/"\
     " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
     " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"

     target.build_phases << phase
     target.build_phases.move(phase,0)
   end
 end
end

THIS WORKS!!!!!!!!!!!!

Do not trust the latest README.
If you want to use info.plist and Js,

Follow this document.
Put the following code in your podfile
Everything will work!!!!

post_install do |installer|
 installer.pods_project.targets.each do |target|
   if target.name == 'react-native-config'
     phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
      phase.shell_script = "cd ../../"\
       " && RNC_ROOT=./node_modules/react-native-config/"\
       " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\>
      " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"

      target.build_phases << phase
      target.build_phases.move(phase,0)
    end
  end
 end

You are using react-native-config from npmjs, try to use this librairy directly from github
yarn add https://github.com/luggit/react-native-config

This has worked for me correctly

Can we have a new release from master? I don't feel comfortable hardcoding a repository link in my package.json.

Chiming in here because this issue was invaluable in helping me to upgrade to 0.60.5 (and at this point I have this working in plist and in javascript):
If you remove preprocessor settings, don't expect any variables in your plist file to work. I did this because I simply needed my app to build so I could move onto other dependencies.
If you want to use variables in your plist and need to remove the preprocessor steps to get your app to run, make sure to follow @s123121's steps above.
NOTE: the readme is different from comments here that I've gotten to work, specifically the line: ${SRCROOT}/../node_modules/react-native-config/ios/ReactNativeConfig/BuildXCConfig.rb "${SRCROOT}/.." "${SRCROOT}/tmp.xcconfig"
The README has the first operation in quotes which wasn't getting there for me, when I used the one posted by @ninjz this finally worked.

I second what @BrendanJMurray has offered.

What worked for me now on 0.60.4, inspired by @Mlobaievskyi and @s123121 -

Change react-native-config ver to master "react-native-config": "github:luggit/react-native-config#master" or lock commit to 1eb6ac0 as @s123121 said. Then npm install it
Follow the steps here to manually link the package https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual-linking

And then put the following into react-native.config.js at root folder (Not sure if necessary)

module.exports = {
  dependencies: {
    'react-native-config': {
      platforms: {
        ios: null
      }
    }
  }
}

Remember to remove this snippet from Podfile

post_install do |installer|
 installer.pods_project.targets.each do |target|
   if target.name == 'react-native-config'
     phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
     phase.shell_script = "cd ../../"\
     " && RNC_ROOT=./node_modules/react-native-config/"\
     " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
     " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.rb"

     target.build_phases << phase
     target.build_phases.move(phase,0)
   end
 end
end

and the line pod 'react-native-config', :path => '../node_modules/react-native-config'
then run pod install again (To be safe you can delete Podfile.lock first)
Then I was getting 'GeneratedDotEnv.m' file not found. error
After battling it a while I realized from this PR (1eb6ac0) that I should remove all these preprocess settings. After that 'GeneratedDotEnv.m' file not found. error is gone and it works for me.

There's got to be another solution that doesn't involve manual linking. It's a massive job when you have a lot of dependencies, and is more prone to human error.

I've changed the below configs in "Build Settings" of project
Info.plist Other Preprocessor Flags => -traditional
Info.plist Preprocessor Prefix File => ${BUILD_DIR}/GeneratedInfoPlistDotEnv.h
Preprocess Info.plist File => Yes
and it worked

@mehdihz npm version?

   if target.name == 'react-native-config'
     phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
     phase.shell_script = "cd ../../"\
     " && RNC_ROOT=./node_modules/react-native-config/"\
     " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
     " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"

     target.build_phases << phase
     target.build_phases.move(phase,0)
   end

You're the best ! :D

@mehdihz npm version?

Sorry for late answer. My npm version:  6.9.0

I was beating my head at this for the better part of a day. Everything worked fine with little to no intervention on react 0.57 for me, moving to 0.60+ was a ball!
In any case what I needed was the following:
1- Store variables in the binary (e.g. URL and pinned public keys) and access them in JS (Config.X)
2- Pass variables to Info.plist (picked up by some sdks such as FB) $(MYVAR)
3- Pass variables through the bundler (bundle version info and other vars) ENVFILE=.env.x react-native run-ios
react-native-config did 1 and 2 for me, but for 3, I needed to use react-native-dotenv.
Now my issue could be that these both read/write to /tmp/envfile but in essence this should not be an issue because you basically only want one .env.XYZ file to be consumed on any one build.
For 1, I needed only to import the Config variable and use as needed. Between builds I need to rebuild since this is passed through the binary.
For 2, I needed to do some acrobatics and to stand on my head a bit. Basically the documentation seems to have changed and you no longer should be using the prefix __RN_CONFIG_VARNAME but instead $(VARNAME) only.
Here also you need to make sure that your xcconfig file references the tmp.xcconfig file which should be generated by an early build phase step that you have to create
${SRCROOT}/../node_modules/react-native-config/ios/ReactNativeConfig/BuildXCConfig.rb "${SRCROOT}/.." "${SRCROOT}/tmp.xcconfig

When I ran this command in terminal alone I noticed that it generated an empty tmp.xcconfig which was simply because I had not created a /tmp/envfile. Now my scheme build pre-action does this:
export ENVFILE=.env.test
echo $ENVFILE > /tmp/envfile
echo $ENVFILE > /tmp/dotenv

So it's not that the build doesn't have a /tmp/envfile to work with...at this point I figured it must have been deleted somewhere in the series of scripts running.
Reviewing the build logs when I had issues with vars not making it into the package, I noticed a subtle message:

*** Missing .env file ****

In the same log I noted that a previous run of BuildXCConfig.rb had no issues. Reviewing BuildXCConfig I realized that the last step deletes the /tmp/envfile...which of course was the crux of the problem, at least for my specific issue, I've create a pull request here for this: https://github.com/luggit/react-native-config/pull/404
The additional step needed for 2 to work properly is to make sure that your Project->Info->Configurations configured file (for me Pods-Project-Prod.xcconfig) calls
#include? "tmp.xcconfig"

at the top.
Note this gets stamped any time you do a pod install so we'd need a post_install step to put it back in.
For 3 I still can't find a very clean way of doing this for xcode. At present you need the scheme build pre-action to create the /tmp/dotenv file, but to pass ENVFILE to the bundler, I basically had to modify the node_modules/react-native/scripts/node-binary.sh and add the export there:
export ENVFILE=$(cat /tmp/dotenv)

In React < 0.60 I could add this bit to the React.xproj packager build phase, however with React > 0.60 the logic of the scripts have changed.

post_install do |installer|
installer.pods_project.targets.each do |target|
if(target.name=='Pods-YOURPROJECTTARGET')
puts "Updating #{target.name} for react-native-config configs to be included"
target.build_configurations.each do |config|
xcconfig_path = config.base_configuration_reference.real_path
xcconfig = File.read(xcconfig_path)
nativeconfig = '#include? "tmp.xcconfig"' + "\r\n" + xcconfig
File.open(xcconfig_path, "w") { |file|  file << nativeconfig }
end
end
end
end
After running, it can be used by using acts-native run-ios, but after deleting ipa, the edit config is empty

Clear xcode cache with

enter shift + option + cmd + k and clean

I just upgraded my React Native version to 0.61.4 and react-native-config ^0.12.0. @kdenz solution worked for me.

@Elvinra that worked for me!!
Another fix, if you install with npmjs, then
 yarn add react-native-config
Open podfile and add
post_install do |installer|
 installer.pods_project.targets.each do |target|
   if target.name == 'react-native-config'
     phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
     phase.shell_script = "cd ../../"\
     " && RNC_ROOT=./node_modules/react-native-config/"\
     " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
     " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"

     target.build_phases << phase
     target.build_phases.move(phase,0)
   end
 end
end

cd iOS && pod install

I had to rename BuildDotenvConfig.ruby to BuildDotenvConfig.rb

Thank you! @tmaly1980

FYI on RN 0.61.2:
In addition to https://github.com/luggit/react-native-config/issues/365#issuecomment-514487016 when using v0.11.7, v0.12.0 alleviates the need for this patch, after some additional small changes to your project

The library is not working with RN 0.60.4, automatic linking is not working. If I try to link manually, it throws errors. On pod install it produces error 'GeneratedDotEnv.m' file not found.
Any help? 🆘

For me, the problem was that ProjectTests target had the Preprocessor Prefix File set the same as the project, and it should be empty.

Is there a solution without having to add code to Podfile ?

If you are using Pods just add (without react-native link react-native-config)
pod 'react-native-config', :path => '../node_modules/react-native-config/react-native-config.podspec'
in your Podfile

I got .env value in AppDelegate.m
but didn't get in info.plist.
NSDictionary *config = [ReactNativeConfig env];
NSLog(@"Configure: %@", config);
"react-native": "0.61.5"
"react-native-config": "luggit/react-native-config#master",
can anyone help me. (Please share steps)
Thanks

I was getting the "ld: library not found for -lReactNativeConfig" error after switching over to CocoaPods. I removed ReactNativeConfig from the Libraries folder, but forgot to clean up "Link Binary with Libraries" under Build Phases.

RNC_ROOT=./node_modules/react-native-config/

I had to edit " && RNC_ROOT=./node_modules/react-native-config/"\ to without '/' at the end =>

I'm using react-native-config 1.4.1 and was running into the empty object problem on ios so I added a new run script and got the config correctly populated as expected:
if [ "${CONFIGURATION}" = "Release" ]; then
    export ENVFILE="$SRCROOT/../.env.production"
else
    export ENVFILE="$SRCROOT/../.env.development"
fi

this should be /open

this should be /open

@ninjz you are correct remember that choose your target for Provide build settings form

Thanks!!


ENH - Make it clear when you are not logged in

Background
The UI looks like a working UI when you aren't logged into the conda-store server. You have know to click on the little guy avatar in the circle to log in.
Expected behaviour
First, clicking on the avatar in the circle is not an intuitive login path.
Second, the logged-out UI page should make it clear that you are logged out of conda-store.

@kcpevey  could you please add some screenshots to help provide visual context here?

Could you please add some screenshots to help provide visual context here?

The person-icon highlighted here needs to clicked to log-in and log-out, with no other visual/intuitive indicator:

Since #247 has the proposed solution I will close this issue and edit the other one