Any new version from 4.5.1 doesn't attach extraVolumes in fluentd

Bugs should be filed for issues encountered whilst operating logging-operator.
You should first attempt to resolve your issues through the community support
channels, e.g. Slack, in order to rule out individual configuration errors. #logging-operator
Please provide as much detail as possible.

Describe the bug:
A clear and concise description of what the bug is.
I have a logging-operator deployed in a kubernetes Cluster RKE2 with version 4.5.1, when I try to update for a new version like 4.5.3 or 4.5.6 the logs stored in the fluentd never sent to Splunk
Expected behaviour:
A concise description of what you expected to happen.
The logs sent to Splunk
Steps to reproduce the bug:
Steps to reproduce the bug should be clear and easily reproducible to help people
gain an understanding of the problem.
Additional context:
Add any other context about the problem here.
Environment details:

Kubernetes version (e.g. v1.15.2): RKE2 1.26.11

Cloud-provider/provisioner (e.g. AKS, GKE, EKS, PKE etc):

logging-operator version (e.g. 2.1.1): 4.5.1

Install method (e.g. helm or static manifests): helm

Logs from the misbehaving component (and any other relevant logs):
2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/lib/ruby/3.2.0/net/http.rb:1580:in do_start' 2024-04-26T15:41:19.729694776+02:00   2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/lib/ruby/3.2.0/net/http.rb:1575:in start'
2024-04-26T15:41:19.729700576+02:00   2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/bundle/gems/net-http-persistent-4.0.2/lib/net/http/persistent.rb:662:in start' 2024-04-26T15:41:19.729705876+02:00   2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/bundle/gems/net-http-persistent-4.0.2/lib/net/http/persistent.rb:602:in connection_for'
2024-04-26T15:41:19.729711176+02:00   2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/bundle/gems/net-http-persistent-4.0.2/lib/net/http/persistent.rb:892:in request' 2024-04-26T15:41:19.729717176+02:00   2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/bundle/gems/fluent-plugin-splunk-hec-1.3.3/lib/fluent/plugin/out_splunk_hec.rb:351:in write_to_splunk'
2024-04-26T15:41:19.729722476+02:00   2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/bundle/gems/fluent-plugin-splunk-hec-1.3.3/lib/fluent/plugin/out_splunk.rb:103:in block in write' 2024-04-26T15:41:19.729727576+02:00   2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/lib/ruby/3.2.0/benchmark.rb:311:in realtime'
2024-04-26T15:41:19.729732776+02:00   2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/bundle/gems/fluent-plugin-splunk-hec-1.3.3/lib/fluent/plugin/out_splunk.rb:102:in write' 2024-04-26T15:41:19.729738076+02:00   2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/bundle/gems/fluent-plugin-splunk-hec-1.3.3/lib/fluent/plugin/out_splunk_hec.rb:154:in write'
2024-04-26T15:41:19.729763375+02:00   2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/bundle/gems/fluentd-1.16.3/lib/fluent/plugin/output.rb:1225:in try_flush' 2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/bundle/gems/fluentd-1.16.3/lib/fluent/plugin/output.rb:1538:in flush_thread_run'
2024-04-26T15:41:19.729773975+02:00   2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/bundle/gems/fluentd-1.16.3/lib/fluent/plugin/output.rb:510:in block (2 levels) in start' 2024-04-26 13:41:19 +0000 [warn]: #0 /usr/local/bundle/gems/fluentd-1.16.3/lib/fluent/plugin_helper/thread.rb:78:in block in thread_create'

Resource definition (possibly in YAML format) that caused the issue, without sensitive data:

/kind bug

More info:
failed to flush the buffer. retry_times=3 next_retry_time=2024-04-26 14:57:56 +0000 chunk="61700e0f9e5790e5efb53ae6d92b1e5f" error_class=OpenSSL::SSL::SSLError error="SSL_CTX_load_verify_file: system lib"

I tried to update from 4.5.2 to 4.5.6, when its done and when I see the logs in the fluentd pod I see this error:
error_class=OpenSSL::SSL::SSLError error="SSL_CTX_load_verify_file: system lib"
This is the log:
2024-04-30 09:49:49 +0000 [warn]: #0 [flow:gitlab:gitlab-to-splunk:output:gitlab:splunk-gitlab-dev] failed to flush the buffer. retry_times=9 next_retry_time=2024-04-30 09:58:20 +0000 chunk="6174d053bd6f5921236fadd5329cdb94" error_class=OpenSSL::SSL::SSLError error="SSL_CTX_load_verify_file: system lib" 2024-04-30T11:49:49.169562308+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/lib/ruby/3.2.0/net/http.rb:1666:in initialize'
2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/lib/ruby/3.2.0/net/http.rb:1666:in new' 2024-04-30T11:49:49.169585608+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/lib/ruby/3.2.0/net/http.rb:1666:in connect'
2024-04-30T11:49:49.169600808+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/lib/ruby/3.2.0/net/http.rb:1580:in do_start' 2024-04-30T11:49:49.169608108+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/lib/ruby/3.2.0/net/http.rb:1575:in start'
2024-04-30T11:49:49.169615008+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/bundle/gems/net-http-persistent-4.0.2/lib/net/http/persistent.rb:662:in start'   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/bundle/gems/net-http-persistent-4.0.2/lib/net/http/persistent.rb:602:in connection_for'
2024-04-30T11:49:49.169627208+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/bundle/gems/net-http-persistent-4.0.2/lib/net/http/persistent.rb:892:in request' 2024-04-30T11:49:49.169659408+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/bundle/gems/fluent-plugin-splunk-hec-1.3.3/lib/fluent/plugin/out_splunk_hec.rb:351:in write_to_splunk'
2024-04-30T11:49:49.169682307+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/bundle/gems/fluent-plugin-splunk-hec-1.3.3/lib/fluent/plugin/out_splunk.rb:103:in block in write'   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/lib/ruby/3.2.0/benchmark.rb:311:in realtime'
2024-04-30T11:49:49.169695207+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/bundle/gems/fluent-plugin-splunk-hec-1.3.3/lib/fluent/plugin/out_splunk.rb:102:in write' 2024-04-30T11:49:49.169701407+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/bundle/gems/fluent-plugin-splunk-hec-1.3.3/lib/fluent/plugin/out_splunk_hec.rb:154:in write'
2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/bundle/gems/fluentd-1.16.3/lib/fluent/plugin/output.rb:1225:in try_flush' 2024-04-30T11:49:49.169713607+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/bundle/gems/fluentd-1.16.3/lib/fluent/plugin/output.rb:1538:in flush_thread_run'
2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/bundle/gems/fluentd-1.16.3/lib/fluent/plugin/output.rb:510:in block (2 levels) in start' 2024-04-30T11:49:49.169726507+02:00   2024-04-30 09:49:49 +0000 [warn]: #0 /usr/local/bundle/gems/fluentd-1.16.3/lib/fluent/plugin_helper/thread.rb:78:in block in thread_create'`
I checked the releases notes but any change looks affect to SSL or something else

Good morning,
I got the main problem.
In the actual definition of the Logging I got a extraVolume def created to parse CAs from node host workers:
apiVersion: logging.banzaicloud.io/v1beta1 kind: Logging metadata:   name: &logging-app-dev gitlab-logging-dev   namespace: cattle-logging-system spec:   loggingRef: *logging-app-dev   fluentbit:     security:       roleBasedAccessControlCreate: true   fluentd:     security:       roleBasedAccessControlCreate: true       podSecurityContext:         runAsNonRoot: false     scaling:       replicas: 3     bufferStorageVolume:       pvc:         spec:           accessModes:             - ReadWriteOnce           resources:             requests:               storage: 1Gi     extraVolumes:       - volumeName: trusted-cas-volume         path: /home/fluent/certs         containerName: fluentd         volume:           hostPath:             path: /etc/pki/ca-trust/source/anchors   controlNamespace: cattle-logging-system   watchNamespaces:     - gitlab
But when the logging is created this extra volume never create inside fluentd pods.
With the same config in 4.5.1 the extraVolume was created well

@frit0-rb can you please use fenced code blocks so that we can see whitespaces as well?

@frit0-rb can you please use fenced code blocks so that we can see whitespaces as well?

Sorry @pepov , I added the fenced

thx, I've started to look into this, but I have some conflicting priorities, I have to ask for your patience

thx, I've started to look into this, but I have some conflicting priorities, I have to ask for your patience

No problem @pepov , we are not fare away from the las stable update, so take it easy

Hello @pepov the a new CVE from fluentbit [https://thehackernews.com/2024/05/linguistic-lumberjack-vulnerability.html]
So I need to resolve the problem as soon as possible because I need to update to 4.6.0

You can use the latest fluentbit anytime without upgrading logging operator by setting the fluentbit image version explocitly

Looking at the code of statefulset.go it seems both Volume and PersistentVolumeClaim must be specified. Not sure why. Also, support for mounting secrets or configmaps is not supported at all.
See https://github.com/kube-logging/logging-operator/blob/61e6eb05c56c393cd929d96e66e4c39f346c4882/pkg/resources/fluentd/statefulset.go#L53
These  lines were changed 5 months ago.

thx @mgalesloot ! can someone help me verify this fixes the issue? https://github.com/kube-logging/logging-operator/pull/1765
Also this one from @nak0f (coming soon) will extend the support for configmaps: https://github.com/cisco-open/operator-tools/pull/251

fyi I've updated the above PR with a sample that seems to fix this issue as I would expect

Hi @pepov closed this issue means the issue is solved for what version? What version I need to update to use extravolumes?

In the next upcoming version which is going to be 4.8


helm registry upgrade ignoring --kube-context parameter

When running:
helm --kube-context=context2 registry upgrade quay.io/xxxxx/xxxxx -- name -f name.yaml
it's ignoring context parameter and using one defined in kubectl config current-context
note that context parameter is also ignored when provided at the end:
helm registry upgrade quay.io/xxxxx/xxxxx -- name -f name.yaml  --kube-context=context2
am I missing something?
Thanks in advance

The second form should work,
helm registry upgrade quay.io/xxxxx/xxxxx -- name -f name.yaml --kube-context=context2

What helm registry upgrade does is:

helm registry pull quay.io/xxxxx/xxxxx  # download the tarball
helm upgrade $[options after --] $path_to_the_directory

can you try doing this two commands separately?
e.g
$ helm registry pull<EMAIL_ADDRESS>
Pull package: charts/ghost...
./charts_ghost_1.0.1
$ helm install ./charts_ghost_1.0.1

Hi @ant31 ,
so I've tried:
helm registry upgrade quay.io/xxxxx/xxxxx -- name -f name.yaml --kube-context=context2
and it didn't work, I'm pretty sure is not taking the parameter because if you use a non existing context name:
helm registry upgrade quay.io/xxxxx/xxxxx -- name -f name.yaml --kube-context=noexistingcontext
it doesn't fail..but when you do it separately:
Pull package: charts/ghost...
./charts_ghost_1.0.1
$ helm upgrade --kube-context=noexistingcontext ./charts_ghost_1.0.1
Error: could not get Kubernetes config for context "noexistingcontext": context "noexistingcontext" does not exist

Thanks!

I confirm the bug

Could this have to do with helm dropping the kube-context parameter as described in the Helm v2 docs?

A Note on Flag Parsing
When executing a plugin, Helm will parse global flags for its own use. Some of these flags are not passed on to the plugin.
--debug: If this is specified, $HELM_DEBUG is set to 1
--home: This is converted to $HELM_HOME
--host: This is converted to $HELM_HOST
--kube-context: This is simply dropped. If your plugin uses useTunnel, this is used to set up the tunnel for you.
Plugins should display help text and then exit for -h and --help. In all other cases, plugins may use flags as appropriate.
Is there a workaround?

Could this have to do with helm dropping the kube-context parameter as described in the Helm v2 docs?

I catched the call executed in cnr.sh:
original call:
helm registry upgrade my.registry.net/my/chart -- --debug --install --kube-context my-context --tiller-namespace default --namespace my-namespace --values myvalues.yaml --version 1.1.0 my-release-name
call executed from cnr.sh:
/var/lib/jenkins/.helm/plugins/registry/appr helm upgrade my.registry.net/my/chart -- --install --namespace my-namespace --values myvalues.yaml --version 1.1.0 my-release-name
So helm is definitely dropping the parameter before passing it to the plugin command.
My workaround is now to call ~/.helm/plugins/cnr.sh upgrade my.registry.net/my/chart -- --install --namespace my-namespace --values myvalues.yaml --version 1.1.0 my-release-name effectively bypassing helm's plugin system.


Document how to connect from a mobile app to local web app in the same solution

Moved from #3746
@danroth27 	wrote:
We should update this article with more detailed steps on how to connect from the mobile app emulator to the web api when both are in the same solution. Ex. with the Android emulator you use IP address <IP_ADDRESS> and you need to update your IIS Express site bindings to allow the request through. We should also figure out what the steps are for iOS or UWP.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: bdbdf1ed-c52a-3be8-1f41-aecbdab0883b
Version Independent ID: d06996cc-14aa-96e2-fd62-9d5bbc059107
Content: Create backend services for native mobile apps with ASP.NET Core
Content Source: aspnetcore/mobile/native-mobile-backend.md
Product: aspnet-core
GitHub Login: @ardalis
Microsoft Alias: riande

@danroth27 	please set priority or close. 3K PV/month.

In the past had problems on Windows with VS.  I ran into issues with getting the emulators to allow connections to localhost on the host machine. I also remember hitting issues with dealing with HTTPS, where the request fails because the mobile app doesn’t trust the certificate used by web app during development.
.        Contacts:  Jimmy Garrido
file -> new and add web api backend should add this for you automatically.
For Android you need to toggle a few things to loopback:
https://github.com/jamesmontemagno/MotzCodesLive/blob/master/Twitch-SignalRSaturdays/XamChat/XamChat/ViewModel/ChatViewModel.cs#L53-L55

Circling back... we got a first-cut article up to help customers get HTTPS connections to local services for testing from Android & iOS emulators/simulators:
https://docs.microsoft.com/en-us/xamarin/cross-platform/deploy-test/connect-to-local-web-services
We've already identified that we could include more specific instructions on configuring IIS Express, so there'll be another update soon.


Need rules please!

Would LOVE to see you add the ability to set rules to send new and existing emails into a folder
This is the one feature that MS has that we cannot live without.
Thank you for your consideration
Jim

You already can, with sieve scripts (filters and vacation message). This requires your IMAP server to have sieve service enabled (if you're using Dovecot, see https://wiki2.dovecot.org/Pigeonhole/ManageSieve).
Sieve scripts is listed at https://www.rainloop.net/features/.
You can enable feature via Domains menu at Admin Panel. Select desired domain and click "Sieve configuration".

This should be implemented in an e-mail server, not in an e-mail client like Rainloop, because you want this to work too if the e-mail client is not running. My proposal is therefore to close this issue.

@M66B, I agree with you. This should be implemented with the server not the client, and issue should therefore be closed.
However, email client (web or desktop) may support managing server rules via ManageSieve protocol. And RainLoop does. You can enable filters feature via Domains menu at Admin Panel, if Sieve and ManageSieve is supported with your mail server. Select desired domain and click "Sieve configuration".

The problem is many shared hosting provider doesn't support ManageSieve for Dovecot, i don't know why. But what's alternative?


Add addition to wifi help section in readme.

Some new users(which this script is targeted at) may not know how to stop a ping request and might get confused. This just adds a quick note that might some.

Yeah, I understand this, but if a user doesn't know CTRL-C, then should they really be using Arch?

Instead of this, wouldn't it be better to just do ping -c 4 google.com?
Also, "You can test if you have internet connection by running" - there should be some explanation here. The user will see "64 bytes from waw02s17-in-f14.1e100.net (<IP_ADDRESS>): icmp_seq=1 ttl=119 time=10.3 ms" but what does it mean? How would the user know from this if they have an internet connection?
Sth like "If you see something similar to 64 bytes from... then you are connected properly."


LEAN-3751

In this PR I attempt to remove the "mathjax-full" dependency (which is a significant portion of our bundle size). Although it's possible to directly include a <script> tag to load the library, I decided to programatically inject it . This is mainly to keep the loading and the usage of the library in the same place and not split across different repos.

I updated the code with the following:

Added a dependency on mathjax. The dependency is not used directly, only its version.
Similar to what we did in transform, I added a new script that generates a "versions.ts" file with the package version exported as a const, and also included the version of the mathjax dependency.
Updated math.ts to use the generated version when constructing the URL.

This is still hacky but satisfies the requirements of everything being contained within the body-editor and mathjax version being specified in package.json.

This looks acceptable to me. Since indeed, we preserve dependencies control function of package.json by going this way.


Rotate issue

          Hi there, I think I'm having the same issue, not sure how to fix it though :/

https://welbornmetal.com/furniture/shoe_rack_2/
Originally posted by @CAinDE in https://github.com/boratanrikulu/eternity/issues/7#issuecomment-1477245527

It works if I set in config.yml disableAlwaysResize: true
Fix must be something todo with:

https://github.com/boratanrikulu/eternity/blob/19a478ff293308b5fca7e222ca0c744675e81582/layouts/partials/slides/slider.html#L29
-https://github.com/boratanrikulu/eternity/blob/19a478ff293308b5fca7e222ca0c744675e81582/layouts/partials/slides/slide.html#L26

Not sure how to fix it with ``disableAlwaysResize: false`

Awesome! Just been having this problem myself, managed to fix it thanks to this.

I've put up a PR to implement the changes.

[!WARNING]
This project is currently not being actively maintained.
Please do not create new issues on GitHub.


Unexpected error while reading STDOUT from process

I use this chat example:
echo "Please enter your name:"; read USER
echo "[$(date)] ${USER} joined the chat" >> chat.log
echo "[$(date)] Welcome to the chat ${USER}!"
tail -n 0 -f chat.log --pid=$$ | grep --line-buffered -v "] ${USER}>" &
while read MSG; do echo "[$(date)] ${USER}> ${MSG}" >> chat.log; done

Tell me why I see this error after disconnect?
Fri, 23 Aug 2019 18:42:00 +0200 | ACCESS | session    | url:'http://stock.ovh:8080' id:'1566578489568344496' remote:'<IP_ADDRESS>' command:'/bin/bash' origin:'file://' pid:'16316' | DISCONNECT
Fri, 23 Aug 2019 18:42:00 +0200 | ERROR  | process    | url:'http://stock.ovh:8080' id:'1566578489568344496' remote:'<IP_ADDRESS>' command:'/bin/bash' origin:'file://' pid:'16316' | Unexpected error while reading STDOUT from process: read |0: file already closed

Well.   I don't know what's happening but tail/grep is not using actual stdout and really ends up in websocketd log as STDERR would.
I tried few things but so far only this seemed to make a positive impact:
PID=$$
bash -c "tail -n 0 -f chat.log --pid=$PID  | grep --line-buffered -v \"] ${USER}>\"" &

you may try to explore in this direction and see if there is similar solution without additional shell.


[Instance Service] Create and Delete requests are not validated.

Validation functions should be added to validate Create and Delete requests for Instance Service.

fixed by #449


Does not work with androidx.appcompat:appcompat:1.2.0

Tested on Android 11.
Related issue https://github.com/zeugma-solutions/locale-helper-android/issues/15 and https://github.com/akexorcist/Localization/issues/64

@alexeyvasilyev Do you find another way to solve this?

Switched to locale-helper-android latest beta. It works at least partitially.

I am also having this issue.. can we expect a fix for this? Or do I also have look into switching libraries? Thanks =)

I've just published v1.1 fixing the problem.
It is required that you remove the following piece of code from your Activities:
@Override
protected void attachBaseContext(Context newBase) {
    newBase = LocaleChanger.configureBaseContext(newBase);
    super.attachBaseContext(newBase);
}

And replace it by this piece of code:
private LocaleChangerAppCompatDelegate localeChangerAppCompatDelegate;

@NonNull
@Override
public AppCompatDelegate getDelegate() {
    if (localeChangerAppCompatDelegate == null) {
            localeChangerAppCompatDelegate = new LocaleChangerAppCompatDelegate(super.getDelegate());
    }

    return localeChangerAppCompatDelegate;
}

I've just published v1.1 fixing the problem.
It is required that you remove the following piece of code from your Activities:
@Override
protected void attachBaseContext(Context newBase) {
    newBase = LocaleChanger.configureBaseContext(newBase);
    super.attachBaseContext(newBase);
}

And replace it by this piece of code:
private LocaleChangerAppCompatDelegate localeChangerAppCompatDelegate;

@NonNull
@Override
public AppCompatDelegate getDelegate() {
    if (localeChangerAppCompatDelegate == null) {
            localeChangerAppCompatDelegate = new LocaleChangerAppCompatDelegate(super.getDelegate());
    }

    return localeChangerAppCompatDelegate;
}

This is works for me!
Thanks

I've just published v1.1 fixing the problem.
It is required that you remove the following piece of code from your Activities:
@Override
protected void attachBaseContext(Context newBase) {
    newBase = LocaleChanger.configureBaseContext(newBase);
    super.attachBaseContext(newBase);
}

And replace it by this piece of code:
private LocaleChangerAppCompatDelegate localeChangerAppCompatDelegate;

@NonNull
@Override
public AppCompatDelegate getDelegate() {
    if (localeChangerAppCompatDelegate == null) {
            localeChangerAppCompatDelegate = new LocaleChangerAppCompatDelegate(super.getDelegate());
    }

    return localeChangerAppCompatDelegate;
}

This is works for me!
Thanks

Worked for me!!! Thank you so much!

Worked for me!!! Thank you so much!


Script Error

Hello,
When running your script on RP4, seems to encounter issue with as follows:
~/bme680_to_influxdb $ python senddata.py “./config.ini”
/home/pi/bme680_to_influxdb/senddata.py:22: SyntaxWarning: "is" with a literal. Did you mean "=="?
if len(sys.argv) is 2:
KeyError parsing config.ini file. Check file and its structure!
Can you assist me with this issue, script was working fine to what looks like a newer version of python being 3.9.2+

Hey, I do not run the script myself anymore. Have you tried to replace the is with == in line 22 of senddata.py? https://github.com/ayeks/bme680_to_influxdb/blob/master/senddata.py#L22C1-L22C23
Please comment if it works and I can change it in my script.
Cheers
Lars

Hello,
Thanks for getting back to me, and I am sorry for the very late reply I
have been away.
I was in need of a re-image and followed your instructions again, this time
the script is working.
I had to run with nohup as the script would stop when I close the ssh
session.
All is OK with getting it to run now with a small error when outputting to
file, I get this.....
nohup: ignoring input and appending output to 'nohup.out'
/home/pi/bme680_to_influxdb/senddata.py:22: SyntaxWarning: "is" with a
literal. Did you mean "=="?
if len(sys.argv) is 2:
so I will change the "2" to "==" and go from there.
The script is now running for around 30 hours then stopping.
Pi is on and forced no power management and still fails over time on both
LAN/WLAN interfaces, I guess I need to ask/learn for some error handling
and see why
I will continue to troubleshoot why it stops after a day or so, if you have
any suggestions pleae let me know, but let me take the opportunity to thank
you for creating and sharing this, my wife loves it - when it is working
[image: image.png]
On Thu, Aug 17, 2023 at 4:27 PM Lars Lühr @.***> wrote:

Hey, I do not run the script myself anymore. Have you tried to replace the
is with == in line 22 of senddata.py?
https://github.com/ayeks/bme680_to_influxdb/blob/master/senddata.py#L22C1-L22C23
Please comment if it works and I can change it in my script.
Cheers
Lars
—
Reply to this email directly, view it on GitHub
https://github.com/ayeks/bme680_to_influxdb/issues/15#issuecomment-1681856047,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A7SUHC3XTU54V7DWZI7LY7DXVXIWZANCNFSM6AAAAAA2LJRZPY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Mention quantile function in docstring

First, of all, thanks for making and maintaining this project. I'm trying to make a wasm project and I would have probably given up without statrs.
Anyway, I'm always confused by the many synonyms used in statistics. This PR suggests to add one synonym to the inverse_cdf to the docstring of the normal distribution. This should make it at least visible when searching the docs?
Adding the note to all inverse_cdf implementations seems a bit redundant so that's why I kept it to the Normal for now.

I'd added the quantile function to inverse_cdf as a doc alias in another PR.
Still open to including the verbiage mentioning that this name is used in other tools like R, could you also mention it on the trait method? I think that normal is a good place to have it since it's such a prolific distribution and likely seen early on reading the docs.

I added it to the docs for the trait, merging this to have it in Normal, where it's also likely to be seen.


[BUG] Multi-GPU performance worse than single GPU when using optimizers with moving averages (e.g.: Adam)

I will refer to the issue I opened on the accelerate github, because I am unsure if this is an accelerate, Deep Speed or torch issue. All of the details are there.

TL;DR: The performance when training a model with DeepSpeed is slightly worse in multi-GPU setup compared to single GPU, depending on the optimizer, and the reason seems to be because DeepSpeed does not share the moving averages between devices, for example the first and second moment estimates of Adam. This is true whether or not you use torch or DeepSpeed's optimizers.
After looking further into this issue, I think I have figured out what is going on. While I don't have a definite proof, I am sure someone more knowledgeable with the DeepSpeed library can confirm if this is correct or not.
Here's what I observed, running accelerate with DeepSpeed, 1 vs 2 GPUs

First training step, everything is the same, model input, model weights, model output, loss, gradient, model weights after the weight update.
Second training step, model input, model weights, model output, loss and gradient are the same. But then, the model weights after the weight update differ between the 1 vs 2 GPU setup.
Then, for the following steps, since the weights have diverged, everything else diverges and the performance ends up worse for the 2 GPU setup compared to the 1 GPU setup.

I believe that this is likely because of the issue I have mentioned in the TL;DR: DeepSpeed probably does not share the moving averages of optimizers between devices, which leads to the divergence I am observing.
Here's how one can reproduce this. I am using huggingface accelerate, but surely using solely DeepSpeed would result in the same problem.
OS and devices:
A100 GPUs, Ubuntu 22.04, CUDA 11.8
Packages:
accelerate=0.25.0
deepspeed=0.12.6
python=3.10.13
pytorch=2.1.2

Code to reproduce:
import argparse
import torch
import torch.nn as nn
from accelerate import Accelerator
from accelerate.utils import set_seed, DummyOptim

class Model(nn.Module):
    def __init__(self):
        super().__init__()
        self.w = nn.Linear(1, 1)

    def forward(self, x):
        return self.w(x)

class Dataset(torch.utils.data.IterableDataset):
    def __iter__(self):
        for _ in range(1000000000):
            x = torch.rand(1) * 2
            y = torch.zeros(1) if x < 1 else torch.ones(1)
            yield x, y

    def __len__(self):
        return<PHONE_NUMBER>

class DataLoader(torch.utils.data.DataLoader):
    def __init__(self, batch_size):
        super().__init__(Dataset(), batch_size=batch_size, shuffle=False)

    def __iter__(self):
        for batch in self.dataset:
            yield batch

parser = argparse.ArgumentParser()
parser.add_argument('--batch_size', type=int)
parser.add_argument('--steps', type=int, default=10)
parser.add_argument('--seed', type=int, help='If not None, will set the seed for random, numpy, torch, torch.cuda and if TPUs are available torch_xla’s cuda state.')
args = parser.parse_args()

accelerator = Accelerator(
    split_batches=True,
    dispatch_batches=True)

if args.seed is not None:
    set_seed(args.seed, device_specific=True)

model = Model().to(accelerator.device)
optimizer = DummyOptim(model.parameters(), lr=1e-1, weight_decay=0)
criterion = nn.BCEWithLogitsLoss()
dataloader = DataLoader(batch_size=args.batch_size)

model, optimizer, dataloader = accelerator.prepare(model, optimizer, dataloader)

for step, batch in enumerate(dataloader):
    batch, target = batch
    batch = batch.to(dtype=model.w.weight.dtype)
    print(accelerator.local_process_index, batch, target)

    print(accelerator.local_process_index, model.w.weight.data, model.w.bias.data)

    output = model(batch)
    print(accelerator.local_process_index, output)
    loss = criterion(output, target)
    print(accelerator.local_process_index, loss.item())
    accelerator.backward(loss)
    print(accelerator.local_process_index, model.w.weight.grad, model.w.bias.grad)
    print(accelerator.local_process_index, model.w.weight.data, model.w.bias.data)
    optimizer.step()
    optimizer.zero_grad()

    if (step + 1) == args.steps:
        break

Feel free to comment out print calls. Printing the weights after each update is enough to see the divergence.
Here's my accelerate config for the 1 GPU case:
compute_environment: LOCAL_MACHINE
debug: false
deepspeed_config:
  deepspeed_config_file: deespeed_config.json
  zero3_init_flag: false
distributed_type: DEEPSPEED
downcast_bf16: 'no'
machine_rank: 0
main_training_function: main
num_machines: 1
num_processes: 1
rdzv_backend: static
same_network: true
tpu_env: []
tpu_use_cluster: false
tpu_use_sudo: false
use_cpu: false

And its deepspeed config:
{
    "optimizer": {
        "type": "AdamW",
        "params": {
            "lr": 1e-1,
            "betas": [
                0.9,
                0.999
            ],
            "eps": 1e-8,
            "weight_decay": 0
        }
    },
    "zero_optimization": {
        "stage": 0,
        "offload_optimizer": {
            "device": "none",
            "nvme_path": null
        },
        "offload_param": {
            "device": "none",
            "nvme_path": null
        }
    },
    "bf16": {
        "enabled": true
    },
    "fp16": {
        "enabled": false
    },
    "train_batch_size": 64,
    "train_micro_batch_size_per_gpu": 64,
    "gradient_accumulation_steps": 1
}

And the 2 gpu accelerate config:
compute_environment: LOCAL_MACHINE
debug: false
deepspeed_config:
  deepspeed_config_file: deespeed_config_B.json
  zero3_init_flag: false
distributed_type: DEEPSPEED
downcast_bf16: 'no'
machine_rank: 0
main_training_function: main
num_machines: 1
num_processes: 2
rdzv_backend: static
same_network: true
tpu_env: []
tpu_use_cluster: false
tpu_use_sudo: false
use_cpu: false

And its deepspeed config:
{
    "optimizer": {
        "type": "AdamW",
        "params": {
            "lr": 1e-1,
            "betas": [
                0.9,
                0.999
            ],
            "eps": 1e-8,
            "weight_decay": 0
        }
    },
    "zero_optimization": {
        "stage": 0,
        "offload_optimizer": {
            "device": "none",
            "nvme_path": null
        },
        "offload_param": {
            "device": "none",
            "nvme_path": null
        }
    },
    "bf16": {
        "enabled": true
    },
    "fp16": {
        "enabled": false
    },
    "train_batch_size": 64,
    "train_micro_batch_size_per_gpu": 32,
    "gradient_accumulation_steps": 1
}

Now if you run the python script for both the 1 gpu and 2 gpu case:
accelerate launch --config_file=<accelerate_config_1gpu> <python_script> --batch_size=64 --steps=500 --seed=0
accelerate launch --config_file=<accelerate_config_2gpus> <python_script> --batch_size=64 --steps=500 --seed=0
You can compare the model weights and observe what I have described.
I ran seeds 0 to 4 included, averaged the loss and get the following graph:

This showcases the performance difference, where the orange loss is doing slightly worse than the blue loss. Note that if I change the optimizer to SGD, then the lines are identical, since SGD doesn't have moving averages.
Only tested with Adam, but I assume that any optimizer with moving averages has this problem. Maybe this is a known problem for the DeepSpeed developers and potentially a design choice. It might be too slow to share moving averages. Maybe it should be an option for the user.
I might also be wrong with respect to the cause of the problem, but someone more knowledgeable than me with DeepSpeed can surely confirm whether this is the problem or not.
If you need any other details, let me know.

FYI, I closed the issue that was opened on accelerate's side because I had two issues opened, one in accelerate's repo and one in DeepSpeed's repo, because I didn't know at the time where the problem was.

Hello, I observe the same except way worse - it diverges when I bump a number of GPUs. I'm training BLIP-2 model from scratch in bf16 precision.

Any update on this issue? I observe the same thing.


APIView - viewing comments

When using APIView one has to scroll a lot to discover all comments. Can we add a view to the tool where comments are extracted together with API elements they are attached to? (similarly to how github discussion tab on PR looks like) ?
@kurtzeborn FYI

Being fixed with https://github.com/Azure/azure-sdk-tools/pull/837


unhygienic expansion and unintended normalization in refmt

Consider:
let f = (x, p) => p(x);
let g = (a, b) => a + b;

let ___x = 42;

Js.log(7->f(g(_, ___x))); /* output 49 */

Now, change ___x to __x:
let f = (x, p) => p(x);
let g = (a, b) => a + b;

let __x = 42;

Js.log(7->f(g(_, __x))); /* output 14 */

The reason is that 7->f(g(_, __x)) is rewritten to 7->f(__x => g(__x, __x)) in the compiler. This causes an unintended variable capture akin to what we can see from unhygienic macros.
A related bug is that refmt normalizes 7->f(g(_, foo)) to 7->f(__x => g(__x, foo)). I argue that it should not do this. Even if the compiler is now correct, that is, it generates a fresh identifier that avoids unintended variable capture, outputting the generated identifier to users doesn't seem to be a good normalization. Furthermore, it doesn't look good aesthetically (although this might be subjective).

+1 to the g(_, foo) should be preserved by refmt instead of turning it into __x => g(__x, foo). It's a strong disincentive to use that otherwise very handy form.

@sorawee there are 2 things in play here:

Supporting the notation foo(_, e), which requires recognizing when the AST represents that form.
Converting to OCaml valid syntax, and ideally convert back to the same representation.

Currently there's a simplistic convention where a dedicated variable name __x is generated, which breaks when that same variable name is used in the source program.
One could use more elaborate mechanisms to preserve hygiene, such as making sure that the variable is fresh for the relevant scope, and use an annotation in the AST to mark that it represents _.

+1 to the g(_, foo) should be preserved by refmt instead of turning it into __x => g(__x, foo). It's a strong disincentive to use that otherwise very handy form.

I don't use it for exactly this reason. But I want to badly.


make ErrSwarmLocked and ErrSwarmCertificatesExpired return status code 503

In code https://github.com/docker/docker/blob/master/api/server/httputils/errors.go#L65-L71, it validates the string this node to return status code of 503.
{"this node", http.StatusServiceUnavailable},

While the every error related to 503 should contain string this node.
I found that error ErrSwarmLocked and ErrSwarmCertificatesExpired do not contain "this node".This PR makes them contain "this node" and return status code of 503 to keep consistent.
Since error ErrSwarmLocked and ErrSwarmCertificatesExpired is added from version 1.13.x, and did not appear in dockerd 1.12.x, so this change will not change the API, but enhance api 1.25.

In addition, in code https://github.com/docker/docker/blob/master/daemon/cluster/cluster.go#L689, there is a substring of "this node" in the error message, then this error will return status code of 503, which is unreasonable, like the following pic:

- What I did

make error  ErrSwarmLocked and ErrSwarmCertificatesExpired contain substring "this node" and return 503;
make another error not contain substring "this node".

/cc @stevvooe
Signed-off-by: allencloud<EMAIL_ADDRESS>

After some thought, 503 is probably the right error code for these conditions.
It would be better to add a new match criteria, than change the error message to contain "this node".

Agreed, we do have helpers for wrapping errors with http status codes that the api layer handles.
Not 100% ideal, but better than string matching.

I agree to not use string match. Since string match will cause accidental mismatch sometimes.

Currently, in case that should return status code of 503, I wrap the errors there, like :
return apierrors.NewRequestServiceUnavailableError(ErrSwarmLocked)

While I think some other places which have substring this node by accident, we still should make it not contain this node.
As result, this PR did two parts:

use error wrapper to deal with errors which should be 503;
replace one error's substring this node to make it not return 503.

PTAL @stevvooe @cpuguy83

Not sure how to test expired, but maybe a test for the locked case would be in order?

While string matching isn't the best method, wrapping these errors could have unintended effects, especially in an rc release. IMHO, the apierrors package is a worse pattern than string matching, in practice, as it may unintentionally hide error values.
As I said above, please just add another match criteria. We can fix the error code mess in a later PR, outside of the release. If we really didn't want string matching, we need to be mindful to catch these anti-patterns (as well, as apierrors) during code review.

@stevvooe looks good to you ?

Hi, @vieux, @stevvooe hopes I could change another match criteria. Actually I have not done that yet.
In addition, I think in the long term, a better match criteria is very good, while currently I have no idea how to choose a proper one, since we hope that a better match could include every case, however it is not easy to achieve this.
So I keep the current implementation. And feel free to input more.

Any update ? @stevvooe @cpuguy83

@allencloud Please follow my feedback. Add a new matching case rather than change these strings.
@thaJeztah This needs to go into 1.13.0. What happened here?

Thanks for your feedback. I will try that.

@allencloud what's status here?

As I said above, please just add another match criteria

I am afraid that I still have no idea which match criteria is better than now. I have to say that some help is needed.

@allencloud These errors are mapped to status codes based on strings (unfortunately). Rather than change all the error messages, add a condition here or return a proper status code directly.

opened https://github.com/docker/docker/pull/31141 as a replacement

replacement was cherry-picked into 1.13.x / 17.03 through https://github.com/docker/docker/issues/31140

Thanks @thaJeztah  ^^


Change for moving to romana command line.

Nice.
It's good that this PR has kept up to date with some big, recent changes in the installer, so that it'll merge smoothly.
I guess the original script wasn't terrible, since the new tool uses almost the same instructions (eg: add-host --> host add), but obviously very different underneath ;-)

Not really important, but installing it as part of the 'install-agent' task means it'll be installed two times on the controller, since the agent (and "compute" / "kubelet" things) also run on the controller node.
Something to fix in the future. Or it'll become irrelevant if we have proper packages for the apps.

yep your original script was nice :)

fixed the multi install thing above, i had controller/compute node in mind, but its actually controller and things in common split, nice.

Good progress.
Very important now that we start a proper doc section for those comments. We have a few wiki pages already and should start a new one in there somewhere, which contains the docs.
Next thing.... man pages? Do people still do that or do they all rely on the --help option now? I've seen systems where they don't bother with proper man pages anymore, which is kind of sad.

The reason this stage exists is to configure the hosts before installing and starting agents, so it's the install-master stage that needs to install romana tool.

yep will revert that commit.

I've made a change to do it (not pushed yet). Different error afterward.
fatal: [cmdtest-controller]: FAILED! => {"changed": true, "cmd": "/var/tmp/romana-post-install.sh", "delta": "0:00:00.065824", "end": "2016-04-28 00:25:40.609874", "failed": true, "rc": 255, "start": "2016-04-28 00:25:40.544050", "stderr": "Error: Romana Tenant doesn't exists: default\nError: Romana Tenant doesn't exists: tenant-a\nError: Romana Tenant doesn't exists: tenant-a\nError: Romana Tenant doesn't exists: tenant-a", "stdout": "", "stdout_lines": [], "warnings": []}

Seems to error out on the romana segment add lines.

yes i am getting the same, so something changed and the openstack tenant seemed to be created after this, which is weird, debugging currently.

I think the tenantCreate is silently failing on Kubernetes.

works with openstack now with latest fix, will test it for kubernetes.
openstack output:
PLAY RECAP *********************************************************************
localhost                  : ok=6    changed=3    unreachable=0    failed=0
pk-compute01               : ok=56   changed=29   unreachable=0    failed=0
pk-controller              : ok=83   changed=45   unreachable=0    failed=0
Devstack Summary
Controller
...

ok found the problem, replacing all binaries with latest one, it works, the binaries don't support the external id feature we added, maybe we should spin .8.2?
$ romana --version
Build Revision:
Build Time: 2016-04-08_04:01:03AM
latest working version:
$ ./romana --version
Build Revision: v0.8.1-24-g6720a12
Build Time: 2016-04-28_06:36:21AM

maybe we should spin .8.2
Yup, it'd be necessary before merging this in.

will rebase this once .8.2 is out.


Update deployment template

I'm from azure bot service team,
Azure bot service have split the deployment of AppService and AzureBot.
So, we want to change the templates.
Also, we will publish AzureBot regionality soon.
So, we add a configuration about AzureBotRegion.

Hey, for the last 5 days I've been facing issues with deployment. Can it be caused by the deployment template?
My errors are either https://github.com/Azure/azure-functions-python-worker/issues/713 or 022-06-29T08:39:23.765016298Z Traceback (most recent call last):2022-06-29T08:39:23.765019898Z File "/tmp/8da59a981c9be43/antenv/lib/python3.7/site-packages/botbuilder/core/integration/aiohttp_channel_service_exception_middleware.py", line 20, in aiohttp_error_middleware2022-06-29T08:39:23.765023698Z response = await handler(request)2022-06-29T08:39:23.765027198Z File "/tmp/8da59a981c9be43/antenv/lib/python3.7/site-packages/aiohttp/web_urldispatcher.py", line 927, in _handle2022-06-29T08:39:23.765030998Z raise self._http_exception2022-06-29T08:39:23.765034498Z aiohttp.web_exceptions.HTTPNotFound: Not Found


only get the background by predictor

In my image, there's a mobile, but when I use 'predictor.predict_torch', I only get a mask with background but no mobile.
below is the codes:
`

sam = sam_model_registry"vit_l"
device="cpu"
sam.to(device=device)
predictor = SamPredictor(sam)
predictor.set_image(image)
boxes_filt=torch.Tensor([[7.5935,  14.0314, 589.9314, 372.0146]])
transformed_boxes = predictor.transform.apply_boxes_torch(boxes_filt, image.shape[:2]).to(device)
masks, _, _ = predictor.predict_torch(
point_coords = None,
point_labels = None,
boxes = transformed_boxes.to(device),
multimask_output = False,
)

`
but I get the blow mask:

Original Image

Image with Mask(only the background is masked)

Have you tried using the point?

If you're trying to segment and don't mind providing points directly, I have a script (on MuggledSAM) that runs sam interactively on images. It only works with SAM v1 models atm (adding v2 in the next day or two), but the older model has no trouble segmenting this:

I could not provide the points directly as the image is uploaded in the application, I don't know the position of the mobile in the image.

could not provide the points directly

If you can only provide a bounding box, then one thing I would recommend is trying either the 'base-plus' or 'tiny' model variants. From what I've seen, they give more reliable box prompt results than the 'large' model.
If you have to use the large sized model, then another recommendation would be to try using the multimask output (i.e. in the code sample, set: multimask_output = True) and then take the last-most mask result (using masks[-1,:,:] after the predict.torch call), which seems to give a more intuitive result for box prompts when using the large model.


Upgrading to v3 from v2.4.1 causes modal to close inside component click

Summary:
I have a modal that opens up when selecting a link.
The modal contains an input field that can be clicked to be focused on.
On v.2.4.1 I am able to select the input field just fine. However, on v3 when selecting the input field or anything inside the modal wrapper the onRequestClose prop is triggered.
Example
I have the modal component defined here wrapped around a link tag.
class Modal extends React.Component {
  static propTypes = {
    contentLabel: PropTypes.string.isRequired,
    children: PropTypes.node,
    onClick: PropTypes.func,
    showModal: PropTypes.bool.isRequired
  };

  handleClick = (event) => {
    if (this.props.onClick) {
      this.props.onClick(event);
    }

  render() {
    const { showModal, to, children, contentLabel, ...props } = this.props;
    return (
        {children}
          <ReactModal
            isOpen={showModal}
            onRequestClose={this.handleClick}
            shouldCloseOnOverlayClick={true}
            contentLabel={contentLabel}
            style={customStyles}
          >
            {to}
          </ReactModal>

    );
  }
}

I have a Login component with the input field inside it:
<Login  />
and I wrap the Modal inside
<Modal to={} contentLabel="login-modal" showModal={this.state.showLoginModal} onClick={this.toggleLoginModal}>Log In
toggleLoginModal simply defines the visibility of the modal
toggleLoginModal = () => {     this.setState({ showLoginModal: !this.state.showLoginModal });   };
Expected behavior:
The input field should be able to be selected and not trigger onRequestClose from the modal unless clicking outside of the component
I feel like I may be doing something silly here. It works fine on v2.4.1 just not on v3.0.x

Hi @quachsimon can you provide an example of the issue?

@diasbruno I have updated my OP

 will also be triggered, because the modal is inside the .
Better move the modal outside of the link.

Is there a reason why it works on v2.4.1 though?

One way to check is inspecting the event that the handleClick receives. In one version it can be the a. (event.target)

Sorry, I think I marked to soon as 'not a bug'. I'll let this open till we figure this out.

@quachsimon Did you find a solution for this issue?

@diasbruno I played around with it and have not found a solution for this issue. I can not figure out why it closes

I wrote 2 sandbox with those versions  of react-modal. I couldn't reproduce your issue. The reason is that the modal is mounted on document.body and my previous answer will be correct if the modal was mounted inside of the .
https://codesandbox.io/s/r5r58lvxkq - react-modal 2.4.1
https://codesandbox.io/s/k9z5owy3q7 - react-modal 3.1.0
Is there anything missing?

I pass the toggle up to a parent component (which I guess is bad practice?).
I edited one of the sandboxes to show you what I mean:
https://codesandbox.io/s/13v5p7y6pj
I wasn't able to put everything in though...
The parent component toggles the states each time the onClick props is set and is passed to the showModal prop.
I wrap the modal component (the to prop) around a form with two input fields.
When I click on the children prop it toggles the state of the modal which will have open up a form with 2 input fields. When clicking on the input fields it closes the entire modal and does not focus on the text.
It works normally on 2.4.1 but not on 3.1.0

It's not a bad practice.
https://codesandbox.io/s/lx4pwn1437
Now it will show up whom actually is triggering.
On the log inside the modal, it will keep track of the current target of the event.

I've edited it with the to prop going to the node component that I have which is an input.
When clicking on the input it toggles the modal. However, it seems to work fine on the older version.
https://codesandbox.io/s/zxk7nor8x3 - react-modal 2.4.1
https://codesandbox.io/s/40jr09kl49 - react-modal 3.1.0

I suspect that with react 16, the portal is connected properly on the tree, so it will follow the correct path: a -> modal -> input. Therefore, the event will pass through the a node and the handler is fired.
A suggestion for creating your component would be:
const FormWithModalOptions (?) = (props) => {
   const { showModal, to, children, onClick, contentLabel, ...props } = this.props;
   return (

        {children}
        <Modal isOpen={showModal} onRequestClose={onClick} ...>
           {to}
        </Modal>

  );
};

@quachsimon Please feel free to reopen the issue if necessary. I'll close this for clean up.
Thank you.


Update Vocalink dataset to v5.90 (effective 3 February 2020)

Deprecated by https://github.com/uphold/uk-modulus-checking/pull/23.
Sorry for the delay @raybotha and thanks for the contribution.


Any guidelines migrate from react-native-animatable to moti?

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
It't not a bug. It's a question.
Expected Behavior
No response
Steps To Reproduce
No response
Versions
- Moti: latest
- Reanimated: 2.2.4
- React Native: 0.66.0

Screenshots
No response
Reproduction
🙃

hmm i don’t have a guide currently, but definitely open to a PR! want to show some examples from animatable and i can show them with moti?


Fix u64/UBigInt 'FromSql' trait impl

On line 157 of this file, we are invoking the macro:
from_sql_integral!(u64);

But the macro doesn't have an arm for ValueRef::UBigInt.
The consequence is that, while inserting u64 into columns of type UBigInt succeeds, reading them back fails.
I tested this simple fix locally within my project.

Thanks for your contribution!


CombinationRandomSampler does not have len or _num_samples

When using pytorch-meta with pytorch-lightning, we get an AttributeError because pytorch-lightning calls len(sampler) and breaks for the CombinationRandomSampler because it neither defines __len__ nor _num_samples.
This is not a bug from pytorch-meta, but I think it would be nice if the libraries interoperate. I also believe that adding this feature would be as easy as adding
def __len__(self):
  num_classes = len(self.data_source.dataset)
  num_classes_per_task = self.data_source.num_classes_per_task
  return math.comb(num_classes, num_classes_per_task)

I could open a PR with an implementation that works for other Python versions if you are interested in adding this feature. Thanks.

Thanks for the bug report! Compatibility with other packages is definitely important, especially with something as widely used as pytorch-lightening, and it looks like a great update. A PR would be very appreciated, thank you very much! Another option could also be to call directly len(self.data_source), since CombinationMetaDataset does define __len__.

I think your suggestion is an improvement over mine, but digging a little deeper, it seems to me that calling super(Sampler, self).__init__(data_source) for Sampler=CombinationRandomSampler and Sampler=CombinationSequentialSampler would solve the problem because both RandomSampler and SequentialSampler define __len__ in a compatible way.
While I am at it, I could also add error messages to the ValueError when the data_source is not a CombinationMetaDataset. Does that sound good to you? Thanks.

That is indeed a much simpler solution.

While I am at it, I could also add error messages to the ValueError when the data_source is not a CombinationMetaDataset. Does that sound good to you? Thanks.

That would be great, thanks!


package version update for 1.31.0 release.

@danieljurek
@JimSuplizio

@BrianMouncer, in the future you should assign this PR to yourself and add Daniel and I as reviewers.

@BrianMouncer, in the future you should assign this PR to yourself and add Daniel and I as reviewers.

I am unable to add specific reviewer to PRs in this repo, only tag people in comments, and the initial assignee is set when the PR is first created and I can not edit it after.


[video-generation-ego-movement] Question about video generation

Good afternoon,
For video generation, the MagicDrive paper states that only the first and the last frames have bounding boxes (section 5.4). I have the following question:

How do you encode the movement of the car in the last frame, relative to its initial position in the first frame?

The ego-pose of the car changes in these 7 frames (around 4 seconds duration), but if I understand correctly both the bounding boxes and the camera poses have the ego-point of the car as reference. Therefore, they do not inject any information regarding the change in ego pose of the car from its starting position to the finish. In my mind, this is important information to inject to the video generation model but I may be missing something.
Thank you in advance for your feedback.

You are correct, we do not explicitly control it in our paper. All the information comes from temporal relationships learned from the data.


Fix warning in TeamCity file

This is probably unintentional, but property was not exported and it's unused in the module. So, it's effectively dead code. Should this be removed? Or should it be exported?
[1/6 UnusedDeclaration] .spago/spec/v7.3.0/src/Test/Spec/Reporter/TeamCity.purs:49:1

  49  property key value = " " <> key <> "='" <> escape value <> "'"
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  Declaration property was not used, and is not exported.

CC @Neppord

Ah... yeah, that would explain it.


autoupdate greenkeeper branch ignore regex

I had to update all my repos like this:
https://github.com/kellyselden/babel-plugin-fake-import-specifiers/pull/2
to support the new branch convention. I know other people are ignoring like this. Maybe a codemod like your node 0.10 changes would be useful when a project migrate to from the old API to the new integration.

Thank you for pointing this out. We're currently adding a feature that will check the travis.yml on enable, so we can prevent this in the future. But we might also send PRs to older projects as well, let's see :thinking:

No problem. I already went through it all, so just wanted to share.

closing for now.


MacOS-iOS dependencies failure handling should reference ruby/config.h, universal-darwin symlinks

https://github.com/facebook/react-native-website/blob/12a04bc3e28c76571452e00e727fb0b85a5b17c6/docs/_getting-started-macos-ios.md?plain=1#L65-L69
I wasn't able to install the gems required for this step until I followed these instructions. I recommend that a version of them be included in this environment setup page.
I'm using macOS Monterey 12.7.

I recommend that a version of them be included in this environment setup page.

Which "version of them" are you referring to specifically? (I.e. which command you had to run)

Note the version numbers for the Mac OS SDK and Ruby version will vary, but can be seen in errors when trying to install some of the gems.
Symbolic link for ruby/config.h
# results
source/original = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/Headers/ruby/config.h
target/alias    = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/config.h

# commands
cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby
ln -s ../../../../Headers/ruby/config.h

Symbolic link for universal-darwin<version>
# results
source/original = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin22
target/alias    = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin21

# commands
cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0
ln -s universal-darwin22 universal-darwin21

I think this troubleshooting info would be useful to include in the macOS instructions.


Update picker items

Details
We changed the render items in Picker from this.props.items to this.items and updated them in the constructor only, which caused the items to not be translated when a different language is selected. This PR fixes that issue.
I'm also moving the new color to the themeColors file instead of variables.
Fixed Issues
$ https://github.com/Expensify/App/issues/13341
Tests

Navigate to Settings > Preferences
Change the language
Verify that the value in Priority mode is translated

[x] Verify that no errors appear in the JS console

Offline tests
N/A
QA Steps
Same as test steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
Windows
https://user-images.githubusercontent.com/22219519/206017878-8f4ead41-c62d-4088-9920-9963d9f742bb.mov
Mac
https://user-images.githubusercontent.com/22219519/206017899-e7a66ab4-8f30-48ff-b51f-3113273c20b7.mov

Mobile Web - Chrome
https://user-images.githubusercontent.com/22219519/206017928-5dff50c3-df4a-4b2b-99b0-0a467cd6249c.mov

Mobile Web - Safari
https://user-images.githubusercontent.com/22219519/206017946-b7b326ed-8346-45a4-875c-62f5250be8d7.mov

Desktop
https://user-images.githubusercontent.com/22219519/206017966-97bc0539-958f-4bbf-b3d1-76a4714c01e8.mov

iOS
https://user-images.githubusercontent.com/22219519/206017990-b5627ffe-5d02-49e9-bf42-0ffece3a9576.mov

Android
https://user-images.githubusercontent.com/22219519/206018017-43d2f337-dea4-42b3-9ec0-7083a21c868f.mov

Oh wow, thank you for fixing this, what an edge case, I didn't think that items would change after being rendered, didn't realize that changing languages when it's mounted already would cause it 😄

@eVoloshchak @marcaaron friendly bump for reviews!

@eVoloshchak @marcaaron friendly bump for reviews!

Can't do it till tomorrow, could you unassign me please?

Comment removed, waiting for Shawn's input here

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to production by @chiragsalian in version: 1.2.38-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Atom nutz

Merged this because it's much better than before. We can deal with the 2 requests on '.' later.


UX bug in the VM creation form.

Just wanted to point out a UX bug in the 5.8.0 build. In the Create Virtual Machine (from template) form is being filled out, the tool tip under Network Selection > Automation Selection has an EN spelling error, "The Schedule will decide which is the bets virtual network"

Thanks!  Really like the new features.

Cool.  I should have checked that.
Thanks.

Thanks to you for the help !!


Update the who-is-who of the QGIS Project

There might be outdated information in http://qgis.org/en/site/getinvolved/governance/governance.html, at least at http://qgis.org/en/site/getinvolved/governance/governance.html#code-maintainers (for what I know)

Yep, agreed, should be updated

Maybe, wait till the new structure of the organisation is settled?

@DelazJ seems up to date now? can we close this?

Thanks @mbernasocchi


fix: Sourcemap links are not generated

Fixes an issue where the sourceMappingURL comment was not added to the output.
https://github.com/aspect-build/rules_swc/issues/146

I fixed another issue. The .swrc configuration file auto-discovery did not work properly, as the value needs to be of type label.
https://github.com/aspect-build/rules_swc/blob/518797f39f4cafb53fdca4c08e139724ceab1cc9/swc/defs.bzl#L73

With regard to the source map test cases, everything works now as it did previously, except https://github.com/swc-project/swc/issues/1388 which is something I found while going through the @swc/cli source code.

@alexeagle


create extension with --rev-version increases version number in package.json but deploys old

Hello,
the following command
tfx extension create --rev-version
increases the extension version number in package.json but the bundled .vsix file carries the old version number.
TFS Cross Platform Command Line Interface v0.5.4

--rev-version should be updating vss-extension.json not the package.json, or is there something else going on?

Assuming you mean vss-extension.json and not package.json, this should be fixed in the latest version.


Update README.md

Resolving infinite loop in Issue #52 for support with the SDK.

I am OK with this PR. I will merge it by the end of today if nobody else has a concern.

I will merge it and do more edits as suggested by @grokify  here: https://github.com/ringcentral/ringcentral-csharp/issues/52


Issue with Odom - Fatal failure when using odometry when running simulation in Gazebo

Hi I am recently trying to learn how to use Google Cartographer. While I am trying to get Cartographer to work with Gazebo, I ran into the following issue:
When setting use_odometry = false, I was able to register scan and create submap in rviz. However, without odometry, the quality of the map is horrible.
Thus when I try to include odometry in the Cartographer, it failed. The error code is attached.
When use_odometry = true;
[FATAL] [1546011133.029037595, 80.209000000]: F1228 10:32:13.000000 22824 map_by_time.h:43] Check failed: data.time > std::prev(trajectory.end())->first<PHONE_NUMBER>00740000 vs.<PHONE_NUMBER>00740000)

Also, the rqt_graph looks like this when not using odometry:

I was using cartographer_turtlebot branch. My package can be found at:
https://github.com/YizhouGaoVictor/turtlebot_slam.git

Cartographer expects incoming sensor data to have strictly increasing header timestamps (for each sensor independently, it does the merge sorting "collating" itself).
Your incoming odometry data seems to have duplicate timestamps.
(Perhaps the simulated odometry is faster than the simulated clock?)

Did this get resolved?

Closing as inactive.


Fixed bug in checking edge case intl problem

Hi guys!
See the following issues. I opened this against 2.3, because the SE for 2.3 includes this bundle at ~2.3 (and I want the fix to work for it).

symfony/symfony-installer#163
sensiolabs/SensioDistributionBundle#48
sensiolabs/SensioDistributionBundle#59

@javiereguiluz can you test this? I haven't had success disabling my intl extension yet, and you were able to repeat the bug.
What happens is:

The intl extension isn't loaded
The stub Collator from the Intl component is used instead
When you instantiate this, it throws an exception for any locale other than en

But I don't know when this was introduced - the stub Collator always worked like this - at least back to 2.3.0, and I have a hard time believing that people have gotten this error since then :). I'm also not sure about the check about this (class_exists('Locale')) - it seems that this class will always exist, because of the stub Locale class in the Intl component. Am I mis-reading?
But most importantly - if this fixes the issue, we should merge. If I've located additional issues in my paragraph above, then let's fix those later.
Thanks!

I think it would be better to check extension with extension_loaded("Intl") or change check like this:
-if (class_exists('Collator')) {
+if (class_exists('Collator', false)) {

so stub won't be autoloaded.

@unkind Done! I had avoided extension_loaded() thinking that there must be a reason why it wasn't used before (some edge case I wasn't thinking about). But in fact, extension_loaded() WAS used in the original #48, then was removed (accidentally) at sha: 0b9fc9dca302748e85deb067e45a63c42a1fb066. So, this re-adds part of the check that was lost a long time ago.
I'm hoping @javiereguiluz can test this latest patch when he's available :).
Thanks!

Updated again. It seems that this entire block needs to be wrapped with a check for the intl extension. The checks for get_class on Locale and Collator are ancient - I tracked class_exists('locale') back to the initial commit of this file in 2012 (sha: https://github.com/sensiolabs/SensioDistributionBundle/commit/d6908c508dc680f881b7a25ccb40a9ff0506a4fe#diff-8c51fc4db4fe2137d09314df0c77f09dR530). Quite simply, ever since the Intl extension started providing stubs, I think this check was just plain wrong.

I'm also not sure the check above this (with a class_exists('Locale') that warns about installing the intl extension) is correct, but I'm not trying to over-fix things, just plug the current bug :).

The latest version of this does in fact fix the original issue in symfony/symfony-installer#163
There's still some mystery around why some of the logic was written the way it was originally, but I believe this is safe and good to merge.

:+1: thanks for fixing this issue @weaverryan

Thank you @weaverryan.


when doing division with int32 tensors, a float tensor is returned.

Here is a test that demonstrates the issue:
const a = dl.scalar(3).toInt();
const b = dl.scalar(3).toInt();

const result = a.div(b);

expect(result.buffer().values[0]).toBe(1)

the test fails with:

Error: Arrays differ: actual[1] = 3, expected[1] = 0.
Actual:   0.9999999403953552,3.
Expected: 1,0.

This issue was moved to tensorflow/tfjs#136


Upload and Download graphs are incorrect

I checked my speed several times with speedtest.net and my graphs are showing totally different numbers. They seem to be off by 50-150 Mb/s. Is there a way to fix this?

By chance, are you running Internet-Pi on an older RPi (3B+)? A VM?  Without knowing your full upload/download speeds, this is a somewhat common problem we've seen reported with the RPi 3B+'s as they're limited to 100Mb/s.

I am using a raspberry pi 4

I am using a raspberry pi 4

i'm also using a raspberry pi 4, using the 64 bit 'test' version of the os and ither than maybe a botched first install that i just fixed it was reporting the correct speeds for me no problem

This is something I'm experiencing with a RPi 3B+ as well, the dashboard seems to be limited to 100Mb/s, but when I run the speedtest-cli test I get my full speed of 200Mb/s

If you run ethtool eth0 from the terminal on your pi you should be able to see the actual speed that the ethernet port has been configured:
...
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown

I had a similar issue whereby my speedtest was topping out at 100Mb/s and I swapped the ethernet cable out which resolved it.

I have a raspberry pi 3b, with my laptop connected to the ethernet wire I get 95-105 mb/s, while the speedtest says most of the time 50-55 (both in grafana and when I manually trigger it), but with spikes up to 80.


feat: add bun support

to support : #87

added bun to templates (need to verify --cwd does what i expect)
added bun detection in the package manager
add to the github action bun bin (- uses: oven-sh/setup-bun@v2)

left to do as far as i know:

see if gluegun can support bun easily or not
check what kind of tests i need to run to check it works as intended

currently block since i realize gluegun doesn't support bun as a package manager.
https://github.com/infinitered/gluegun/issues/794

currently block since i realize gluegun doesn't support bun as a package manager.
Yeah, that's why we didn't include bun and pnpm in the alpha version. If you're interested in contributing I think create-expo-stack handles all of them and we could learn from it: https://github.com/roninoss/create-expo-stack/blob/main/cli/src/utilities/getPackageManager.ts

from what i understood of their codebase (quick look might be more to that)
they basically don't use gluegun packageManager, what block us is we use force option of gluegun packageManager from toolbox and from what i can see, they don't use the packageManager from the toolbox and handle it on their own or differently(didn't find an equivalent yet from my quick look)

Solved by #133


Create a CI build using the oldest CLANG version we will support.

Part of this task is to define what is that version.

FWIW, we discussed using the same version as google-cloud-cpp for this. To my surprise (or maybe not), that turns out to be Clang-6.0, released around 2018-03. I am happy with this decision, we have enough old compilers to worry about.
Unless I hear otherwise I will setup that build too.


Binary payload is ruined by toString()

Despite ostensibly supporting a binary payload, the bytes of the payload are mangled by including a toString() call before encoding the payload (sign-stream.js:12).
var encodedPayload = base64url(toString(payload), encoding);

A Buffer is binary data - it is not supposed to be transformed into a string, as strings are not capable of containing arbitrary binary data. Right now, this defect mangles bytes outside some safe range (ASCII?).
Example code:
let jws = require("jws");
let payload = Buffer.from("TkJyotZe8NFpgdfnmgINqg==", "base64");
let secret = Buffer.from("8NRxgIkVxP8LyyXSL4b1dg==", "base64");

console.log(payload);

let token = jws.sign({
	"header": {
		"alg": "HS256"
	},
	"payload": payload,
	"secret": secret
});

console.log(token);

Expected result:
eyJhbGciOiJIUzI1NiJ9.TkJyotZe8NFpgdfnmgINqg.9XilaLN_sXqWFtlUCdAlGI85PCEbJZSIQpakyAle-vo

Actual result:
eyJhbGciOiJIUzI1NiJ9.TkJy_f1e_f1p_f39_QIN_Q.plu4DeDn9-SUCZvoneyACF3PXMc3F7wvb4P5gGKZagQ

Care to test https://github.com/omsmith/node-jws/commit/f42ed46217e12e3cb546803fca967b50f91eeab1?

Looks good, thanks for fast action!

Should be able to follow up with actual integration tonight/tomorrow.


WRO-3415: Provides event payload info for input type

Checklist

[x] I have read and understand the contribution guide
[x] A CHANGELOG entry is included
[x] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
App developers want to know which user input invokes onDismiss event from FloatingLayer to provide different actions based on the input type.
Resolution
Added detail property that contains inputType value: its value is 'key' for ESC key, and 'click' for clicking outside a floating layer.
Additional Considerations
Links
WRO-3415
enactjs/sandstone/pull/1250
Comments
Enact-DCO-1.0-Signed-off-by: Seungcheon Baek<EMAIL_ADDRESS>

LGTM


Update Makefile

I don't want to really ever delete that folder, that folder contains precompiled binaries that should be in the repository, so people can download directly from github, without requiring to clone the repository and compile.

Fair enough.


update OIDC documentation

What's the purpose of this PR
update OIDC documentation
Which issue(s) this PR fixes:
Fixes #3756

Codecov Report

Merging #3766 (3b24551) into master (6463904) will increase coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3766      +/-   ##
============================================
+ Coverage     50.48%   50.51%   +0.03%
  Complexity     2392     2392
============================================
  Files           458      458
  Lines         14472    14472
  Branches       1467     1467
============================================
+ Hits           7306     7311       +5
+ Misses         6662     6658       -4
+ Partials        504      503       -1

Impacted Files
Coverage Δ

.../apollo/internals/RemoteConfigLongPollService.java
77.71% <0.00%> (-0.61%)
:arrow_down:

...ervice/service/ReleaseMessageServiceWithCache.java
87.05% <0.00%> (+1.17%)
:arrow_up:

...mework/apollo/portal/component/PortalSettings.java
65.62% <0.00%> (+7.81%)
:arrow_up:

Continue to review full report at Codecov.

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


Set TCP_KEEPALIVE for replication connection

Packet loss caused by network failure may result in unrecoverable replication interrupt。
When master send data to slave timeout，master will close repl-fd and FeedSlaveThread terminates.
If the network loses packets in this short period, slave could not sense the replication interruption any more.
If Repl-fd is set TCP_KEEPALIVE in slave-side, bad case above mentioned can be handled.

Very cool for finding out such a corner case in replication. I have a question that the master should transmit the TCP fin packet to the slave after closing the connection, and the slave would get an EOF if it reads the fd(write operation would get the broken pipe error), right?

Very cool for finding out such a corner case in replication. I have a question that the master should transmit the TCP fin packet to the slave after closing the connection, and the slave would get an EOF if it reads the fd(write operation would get the broken pipe error), right?
l think you are right !

Very cool for finding out such a corner case in replication. I have a question that the master should transmit the TCP fin packet to the slave after closing the connection, and the slave would get an EOF if it reads the fd(write operation would get the broken pipe error), right?

I think you are right !

This commit is a esay way to mitigate this problem.
But there also is a bad case: master tcp still is alive but master hang much time, replicas should disconnect with master, let us know that. I remember, for redis, replicas will disconnect if it is too long time without recieving master replication stream.

I think this PR would fix the issue when the master server went away suddenly before the kernel sent out the fin packet. EOF and Error should have checked now.

@git-hulk Yes, what you said is one of cases. if master is alive, it also can't send replication data to slaves such as swither and router failuere


Regarding Face Recognition

Hi,
While googling for dlib face recognition on android, I stumbled upon your code. A nice effort to share the pointers about dlib recognition.
I have few queries on the code. Can you please help in understanding internals of the code?

While an image is added -> train() method is called.
In native layer: mRecPtr->train(); is called. What exactly is trained here?
No arguments were passed to this function

After clicking on add[choose image from gallery/camera] -> FaceRect.detect() is called and the bitmap image is written into filesystem [In AddPerson.java -> detectAsync()]
fo.write(bytes.toByteArray());

But I couldn't find this data is being used again

How does the recognition happening? native method: jniBitmapRec() is called
w.r.t what the image recognition is happening?

I tried to write my own jni file and do some changes - but while compiling getting open CV undefined reference errors [Testing in android studio]
undefined reference to cv::error(int, cv::String const&, char const*, char const*, int)' undefined reference to cv::Mat::copyTo(cv::_OutputArray const&) const'

My Android.mk file is below

OPENCV_PATH := D:/opencv-3.4.1-android-sdk/OpenCV-android-sdk/sdk/native/jni
include $(CLEAR_VARS)
OpenCV_INSTALL_MODULES := on
OPENCV_CAMERA_MODULES := off
include $(OPENCV_PATH)/OpenCV.mk
LOCAL_MODULE := tdlib
LOCAL_C_INCLUDES := src/main/cpp/
$(OPENCV_PATH)/include
LOCAL_SRC_FILES := src/main/cpp/.cpp
LOCAL_LDLIBS := -latomic -ljnigraphics -ldl -llog -lm -lz
include $(BUILD_SHARED_LIBRARY)

Thank you in advance.

Hi,
2 When you add a person, his image get saved in <sd_card>/dlib_rec_example/images/<person_name>.jpg dir.
1 When the train() method is called in native layer, it read all the face images from <sd_card>/dlib_rec_example/images dir and calculates face descriptors for all. It maintains a std::vector of face descriptors and corresponding person names.
3 When face recognition is called, the face descriptors for the current image is calculated and compared with face descriptors calculated above. If there is a match, the person is recognized.
4 Not sure about this. Will look into this when I get time.
Let me know if there is any other problem

Thank you for your response. When I tested your code as is, I was always getting no match found even for almost same images. I will recheck, whats wrong with that. If you do get time, please do verify that opencv reference errors.
Thank you again.

I have faced issue of getting multiple result when search face. I want to get best match, please help me how I can check best match from multiple results. Confidence for all match return always 0.0 so I found I am not able to achieve my goal. If you can help me, thanks in advance.


docs: fix readme

readme is wrong:

it speaks of a plugin, but this project is an executable
https://github.com/CycloneDX/cyclonedx-buildroot/blob/8f44f54306cd30df1ece6487494364bec56e882e/README.md#L12
the usage is just wrong -- it does not call this project but something else
https://github.com/CycloneDX/cyclonedx-buildroot/blob/8f44f54306cd30df1ece6487494364bec56e882e/README.md#L25

Making the updates this evening. I inherited the README.md contents from the previous project maintainer, so I will fix it up.

Branch "documentation" pushed for your review. https://github.com/CycloneDX/cyclonedx-buildroot/commit/f7e29498762ec6d23fdf87ace847a0dcfa6559a3
I broke the executable so I am working on a correction

i'd suggest fixing docs only and merge this soon.
i'd review a pullrequest, not commits


5-10% inc

.apply cant be inlined - we're doing format.apply all the time
the thing is, we actually only ever need it if the first param is attempting interpolation,
however using regexp to test whether a string contains '%' is just as expensive as just doing the format.apply.
But - we can check if args length > 1 (instead of greater than 0), and then prioritise the 0 case by simply setting message to params[0]. This gives a 5-10% perf increase, bringing 10000 ops down to 260-265ms
benchmarks:
  function benchPino (cb) {
    for (var i = 0; i < max; i++) {
      plog.info('hello world')
    }
    setImmediate(cb)
  },
  function benchPino2 (cb) {
    for (var i = 0; i < max; i++) {
      plog2.info('hello world')
    }
    setImmediate(cb)
  },
  function benchPinoMultiArg (cb) {
    for (var i = 0; i < max; i++) {
      plog.info('hello', 'world')
    }
    setImmediate(cb)
  },
  function benchPino2MultiArg (cb) {
    for (var i = 0; i < max; i++) {
      plog2.info('hello', 'world')
    }
    setImmediate(cb)
  },

results at 10000 ops:
benchPino10000: 319.005ms
benchPino210000: 268.181ms
benchPinoMultiArg10000: 297.216ms
benchPino2MultiArg10000: 283.411ms
benchPino10000: 290.877ms
benchPino210000: 259.626ms
benchPinoMultiArg10000: 295.353ms
benchPino2MultiArg10000: 282.366ms
results at 50000 ops
benchPino50000: 1334.496ms
benchPino250000: 1269.305ms
benchPinoMultiArg50000: 1342.086ms
benchPino2MultiArg50000: 1345.085ms
benchPino50000: 1312.044ms
benchPino250000: 1269.279ms
benchPinoMultiArg50000: 1343.235ms
benchPino2MultiArg50000: 1354.008ms
full benchmark results:
benchBunyan10000: 1075.649ms
benchWinston10000: 1840.185ms
benchBole10000: 1635.768ms
benchPino10000: 265.838ms
benchBunyanObj10000: 1250.343ms
benchWinstonObj10000: 1828.912ms
benchPinoObj10000: 357.569ms
benchBoleObj10000: 1594.823ms
benchBunyan10000: 1082.447ms
benchWinston10000: 1717.277ms
benchBole10000: 1591.113ms
benchPino10000: 260.141ms
benchBunyanObj10000: 1231.469ms
benchWinstonObj10000: 1807.529ms
benchPinoObj10000: 385.072ms
benchBoleObj10000: 1542.180ms

Whoaaaaa :D. Magic. The weird thing is that such an if is not causing a perf issue on itself - the overhead of apply is massive then.

it might be worth creating our own formatter that takes an array

I agree
Il giorno gio 17 mar 2016 alle 00:28 David Mark Clements <
<EMAIL_ADDRESS>ha scritto:

it might be worth creating our own formatter that takes an array
—
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/mcollina/pino/pull/12#issuecomment-197603409


convert_dtypes() not inferring data type of column as a whole

I have a Modin DataFrame with a sparsely populated string column, i.e. a column with a lot of NaN and some strings:
>>> df
        string_column
0                 NaN
1                 NaN
2                 NaN
3                 NaN
4                 NaN
...               ...
1133496           NaN
1133497           NaN
1133498           NaN
1133499           NaN
1133500           NaN
[1133501 rows x 1 columns]

The notna part:
>>> df.loc[df['string_column'].notna(),:]
      string_column
42          Reduced
43      Non-Reduced
44          Reduced
45      Non-Reduced
46          Reduced
...             ...
86803   Non-Reduced
86804       Reduced
86805   Non-Reduced
86846       Reduced
86847   Non-Reduced
[18126 rows x 1 columns]

The dtype of the string column is object:
>>> df.dtypes
string_column    object
dtype: object

I would like to have it converted into string using convert_dtypes() on the whole DataFrame (that contains also other columns not shown here, and I'm not using astype(string) because the data type is not known ex ante and, hence, should be inferred). However, performing convert_dtypes() does not change the dtype:
>>> df.convert_dtypes().dtypes
string_column    object
dtype: object

In pandas, this works just fine, i.e. the column is converted into string. I assume that in contrast to pandas, Modin does it partition-wise, and if a partition happens to contain only NaN, it can't determine the data type and hence the "lowest common denominator" data type for all partitions will be object. Performing it only on the notna part works as expected:
>>> df.loc[df['string_column'].notna(),:].convert_dtypes().dtypes
string_column    string
dtype: object

Question: is this expected behaviour or a bug?

Hi @jsarbach , thanks for opening the issue. I think your hypothesis is correct. Since Modin operates at the partition-layer, the nulls might be throwing off the type conversion. This is a bug since we should be matching pandas in this case.
cc: @modin-project/modin-core

That sounds right. @noloerino I remember you implemented convert_dtypes. Should we change it to full axis?

@mvashishtha @noloerino I changed the implementation in https://github.com/modin-project/modin/pull/5885. Please review it.