bins: update mastercard bin

Description
Criamos o PR https://github.com/pagarme/pagarme-js/pull/162 para criar a versão 2.2.2 com os novos bins da Mastercard pro checkout. Criei esse para atualizar esses bins na versão mais recente da lib.

Your checklist for this pull request
:rotating_light: Please review this items for a good pull request. :four_leaf_clover:

I've read the project's Contributing Guidelines
My commits are well written and follow pagarme/git-style-guide
My changes are well covered by tests and logs
I've updated the project docs (if needed)
I fell safe about this implementation

In a good pull request, everything above is true :relaxed:

There are some issues with your commit and our naming convention

Commit: 4d19d8b2dc8d5a7223ed8d4b37057dd3af08dc7d
Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 4d19d8b2dc8d5a7223ed8d4b37057dd3af08dc7d
Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: fdd71b082197dd98fe0f3153048c6505b1c01c49
Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: fdd71b082197dd98fe0f3153048c6505b1c01c49
Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: f6ebfe8ee15af6e08d019da3e22fa5caaf8c09bf
Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: f6ebfe8ee15af6e08d019da3e22fa5caaf8c09bf
Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e
Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e
Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

Commit: e4e65148e6a186445683f1ce4cb4c8cd77e3d276

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

Commit: e4e65148e6a186445683f1ce4cb4c8cd77e3d276

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

Commit: 84bed849670eddd818265bfaa3d175646bd19390

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

Commit: 84bed849670eddd818265bfaa3d175646bd19390

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

Commit: 84bed849670eddd818265bfaa3d175646bd19390

Commits must be in the following format: %{context}: %{description}

Commit: 9969be0eba52eace32d7e393021feba43ef34115

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

Commit: 84bed849670eddd818265bfaa3d175646bd19390

Commits must be in the following format: %{context}: %{description}

Commit: 9969be0eba52eace32d7e393021feba43ef34115

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

Commit: 84bed849670eddd818265bfaa3d175646bd19390

Commits must be in the following format: %{context}: %{description}

Commit: 088488f30970c205bd7bdc0a0fe771255cc75d88

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

Commit: 84bed849670eddd818265bfaa3d175646bd19390

Commits must be in the following format: %{context}: %{description}

Commit: 088488f30970c205bd7bdc0a0fe771255cc75d88

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

Commit: 84bed849670eddd818265bfaa3d175646bd19390

Commits must be in the following format: %{context}: %{description}

Commit: d807ecb2945c11615ec53285d9df0da46f828af5

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 2c28dc67956fc26a6a978043b66bb6e502a8235e

Commits must be in the following format: %{context}: %{description}

Commit: 13c1a7bdffa1e8f4efecb662e49c7457b47a6443

Commits must be in the following format: %{context}: %{description}

Commit: bd43bf25a05aca9fc0f8928bdbde9a207e8c0f54

Commits must be in the following format: %{context}: %{description}

Commit: 84bed849670eddd818265bfaa3d175646bd19390

Commits must be in the following format: %{context}: %{description}

Commit: d807ecb2945c11615ec53285d9df0da46f828af5

Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 63a98020da185cb2c5a49601aaedaad433cf38f6
Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

There are some issues with your commit and our naming convention

Commit: 63a98020da185cb2c5a49601aaedaad433cf38f6
Commits must be in the following format: %{context}: %{description}

The complete commit style guide is available at https://github.com/pagarme/git-style-guide

This message was auto-generated by https://gitcop.com

abri outro pr (https://github.com/pagarme/pagarme-js/pull/166) que poderia sair junto da versão 4.1.1 o que acha de não bumpar a versão nesse pr e bumpar após o approve dos dois prs?
No mais está tudo ok

abri outro pr (#166) que poderia sair junto da versão 4.1.1 o que acha de não bumpar a versão nesse pr e bumpar após o approve dos dois prs?
No mais está tudo ok

Boa! ⭐ ⭐
(Coisalinda ver essa sdk evoluindo!!)


Saying Hello

Hi Lieven,
I'm very interested in finding a solution, to an issue, that I think this Git provides.
I am setting up a home automation system using a raspberry pi loaded with OpenHAB (which has an embedded mqtt broker)  and an Arduino Mega and an Arduino Uno for handling the I/0 (I have 86 I/O!!!) 44 inputs and 42 outputs.  The Raspberry pi and Arduinos are located next to one another in my main cupboard, with all input and output cables being lead back to cupboard during a recent rewiring of my house.
I also would like to use MQTT, as I have some wireless devices too and would like a universal communications format.
Therefore I very keen to communicate between Raspberry Pi and Arduinos using USB link, communicating using MQTT.  Your Git seems to have the solution I'm looking for....however the problem is i'm not experienced in using Github or understanding/writing code.
Could you help provide step-by-step guide or instruction of how I could use your solution?
Any help would be gratefully appreciated.
Many Thanks Dan

Hi Dan,
Thanks for your interest.
the easiest start is :

download : https://github.com/vortex314/serial2mqtt/raw/master/build/serial2mqtt.armv7l.zip
unzip it on your raspberry pi.
You have to add a config file in the same directory where you unzipped the above.
A sample config : https://github.com/vortex314/serial2mqtt/raw/master/serial2mqtt.json

When you run the above serial2mqtt it should use the config file and try to find the expected protocol on some USB ports : /dev/ttyUSB0. You can add more in the config file .
For the complete setup see  this documentation page with some Arduino samples : https://github.com/vortex314/mqtt2serial/blob/master/README.md
This should get you started to load the code and run.
Let me know if you have more specific questions.
Lieven

Wow, thank you Lieven, for your prompt and informative reply.
I will try it tomorrow.  I've not unzipped to my Pi before, so there's a lot of learning for me.
I hope my mqtt broker can connect with it's clients through USB when this is done.  It would be magnificent.
Maybe I could get your opinion?...It seems like this is not a well known solution for a problem that i would thought is common.  How many people have used your solution?
Kind Regards, Dan

Also could you recommend a suitable location (directory) on my Pi where I should UNZIP?
And do you know the suitable command for downloading and unzipping?
Many thanks

Dan,
no idea how many users use it.
Unzip : https://linux.die.net/man/1/unzip
Download : https://linuxize.com/post/curl-command-examples/
Good luck,
Lieven

Lieven,
My first attempt at downloading from your link didn't go well.  See attached screenshot.
The command I used was :
sudo curl -sL https://github.com/vortex314/serial2mqtt/raw/master/build/serial2mqtt.armv7l.zip
Please help.
Many Thanks, Dan

Further the to the above, I've now managed to download the serial2mqtt.armv7l.zip file.
Now I'm unable to unzip it, despite the instructions on the webpage on the link you kindly sent.
I get the following message:
End-of-central-directory signature not found.  Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive.  In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of serial2mqtt.armv7l or
serial2mqtt.armv7l.zip, and cannot find serial2mqtt.armv7l.ZIP, period.

This sequence should work
$ curl -O https://raw.githubusercontent.com/vortex314/serial2mqtt/master/build/serial2mqtt.armv7l.zip
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100  572k  100  572k    0     0   346k      0  0:00:01  0:00:01 --:--:--  346k
$ unzip serial2mqtt.armv7l.zip
Archive:  serial2mqtt.armv7l.zip
inflating: Debug/serial2mqtt.armv7l
$ cd Debug
$ curl -O https://raw.githubusercontent.com/vortex314/serial2mqtt/master/serial2mqtt.json
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100   200  100   200    0     0   1360      0 --:--:-- --:--:-- --:--:--  1351
$ ./serial2mqtt.armv7l
serial2mqt I | 21:35:12.763  | pi3 |        main.cpp:  42 | build : Dec 15 2019 13:46:30
serial2mqt I | 21:35:12.763  | pi3 |        main.cpp:  43 |  argv[0] : ./serial2mqtt.armv7l
serial2mqt I | 21:35:12.764  | pi3 |      Config.cpp: 248 |  config loaded : {"mqtt":{"connection":"tcp://test.mosquitto.org:1883"},"serial":{"baudrate":115200,"ports":["/dev/ttyUSB0"],"protocol":"jsonArray"}}
serial2mqt I | 21:35:12.764  | pi3 |        main.cpp:  69 |  configuring port : /dev/ttyUSB0
serial2mqt I | 21:35:12.765  | pi3 |        main.cpp:  78 |  starting thread 0
USB0 I | 21:35:12.765  | pi3 | Serial2Mqtt.cpp: 574 |  MQTT connecting tcp://test.mosquitto.org:1883 ... for USB0
USB0 I | 21:35:12.765  | pi3 | Serial2Mqtt.cpp: 560 |  MQTT connection state MS_DISCONNECTED => MS_CONNECTING
USB0 I | 21:35:12.765  | pi3 | Serial2Mqtt.cpp: 560 |  MQTT connection state MS_CONNECTING => MS_CONNECTING
USB0 I | 21:35:12.766  | pi3 | Serial2Mqtt.cpp: 291 | Connecting to '/dev/ttyUSB0' ....
USB0 E | 21:35:12.766  | pi3 | Serial2Mqtt.cpp: 295 | connect: Unable to open '/dev/ttyUSB0' errno : 2 : No such file or directory
USB0 I | 21:35:13.077  | pi3 | Serial2Mqtt.cpp: 560 |  MQTT connection state MS_CONNECTING => MS_CONNECTED
USB0 I | 21:35:13.077  | pi3 | Serial2Mqtt.cpp: 173 | MQTT_CONNECT_SUCCESS USB0
USB0 I | 21:35:13.077  | pi3 | Serial2Mqtt.cpp: 560 |  MQTT connection state MS_CONNECTED => MS_CONNECTED
USB0 I | 21:35:13.077  | pi3 | Serial2Mqtt.cpp: 616 | Subscribing to topic dst/pi3.USB0/# for client pi3.USB010033 using QoS0
USB0 I | 21:35:13.078  | pi3 | Serial2Mqtt.cpp: 626 |  subscribe send
USB0 I | 21:35:13.109  | pi3 | Serial2Mqtt.cpp: 189 | MQTT_SUBSCRIBE_SUCCESS USB0

So I notice a different link in your most recent reply :
https://raw.githubusercontent.com/vortex314/serial2mqtt/master/build/serial2mqtt.armv7l.zip
Whereas previously, in your first message, the link was :
https://github.com/vortex314/serial2mqtt/raw/master/build/serial2mqtt.armv7l.zip
Would this be a different file?
If not, then I'm still having trouble unzipping the file on my Pi.  Note the "End-of-central-directory signature not found....." error message in my previous reply.

the second link sends you through a redirect in the browser, something curl cannot handle
I'm guessing you took the second link and you have a small file of about 157 bytes on your directory, which is not a zip file but a redirect. Take the first link..
Just execute these 5 commands and it should run.

Thank you for your help.
I have managed to unpack and complete the "curl -O https://raw.githubusercontent.com/vortex314/serial2mqtt/master/serial2mqtt.json".
However, when I typed " ./serial2mqtt.armv7l ", I got the following message:
" ./serial2mqtt.armv7l: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by ./serial2mqtt.armv7l) "

looks like you need to install libc
sudo apt-get install libc6

Not worked.  Seems like I already have the latest version installed, going by the response.
One thing to note is I am already using 2x of the USB ports on my Pi.  These are required for a flash drive used for boot and a CC2531 required for zigbee2mqtt.  Would the fact that these are already connected to USB cause a problem?

Using other systems connected on USB shouldn't pose a problem. Except if they allocate a port like /dev/ttyUSBx which is configured in the serial2mqtt.json file.
The GLIC issue is linked to a different version of LIBC on your system and mine.
See also : https://github.com/gotify/server/issues/225
You can check the version with :```
ldd --version

Hi Lieven,
Thank you for your reply.
For the port, I followed zigbee2mqtt.io installation.  In there, it asks to check the location of CC2531 sniffer is /dev/ttyACM0.
I also previously found the link you sent, but being honest with you, I couldn't follow it, in understanding what to do. Would you be so kind to let me know how to update the GLIC?
I executed the version checking command.  (Result below)
I seem to have 2.24, where you have 2.28.
Is there a simple way to upgrade?
[14:45:33] openhabian@openHABianPi:~$ ldd --version ldd (Debian GLIBC 2.24-11+deb9u4) 2.24 Copyright (C) 2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper.
Many Thanks, Dan

The easiest way to update :
sudo apt-get update

check the version again with the ldd command. If not correct yet then do :
sudo apt-get upgrade

Hi again,
Isn't that the command to complete a whole system update?  If so, is that right?
Just checking... as I completed an update (of OpenHabian) just a couple of weeks ago.
Please confirm.
Regards,
Dan

Looks that OpenHabian is still based on an older version of Raspian. According to this page you can install raspian and openhab serparately , but I guess this is leading you too far in a complex installation.

It does sound complicated.  Too complicated for me.
So I guess I'm stuck - if OpenHabian contains an old version of GLIC, which can't be updated unless the administrators of OpenHabian provide an update.
Am I right?

The other options would be :

Build directly on your raspberry pi following the build instructions : https://github.com/vortex314/serial2mqtt#build-instructions
Run docker on your raspi  and I could provide a docker image : https://phoenixnap.com/kb/docker-on-raspberry-pi

Hi Lieven,
Thank you for your suggestions.
Could you provide an explanation of each option, with possible advantages of each compared with the other?

If I build on the raspberry pi that OpenHabian is running, is there suitable interaction between the OpenHabian and the build, so the operation is appropriate?
On the link you sent, is the build process, just the 8 steps quoted ? I don't understand what us required for the steps.
I'm not clear on how containers work.  Is it that OpenHabian is in a container and serial2mqtt is in another container?  Do I require to remove openhabian as an OS and then install docker where then openhabian in installed in one container; serial2mqtt in another?

Apologies that you dealing with a numpty like me,
Thank you for all your help.  I am keen to use your solution, to save me network connecting my 2x Arduinos.
Kind Regards, Dan

Also, is it worth questioning the OpenHAB developers, via their forum, about the  possibility to upgrade OpenHabian to have the latest version of GLIC?

Hi Dan,
the script is basicly doing all steps, long time I didn't verify if it works, but you could give it a try : https://github.com/vortex314/serial2mqtt/blob/master/build.sh
it supposes that you have C++ development tools installed , this is normally the case for Raspian n Don't know for OpenHab.
Seen your questions, I think docker container is a step too far.
You can certainly check with OpenHab developers when their update of GLIBC to 2.28 will be done.
Lieven

Hi Lieven,
I put the following post on the OpenHAB forum > https://community.openhab.org/t/glibc-update-on-openhabian/100273
They are suggesting a complete reinstall of the OpenHABian OS image onto my Pi., which I have been through before with the original install, so I might give that a go.
Any thoughts?
Thanks for your help.  I'll be back in contact when I've reinstalled and ready for serial2mqtt install again....
Regards,Dn

Hi Dan,
looks they also suggest to do an upgrade :
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade

Looks easier than a full install, could give it a try.
Lieven

I believe I've done it... the upgrade, that is.
I then completed the  last command you steps, i.e. $ ./serial2mqtt.armv7l
Results are below.
Noticing that it is not finding "ttyUSB0" in dev folder.
Would that be because I don't current;y have another device connected to the USB port, or is it that the directory name that is looking for does not exist, and it shoudl be looking for another name?
serial2mqt I | 10:57:14.959  | openHABianPi |        main.cpp:  42 | build : Dec 15 2019 13:46:30 serial2mqt I | 10:57:14.960  | openHABianPi |        main.cpp:  43 |  argv[0] : ./serial2mqtt.armv7l  serial2mqt I | 10:57:14.965  | openHABianPi |      Config.cpp: 248 |  config loaded : {"mqtt":{"connection":"tcp://test.mosquitto.org:1883"},"serial":{"baudrate":115200,"ports":["/dev/ttyUSB0"],"protocol":"jsonArray"}} serial2mqt I | 10:57:14.965  | openHABianPi |        main.cpp:  69 |  configuring port : /dev/ttyUSB0 serial2mqt I | 10:57:14.966  | openHABianPi |        main.cpp:  78 |  starting thread 0       USB0 I | 10:57:14.966  | openHABianPi | Serial2Mqtt.cpp: 574 |  MQTT connecting tcp://test.mosquitto.org:1883 ... for USB0        USB0 I | 10:57:14.966  | openHABianPi | Serial2Mqtt.cpp: 560 |  MQTT connection state MS_DISCONNECTED => MS_CONNECTING        USB0 I | 10:57:14.968  | openHABianPi | Serial2Mqtt.cpp: 560 |  MQTT connection state MS_CONNECTING => MS_CONNECTING        USB0 I | 10:57:14.968  | openHABianPi | Serial2Mqtt.cpp: 291 | Connecting to '/dev/ttyUSB0' ....       USB0 E | 10:57:14.968  | openHABianPi | Serial2Mqtt.cpp: 295 | connect: Unable to open '/dev/ttyUSB0' errno : 2 : No such file or directory        USB0 I | 10:57:15.098  | openHABianPi | Serial2Mqtt.cpp: 560 |  MQTT connection state MS_CONNECTING => MS_CONNECTED        USB0 I | 10:57:15.098  | openHABianPi | Serial2Mqtt.cpp: 173 | MQTT_CONNECT_SUCCESS USB0        USB0 I | 10:57:15.098  | openHABianPi | Serial2Mqtt.cpp: 560 |  MQTT connection state MS_CONNECTED => MS_CONNECTED        USB0 I | 10:57:15.098  | openHABianPi | Serial2Mqtt.cpp: 616 | Subscribing to topic dst/openHABianPi.USB0/# for client openHABianPi.USB01577 using QoS0       USB0 I | 10:57:15.098  | openHABianPi | Serial2Mqtt.cpp: 626 |  subscribe send        USB0 I | 10:57:15.126  | openHABianPi | Serial2Mqtt.cpp: 189 | MQTT_SUBSCRIBE_SUCCESS USB0        USB0 I | 10:57:20.535  | openHABianPi | Serial2Mqtt.cpp: 291 | Connecting to '/dev/ttyUSB0' ....       USB0 E | 10:57:20.535  | openHABianPi | Serial2Mqtt.cpp: 295 | connect: Unable to open '/dev/ttyUSB0' errno : 2 : No such file or directory        USB0 I | 10:57:26.044  | openHABianPi | Serial2Mqtt.cpp: 291 | Connecting to '/dev/ttyUSB0' ....       USB0 E | 10:57:26.044  | openHABianPi | Serial2Mqtt.cpp: 295 | connect: Unable to open '/dev/ttyUSB0' errno : 2 : No such file or directory        USB0 I | 10:57:31.554  | openHABianPi | Serial2Mqtt.cpp: 291 | Connecting to '/dev/ttyUSB0' ....       USB0 E | 10:57:31.554  | openHABianPi | Serial2Mqtt.cpp: 295 | connect: Unable to open '/dev/ttyUSB0' errno : 2 :

Ok looks good.
There is nothing on /dev/ttyUSB0, but it keeps trying until something appears.
If you connect the Arduino on USB , you see a new device ? Called /dev/ttyUSB0
dmesg

this command should show, as which device the Arduino appears.
serial2mqtt  successfully connected to MQTT internet server test.mosquitto.org
and subscribed to dst/openHABianPi.USB0/#

Hi Lieven,
I connected an Arduino Mega to one USB and an Arduino Uno to the the other.
Nothing is called ttyUSB0 in dev directory.
In my dev subdirectory I have ttyACM0, ttyACM1, ttyACM2, ttyAMA0
I think this must be them.
When completing the dmesg command, I get a large response:
I've extracted (what I think) the key points below:
I just can't seen to associate the tty_nnn_ to the found USBs
.....
[    2.141747] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[    2.290749] usb 1-1.2: New USB device found, idVendor=0451, idProduct=16a8, bcdDevice= 0.09
[    2.296458] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.299477] usb 1-1.2: Product: TI CC2531 USB CDC
[    2.302496] usb 1-1.2: Manufacturer: Texas Instruments
[    2.305485] usb 1-1.2: SerialNumber: __0X00124B0019368B6C
[    2.401744] usb 1-1.4: new full-speed USB device number 5 using dwc_otg
[    2.545628] usb 1-1.4: New USB device found, idVendor=2341, idProduct=0042, bcdDevice= 0.01
[    2.551352] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[    2.557114] usb 1-1.4: Manufacturer: tt (www.arduino.cc)
[    2.560142] usb 1-1.4: SerialNumber:<PHONE_NUMBER>435161B100
[    2.661745] usb 1-1.5: new full-speed USB device number 6 using dwc_otg
[    2.805627] usb 1-1.5: New USB device found, idVendor=2341, idProduct=0043, bcdDevice= 0.01
[    2.811413] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[    2.817250] usb 1-1.5: Manufacturer: Arduino (www.arduino.cc)
[    2.820189] usb 1-1.5: SerialNumber:<PHONE_NUMBER>13518141B2
[    3.121745] usb 1-1.3: new high-speed USB device number 7 using dwc_otg
[    3.252285] usb 1-1.3: New USB device found, idVendor=0781, idProduct=5571, bcdDevice= 1.00
[    3.257850] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.260756] usb 1-1.3: Product: Cruzer Fit
[    3.263651] usb 1-1.3: Manufacturer: SanDisk
[    3.266510] usb 1-1.3: SerialNumber: 4C530001260611120284
[    3.269944] usb-storage 1-1.3:1.0: USB Mass Storage device detected
[    3.273440] scsi host0: usb-storage 1-1.3:1.0
[    4.312911] scsi 0:0:0:0: Direct-Access     SanDisk  Cruzer Fit       1.00 PQ: 0 ANSI: 6
[    4.319718] sd 0:0:0:0: [sda] 30842880 512-byte logical blocks: (15.8 GB/14.7 GiB)
[    4.326474] sd 0:0:0:0: [sda] Write Protect is off
[    4.329309] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[    4.329627] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
.....
9.608967] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device
[    9.632669] usbcore: registered new interface driver uas
[    9.633320] cdc_acm 1-1.4:1.0: ttyACM1: USB ACM device
[    9.635530] cdc_acm 1-1.5:1.0: ttyACM2: USB ACM device
[    9.636587] usbcore: registered new interface driver cdc_acm
[    9.636597] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

Dan,
indeed it can also be /dev/ttyACM* depending on the chip on USB.
You'll have to adapt the serial2mqtt.json to specify the right port. You will notice it's an array in the config, so you can specify multiple.
{
    "mqtt": {
        "connection": "tcp://test.mosquitto.org:1883"
    },
    "serial": {
        "baudrate": 115200,
        "ports": [
		"/dev/ttyACM0","/dev/ttyACM1","/dev/ttyACM2"
        ],
	"protocol":"jsonArray"
    }
}

If there is other traffic on these ports ,  the serial2mqtt will look at each line captured and if it's not a JSON object structure , it will just show it as output on the console.
You could check the output of dmesg, when you unplug / plug the Arduino board,so you know which port to specify.
Don't forget that your Arduino needs to run some code for publishing and subscribing data.
And baudrate should be correct, in the above example it is 115200. So code should start with  something like Serial.begin(115200).
Lieven

Most simple example : https://github.com/vortex314/mqtt2serial/blob/master/simple/src/main.cpp

Dear Lieven,
I'd just like to say thank you for your help and advice during my set-up of serial2mqtt.  It is most appreciated.  It does feel like we're getting there, after our initial hiccups.
I really hope to get this fully working, as I'm really keen to continue to use mqtt throughout my home automation system and have all my control devices (Raspberry Pi & 2x Ardunios).  1x arduino mega will be handling the 42 relay outputs and the other the 24 inputs from switches around my house.
Anyway - thanks again.  I will look to work through the processes in setting up mqtt on my arduinos (broker is already running on my Pi).
Kind Regards,
Dan

Just not sure how to tell which 2 out of the 4 USB ports (ttyACM0, ttyACM1, ttyACM2, ttyAMA0) are the arduinos....

Dan,
you're welcome, always happy to see somebody else is looking for the same kind of solutions.
The ttyACMx numbering is assigned in the order you plug in your devices. So it can be changing continuously.
There is some way around this that your device becomes something like /dev/ttyArduino always, this is based on some more detailed info on the USB bus of your devices.
See : https://stackoverflow.com/questions/24714241/ttyusb-numbers-are-changing-after-reboot
There are more articles around this, I didn't try them myself.
The easy way to get started is like I said, plug/unplug the Arduino and see which /dev/ttyACMx it is assigned. If that works together with your code, then it is useful to make the name fixed.
I guess this answers most of your questions, so I would suggest to close this issue and open another one once you would have more questions.
Success !
Lieven

Closing issue


Having Trouble understanding your project structure.........

I have created a folder in views directory and created a file named crd.jsx.Then I have added following url object in dashboardRoutes array
{ path: "/card", sidebarName: "cardexample", navbarName: "Material Card", icon: Dashboard, component: CardBasic1 }
crd.txt
after going to the url I am also getting the vertical navbar , search option ,notification icon.But i am not understanding why r they appearing.....In my crd.jsx which function is responsible for loading these components....

Hello @THEMESSINHO ,
I believe we have spoken and asked you to open this issue due to the fact that i did not understand where the code was, and where the issue question was.
That is happening because the crd.jsx is rendered inside the dashboardRoutes, which means it will render inside the src/layouts/Dashboard/Dashboard.jsx which has the sidebar, navbar and footer i believe.
If you do not want this to happen, then you either create a new layout and add that layout in src/routes/index.jsx , and then create a new route file for that layout, or you can simply move the route you have made, inside src/routes/index.jsx without any layout.
Best,
Manu


Testing issues for upgrade to Bootstrap5

Something missing from this banner, when publish a Simple Content page:

Page action buttons should be (were previously) on one row at desktop width:

Select an image in File Manager: a bit of a car crash layout:

Is Rename file supposed to be on the same row as the text control?

File Namager > Image select > Crop, needs a little layout work:

To align top of upper row of buttons, and add some vertical space between width and height controls.

[ ] System Log: the error level buttons are now all stacked.

On the test site, Date of Birth is mandatory when creating new user. I don't think it was before??

On the test site, Date of Birth is mandatory when creating new user. I don't think it was before??

Quite a complex one here...
In the old version of the template, if you selected to install the user KVP, then a json file containing definitions of some extra KVP fields would be delivered, but (frustratingly) not wired up - so you needed to delve back into the docs to figure out how to wire them up.
In the current template now, that KVP config gets installed as a part of the appsettings.json (a long while ago we agreed this was the better location) - so they are properly wired up - so they actually take effect.
I'm not sure I ever really understood why - but that default set of new KVP properties has always been three fields that already exist in the Users table (firstname, lastname and DoB) so the effect of wiring them up is solely that the DoB field gets added (as 'required') to the New User registration screen (which lacks that field by default).  Presumably forename and surname do not get added, since they are already there.
DoB then also gets rendered a second time on the Edit User screen (which presumably already includes that field, even if KVP not installed)... though I've no idea why firstname and lastname are not similarly duplicated.
I'd suggest it's probably less confusing to wire-up KVP with just one custom field that is clearly a custom field, not duplicates of pre-existing ones. I'm not actually sure why you would ever want to duplicate pre-existing user fields in Kvp...?

As discussed, let's not ship any activated KVP properties, but supply an example commented out, & ensure the wiring is there for it to work.

The Contact Form "Submit" button has incorrect markup (again!? -  this was bad after BS3 to 4). In fact I'm wondering whether this isn't the same issue (it is class "btn-default"), and I'm 99% sure we fixed that ages ago?

Content history controls have also gone full-screen and wrapped onto multiple lines, similar to other sets:

Contact form:
looks like btn-default died along with Bootstrap3.
Guess we just want btn-primary here.
The template actually delivers an override for this view, so I'll fix that in both that override and the underlying Nuget equivalent.
Will have a scan about for any other stray uses of that class.

New build just deployed, should address all above


Support multi-classes or multi-objects segmentation?

I read this code,but I found it only support one object.

Greetings! As the two tasks, camouflaged object detection and shadow detection, are single-class segmentation tasks, our code presently only supports single-class segmentation. However, we remain open to exploring additional possibilities in the future.


Memory Leak when creating custom VideoClips based Dataset

I'm trying to create a VideoClips-based dataset.
My implementation follows the implementations of the included datasets (e.g. HMDB51).
My data however has a resolution of 375x1242, and consists of 12 clips with a total of 4169 frames.
When I'm training my RAM fills up pretty fast, even if no model is executed.
When the RAM is full, the programm obviously crashes.
The following script is a minimal reproduction of the issue:
import os
import os.path as osp
from torch.utils.data.dataloader import DataLoader
from torchvision.datasets import VisionDataset
from torchvision.datasets.video_utils import VideoClips

video_dir = "/path/to/data/KITTI/training/images"
video_paths = [osp.join(video_dir, fname) for fname in os.listdir(video_dir) if osp.splitext(fname)[1] == ".mp4"]

video_clips = VideoClips(video_paths,
                  clip_length_in_frames=8,
                  frames_between_clips=8,
                  _precomputed_metadata=None)

class KITTI(VisionDataset):

    def __getitem__(self, index):
        return video_clips.get_clip(index)

    def __len__(self):
        return video_clips.num_clips()

dl = DataLoader(KITTI(root=video_dir), batch_size=1, shuffle=False)

for clip in dl:
    continue   # memory fills up fast

The data is subset of the training sequences of the KITTI tracking data (source) losslessly converted to mp4 with ffmpeg (to be executed in folder containing the sequence folders):
for d in `ls`; do ffmpeg -f image2 -r 30 -i $d/%06d.png -vcodec libx264 -profile:v high444 -refs 16 -preset ultrafast $d.mp4; done

Am I using the VideoClips somehow wrong?
Is it intended that VideoClips keep the clips in memory? (I'm not sure, if they do or if that's the problem)
If not, does someone care to reproduce this issue?

This is not expected. How much RAM do you have?
Also, can you print torchvision.__version__?

This is not expected. How much RAM do you have?

16 GB

Also, can you print torchvision.__version__?

Python 3.5.2 (default, Oct  8 2019, 13:06:37)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torchvision
>>> torchvision.__version__
'0.4.1'

16GB of CPU RAM might not be enough unfortunately depending on the situation.
Can you try seeing if using HMDB51 still runs out of memory? This way I can compare on a setup that I have already setup.

Ah yes, I didn't try HMDB51 before. The same issue arises.
Now my memory even fills up during compute_pts during initialization of VideoClips.
I now don't think it is an issue in torchvision. I checked and it seems that all objects relating VideoFrames, Tensors etc.. are garbage collected.
But some memory is not released.
I guess that's an indicator that the underlying libav is holding onto something?
If other people using torchvision have this issue, we can continue discussion, otherwise it is probably better if I locate the issue more precisely and make a new report somewhere else.
You can test it by running:
from torch.utils.data.dataloader import DataLoader
from torchvision.datasets import HMDB51
from tqdm import tqdm

dl = DataLoader(HMDB51(root="/pah/to/HMDB51/",
                       annotation_path="/path/to/HMDB51/",
                       frames_per_clip=5))

for i in tqdm(dl, total=len(dl)):
    continue

I used mprof to monitor memory usage and get this:

The constant usage at the end is when it fills swap
If you have enough memory to fit the dataset, you will probably see a drop in memory usage after the Dataset was initialized (this happened to me when using my smaller custom dataset).
This is due to the termination of the worker threads.
But afterwards it will increase again.

Problem solved by installing an newer version (4.2) of ffmpeg.
The PyAV documentation suggested 3.2. I will add a pull request to their documentation.
Sorry for the inconvenience.
But hopefully other torchvision users with Ubuntu 16.04, which followed that installation guide, find this thread useful.

@Lucas-Steinmann thanks a lot for getting back with the solution!
Indeed, there are a few reference cycles in previous versions of PyAV, that got fixed some time ago.
Maybe we can improve the import error message if PyAV is not found? https://github.com/pytorch/vision/blob/d194082c067d8635370e6fce7345aa03cbb32e86/torchvision/io/video.py#L13-L17

So I'm using pip, which maybe makes it quite difficult for us to compare package/binary versions, if you use conda.
Conda does probably include ffmpeg or (atleast I heard this should be one of its virtues)?
So you are right, checking the version with conda would be the best solution. But I can't give you any more information on that.
With pip it uses the system ffmpeg library.
The current version of PyAV (6.2.0) on PyPi already includes the fix for the reference cycle issue.
But my problem has not been the PyAV version but the version of ffmpeg.
I solved it by upgrading to 4.2 from 3.2.
I wanted to downgrade again to find the specific version, which solves the issue, but was not able to (I got a linker error, that PyAV wants to still link to the new version of ffmpeg even though I make uninstalled it and ran ldconfig. Not sure what to do else.
So optimally there should be a check in PyAV or torchvision for the ffmpeg library version.
PyAV offers av.library_versions.
But as I said I don't know how to downgrade to check.

@Lucas-Steinmann sounds good, thanks for the feedback!


Add ability to run RTL tests through CTest

Add a SNITCH_SIMULATOR CMake variable which allows the user to specify
a compiled RTL model to be used for binary execution. Setting this
variable to a compiled verilator model allows the user to run all tests
through make test on the actual RTL.
Add a corresponding setting to the hw/system/snitch_cluster setup and
add a comment to the README to indicate how to run the tests.

Nice, CI is passing thanks to your fixes to the container @zarubaf . Ready to merge from my side 👍  What do you think?

Thanks! Merging


Use of deprecated Thread.stop prevents interruption on Java 20+

Steps to reproduce

Install a JDK/JRE for Java 20 or later.
Open an Ammonite REPL using that JDK/JRE (using Scala 3, but that isn't too relevant maybe)
Run the line while true do () (Scala 3)
Attempt to Ctrl-C
You should see

Exception in thread "SIGINT handler" java.lang.UnsupportedOperationException
        at java.base/java.lang.Thread.stop(Thread.java:1705)
        at ammonite.repl.Repl.$anonfun$action$5(Repl.scala:191)
        at ammonite.repl.Signaller$$anon$1.handle(Signaller.scala:21)
        at jdk.unsupported/sun.misc.Signal$InternalMiscHandler.handle(Signal.java:198)
        at java.base/jdk.internal.misc.Signal$1.run(Signal.java:218)
        at java.base/java.lang.Thread.run(Thread.java:1623)

because in Java 20 (https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Thread.html#stop()) the function has been "removed" and apparently should be replaced with Thread.interrupt and interruption checking/allowing on the execution thread.
The problematic line seems to be here:
https://github.com/com-lihaoyi/Ammonite/blob/084f7f4e6f6bac561f4940a053b84a1e4f39e96e/amm/repl/src/main/scala/ammonite/repl/Repl.scala#L191
Expected behavior
I expected to be able to interrupt long running programs, which was one of the advertised benefits of Ammonite-REPL.
Environment
Ammonite: 3.0.0-M0-53-084f7f4e
Scala: 3.3.1
Java: 20

A problem here, IIUC, is that there's no real substitute for Thread.stop when users want to stop code like while (true) {} (or any code that keeps the CPU busy doing computation, rather than waiting for I/O and the like).

Bypassing the public Java API to reach into the JVM for the stop() implementation isn't going to be portable, or supported in the long run. There is indeed no replacement for the stop() due to its semantics being problematic in the first place (i.e. skips proper unwinding of the stack)
The thing about being a REPL though is that you sort of have control over the compiler, at least for the part that was entered through the REPL. It might be possible to artificially add in a "blackhole"-style empty method at the backedges of all the loops to allow interrupts to have an anchor point to deliver to.

...SecurityManager is also on track for removal https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/SecurityManager.html

...SecurityManager is also on track for removal https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/SecurityManager.html

Looks like a secret conspiracy to make threads immortal. 🤣


Add gitpod config

this commit adds support for Gitpod.io, a free automated
dev environment that makes contributing and generally working on GitHub
projects much easier. It allows anyone to start a ready-to-code dev
environment for any branch, issue and pull request with a single click.

Sorry, this was a mistake


Nav-Links open in new tabs

Describe the Bug 🐛
A clear and concise description of what the bug is
To Reproduce
Steps to reproduce the behavior:

Go to '.Homepage'
Click on any link
See error

Expected behavior
Opening multiple tabs is hectic and unnecessary as we're already working on a functional navbar. So I'd like it to not prompt new tabs to open.

@Koustavjr Assigned! :)

I would like to contribute in this issue under jwoc
I would like to collaborate with @Koustavjr on this issue.


Handling of nullable entity properties

Describe the bug
I have an entity with some optional fields
@Entity()
export class CorporateUser extends Auditable {
  @Property()
  email: string;

  @Property()
  username: string;

  @Property({ nullable: true })
  firstName?: string;

  @Property({ nullable: true })
  lastName?: string;

  @OneToOne({ owner: true })
  credentials: Credentials;

  @ManyToOne()
  organization: Organization;

  constructor(
    props: Omit<CorporateUser, keyof IEntity | keyof Auditable>,
  ) {
    super();
    this.email = props.email;
    this.username = props.username;

    this.firstName = props.firstName;
    this.lastName = props.lastName;

    this.credentials = props.credentials;
    this.organization = props.organization;
  }
}

When I'm trying to persist entity w/o firstName and lastName I got the exception below:
Stack trace
[2019-09-19 14:06:08.492 +0000] ERROR (2032 on kgoncharov-linux): ExceptionsHandler Trying to set CorporateUser.firstName of type 'string' to 'undefined' of type 'undefined' ValidationError: Trying to set CorporateUser.firstName of type 'string' to 'undefined' of type 'undefined'
    at Function.fromWrongPropertyType (/home/kgoncharov/Projects/ioXt/haxlab-be/node_modules/mikro-orm/dist/utils/ValidationError.js:18:16)
    at EntityValidator.validateProperty (/home/kgoncharov/Projects/ioXt/haxlab-be/node_modules/mikro-orm/dist/entity/EntityValidator.js:36:43)
    at /home/kgoncharov/Projects/ioXt/haxlab-be/node_modules/mikro-orm/dist/entity/EntityValidator.js:21:49
    at Array.forEach (<anonymous>)
    at EntityValidator.validate (/home/kgoncharov/Projects/ioXt/haxlab-be/node_modules/mikro-orm/dist/entity/EntityValidator.js:16:30)
    at ChangeSetComputer.computeChangeSet (/home/kgoncharov/Projects/ioXt/haxlab-be/node_modules/mikro-orm/dist/unit-of-work/ChangeSetComputer.js:21:24)
    at UnitOfWork.findNewEntities (/home/kgoncharov/Projects/ioXt/haxlab-be/node_modules/mikro-orm/dist/unit-of-work/UnitOfWork.js:151:50)
    at UnitOfWork.computeChangeSets (/home/kgoncharov/Projects/ioXt/haxlab-be/node_modules/mikro-orm/dist/unit-of-work/UnitOfWork.js:119:18)
    at UnitOfWork.commit (/home/kgoncharov/Projects/ioXt/haxlab-be/node_modules/mikro-orm/dist/unit-of-work/UnitOfWork.js:76:14)
    at EntityManager.flush (/home/kgoncharov/Projects/ioXt/haxlab-be/node_modules/mikro-orm/dist/EntityManager.js:219:36)

What is the right way to:

Set nullable properties in Entity
To handle nulls in database in MikroORM

Hmmm this is currently not supported, but not on purpose... Thanks for the report, will fix this later today.
As a workaround you can allow null in your props:
  @Property({ nullable: true })
  firstName: string | null;

Then validation should pass.

Thanks for clarification @B4nan!
Unfortunately, allowing nulls in entity properties breaks the whole flow in app.
After your fix, setting of undefined to property will lead to table_name.property = null in db, right?
Also, when are you planning to release new version with this fix?

Yes, will release it right after its implemented as v2.7.8. And yes, it will set the value to null in database.

Looking into this, its pretty easy fix, but there is one caveat. All drivers currently return null when reading such property from database. It is fine unless you would check specifically for undefined via strict equality:
const user = await orm.em.findOne(User, 1);
user.firstName = undefined;
console.log(user.firstName); // undefined
await orm.em.flush();
orm.em.clear();

// reload the user
const user2 = await orm.em.findOne(User, 1);
console.log(user2.firstName); // null

I think I can pretty easily fix this, forcing null values to be undefined when hydrating the entity, but that could be considered a breaking change, so I will include that in v3 and keep this behaviour for v2.

as promised, published in v2.7.8


Exhaustiveness checking

Gives warnings for inexhaustive and redundant pattern matches.

Great, I'm excited for this! The style changes make a huge difference as a reader and reviewer, something about processing fluency that comes from having seen it this way I guess.
In any case, I think I'll see real stuff only when I start merging it in. There is this module called Type.ExtraChecks that does some checks that also need to be after type inference. I wonder if your PR and this should be merged into another validation phase. In any case, things are looking good now, and I'll do some more exploration as I try to merge it in!


Bolts 1.6.0 build errors after a pod update

Hi,
I'm encountering set of errors in bolts after I update pods today. I do not have specifically Bolts mentioned in my dependency list, but cause of Facebook SDKs, it automatically get install Bolts 1.6.0 version. I assume the set of errors are due to the below essentially;
Pods/Bolts/Bolts/Common/BFTaskCompletionSource.h:15:15: error: cannot find protocol declaration for 'ResultType'
@class BFTask;
I have attached the error list shown in the panel. Of note I have cocoa pods and system up-to-date.
Thank you very much!

Hey @dfernando123, any chance you are using an old version of Xcode? (before 7.0?)
Please note that according to the release notes we are requiring Xcode 7.0 in the latest version of Bolts.
If you are using it though, any chance you have an outdated version of Bolts somewhere else in your system where Xcode could pick it up? Like ~/Documents/FacebookSDK, for example?

Hi @nlutsenko , Thank you very much for the quick response.
I'm using the Xcode version 6.4. In that case I will have Xcode 7.0 in.
For your second question, I have only the SDKs installed via cocoa pods, no local directories attached.

That should be definitely it then, the new version of Bolts (1.6) won't work on old Xcode.
Let me know how it goes after you upgrade.

Sure, will let you know after the upgrade. Thank you for the insight!

Hi @nlutsenko ,
Thanks so much for the instructions. It worked after the upgrade!
Also, It would be great if you could mention in the note. It will be much helpful for someone who may get the same. Thanks again!

Glad it helped. It's actually noted in the release notes for 1.6 :grin:

My Bad! Please accept my apologies :expressionless:


Move the install button to be "above the fold"

Basically put an "Install IPFS" button in the header.
From the irc channel
<jbenet> inconshreveable: thoughts on making the "read the paper" button smaller? the original goal of this site was to "look at the demo -> install"
<jbenet> the big paragraph may confuse/turn away people. another option is to put this paragraph below the alpha demo, or on the project page
<inconshreveable> Yeah, maybe below the alpha demo?
<jbenet> yeah +1
<inconshreveable> or turn read more into a regular hyperlink
<inconshreveable> as part of the paragraph text
<inconshreveable> actually, jbenet. you should get your "Install IPFS alpha" above the fold
<inconshreveable> like with the pretty space background
<jbenet> inconsreveable yeah! great point!! maybe the same button but with no background + white border?
<inconshreveable> yep
<inconshreveable> and maybe nuke 'alpha' from the CTA
<inconshreveable> just
<inconshreveable> Install IPFS
<jbenet> yep agreed. i like how hashpipe looked: jbenet.github.io/hashpipe/
<inconshreveable> obviously keep the button with the video as well

@inconshreveable I wanted to keep you in the loop. I had more in this issue, but I somehow missed seeing your previous pull requests. Anyways, I don't think this part of the discussion was in your pull requests so I went ahead and submitted an issue.

done


[Upgrade] Migrate build repo code from using Python 3.9 to 3.12 version

Similar to https://github.com/opensearch-project/opensearch-build/issues/3351.
Migrate build repo code from using Python 3.9 to 3.12 version.
Python3.9 support will ends on 2025/10/31.
https://endoflife.date/python
Note: 3.12 Ends on 2028/10/31.
We need to migrate the code to Python 3.12.
Acceptance Criteria:

All the build code should be using 3.12
Moving from 3.9 to 3.12 in the build repo, updating the pipfile and lock file.
Test all the existing workflows with the new python version.
Update all the CI images to use Python 3.12.
Testing the compilation of the cpython with centos docker image.

Thanks.

https://github.com/opensearch-project/opensearch-build/issues/5054


Update docs on docker setup

Mention DOCKER_VERSION == 1.19 requirement
Permissions on build path

I had to downgrade docker-py to 1.2.3 also.

I'm closing this one in favor of this comment https://github.com/rtfd/readthedocs.org/pull/2692#issuecomment-353792766 and this PR: https://github.com/rtfd/readthedocs.org/pull/3243


Font-Awesome 5

Upgrade to Font Awesome 5 Free

Thanks for making this change! I'll pull the code and do some quick sanity tests tonight before merging the request.

Hi @kelyvin
If you are done with this I wish to push one more to enable prism plugins and additional language support. Let me know your thoughts on that as well.


micropip package needs to be built for shinylive python package dependencies

See https://pyodide.org/en/stable/development/new-packages.html#creating-a-pyodide-package


Add MetadataSource classes

The compiler is generally free to not include pointers to metadata in
heap boxes, which are used for closure captures, if it knows you can get
to metadata through some other path. These MetadataSource classes will
describe a sequence of steps to get to metadata at runtime.
In the short term, this will be useful for describing the layout of
function/closure capture contexts, which can vary depending on what is
captured.

@swift-ci Please smoke test


parse runc-version, not go.mod (vendor.conf)

https://github.com/kind-ci/containerd-nightlies/blob/fe506121b5d9af66a23af31ac2344bca0993c2db/.github/workflows/main.yml#L38-L44
This version detection logic is not robust.
As the result, https://github.com/kind-ci/containerd-nightlies/releases/tag/containerd-1.5.1 was released with an unexpected version of runc (expected: rc94, actual: rc93).
The right way is to read script/setup/runc-version.
https://github.com/containerd/containerd/blob/v1.4.5/script/setup/runc-version
https://github.com/containerd/containerd/blob/v1.5.1/script/setup/runc-version

PR https://github.com/kind-ci/containerd-nightlies/pull/20

thanks, the previous solution was rushed to unblock some kubernetes CI testing and is definitely not robust enough.

I am re-running the nightlies after deleting v1.5.1 in particular.


Expose playlist type

It would be nice with support for checking the type of a playlist. E.g. whether it is a regular playlist or a playlist folder start/end boundary.
This information is exposed by libspotify through sp_playlistcontainer_playlist_type.

Fixed with merge of pull request #37.


Adding launch and more info of turtlesim.

More documentation for m02_ros2_communication.

All nodes seems to be working well, launches execute well.
Docker is still pending for more info and what to do for module 04


Luis import issue for Prebuilt models

Tool
Name: [luis]
Version: 2.0.13
In order to produce modifed json file I followed these steps.
In my application I used Prebuilt models, then exported my application. After that when I try to import using luis-cli it gives below error. In this prebuilt model I populate with my own utterances, I need to import them.
Is it possible to fix prebuilt models name conflict using luis-cli import?

 "entities": [
    {
      "name": "Communication.ContactName",
      "inherits": {
        "domain_name": "Communication",
        "model_name": "ContactName"
      },
      "roles": []
    },
    {
      "name": "Entertainment.Nationality",
      "inherits": {
        "domain_name": "Entertainment",
        "model_name": "Nationality"
      },
      "roles": []
    },

Thanks.

Talked with @chrimc62, moving out to be a 4.3 deliverable

Is this going to be resolved in the next release? What's the time line for it? Thanks!

Is this issue resolved?


thingiverse cannot be downloaded

I tried both on school server and my PC. In both cases, tree ~/.objaverse shows only thingiverse.parquet under thingiverse folder

I pasted the link into browser and it downloads. Wget downloads as well. On the colab notebook it works as well, but not on both my PC and school server.

Found the solve:
Need to add:
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
and in thingiverse.py, change to response.get(url, headers=headers, stream=True)
Can someone update this repo?

the website currently added a redirection with a js file , so naively request with that url will not work any more.

stream=True

hello，are you slolve this problem?


Escape should dismiss compose box warnings.

If you're on the keyboard, and you do something that triggers a warning in the compose box, you should be able to dismiss it with the escape key, and still have the compose box remain open.  (Then hitting escape again would clear the box).

@showell By errors do you mean the one in the image below, or the blueslip error popups that you get in the dev environment sometimes?

@synicalsyntax I mean the former, the pink error box that shows up above "You and".

@zulipbot "GCI task"

@zulipbot label "GCI task"


Please implement GET /testplans/{id}/testcycles Get all test cycles for the test plan with the specified ID

Please implement GET /testplans/{id}/testcycles Get all test cycles for the test plan with the specified ID

Hi! How to get all test plans id in jama using python?


Multiple configuration values for data directories are merged when running a pinot controller

While working on #12547 I found out that if I have the following helm configuration:
controller:
  data:
    dir: /var/pinot/data

  # ... more configs
  extra:
    configs: |-
      controller.data.dir=s3://my-bucket/folder

The pinot controller will save the data in /var/pinot/data/s3:///my-bucket/folder within the attached PVC or within the pod, depending on how you configure the storage. I managed to replicate the same behaviour with the following helm config:
controller:
  # ... more configs
  extra:
    configs: |-
      controller.data.dir=/var/pinot/folder
      controller.data.dir=/var/pinot/other/folder

ended up with data being saved in /var/pinot/folder/var/pinot/other/folder.
I think the behaviour should be to override and use latest seen configuration instead. Let me know if that's expected and if I should close this issue.
Thanks!

Might be the same issue as #9102


Better support for Persian and other right to left languages

Added support for Persian language. Other right to left languages should also look better now.
Before Modifications:

After Modifications:

Thanks for doing this 🙂 I will review this in the next day or two!

@a5hk this is awesome! Could you take a look at running mix format locally to clean up that CI failure? Thank you @kinson for jumping on the review

Sure! Done. @doomspork


Openstack Infrastructure provider refresh fails with No route to host - connect(2) (Errno::EHOSTUNREACH)

Refresh fails when trying to add an Openstack infra provider. I'm not sure which service it tries to reach on the undercloud node. This shows up after cherry-picking the patches in https://github.com/ManageIQ/manageiq/pull/4052
[----] E, [2015-09-02T12:11:38.166219 #1478:51be7c] ERROR -- :  excon.error     #<Excon::Errors::SocketError: No route to host - connect(2) (Errno::EHOSTUNREACH)>
[----] E, [2015-09-02T12:11:38.166501 #1478:51be7c] ERROR -- : MIQ(ManageIQ::Providers::Openstack::InfraManager::Refresher#refresh) EMS: [undercloud], id: [1] Refresh failed
[----] E, [2015-09-02T12:11:38.166652 #1478:51be7c] ERROR -- : [Excon::Errors::SocketError]: No route to host - connect(2) (Errno::EHOSTUNREACH)  Method:[rescue in block in refresh]
[----] E, [2015-09-02T12:11:38.166765 #1478:51be7c] ERROR -- : /usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/socket.rb:142:in connect_nonblock' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/socket.rb:142:in rescue in block in connect'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/socket.rb:119:in block in connect' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/socket.rb:110:in each'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/socket.rb:110:in connect' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/socket.rb:28:in initialize'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/connection.rb:389:in new' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/connection.rb:389:in socket'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/connection.rb:106:in request_call' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/middlewares/mock.rb:47:in request_call'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/middlewares/instrumentor.rb:19:in block in request_call' /home/admin/manageiq/lib/vmdb/loggers/fog_logger.rb:22:in instrument'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/middlewares/instrumentor.rb:18:in request_call' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/middlewares/base.rb:15:in request_call'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/middlewares/base.rb:15:in request_call' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/middlewares/base.rb:15:in request_call'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/excon-0.45.4/lib/excon/connection.rb:233:in request' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/fog-core-1.32.1/lib/fog/core/connection.rb:81:in request'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/fog-1.33.0/lib/fog/openstack/storage.rb:151:in request' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/fog-1.33.0/lib/fog/openstack/requests/storage/get_containers.rb:21:in get_containers'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/fog-1.33.0/lib/fog/openstack/models/storage/directories.rb:11:in all' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/fog-core-1.32.1/lib/fog/core/collection.rb:113:in lazy_load'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/fog-core-1.32.1/lib/fog/core/collection.rb:17:in length' /home/admin/manageiq/gems/pending/openstack/openstack_handle/handle.rb:220:in detect_service'
/home/admin/manageiq/gems/pending/openstack/openstack_handle/handle.rb:204:in detect_storage_service' /home/admin/manageiq/app/models/manageiq/providers/openstack/infra_manager/refresh_parser.rb:30:in initialize'
/home/admin/manageiq/app/models/manageiq/providers/openstack/infra_manager/refresh_parser.rb:12:in new' /home/admin/manageiq/app/models/manageiq/providers/openstack/infra_manager/refresh_parser.rb:12:in ems_inv_to_hashes'
/home/admin/manageiq/app/models/manageiq/providers/openstack/infra_manager/refresher.rb:7:in parse_inventory' /home/admin/manageiq/app/models/ems_refresh/refreshers/ems_refresher_mixin.rb:19:in block in refresh'
/home/admin/manageiq/app/models/ems_refresh/refreshers/ems_refresher_mixin.rb:7:in each' /home/admin/manageiq/app/models/ems_refresh/refreshers/ems_refresher_mixin.rb:7:in refresh'
/home/admin/manageiq/app/models/manageiq/providers/base_manager/refresher.rb:12:in refresh' /home/admin/manageiq/app/models/ems_refresh.rb:78:in block in refresh'
/home/admin/manageiq/app/models/ems_refresh.rb:77:in each' /home/admin/manageiq/app/models/ems_refresh.rb:77:in refresh'
/home/admin/manageiq/app/models/miq_queue.rb:345:in block in deliver' /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/timeout.rb:66:in timeout'
/home/admin/manageiq/app/models/miq_queue.rb:341:in deliver' /home/admin/manageiq/lib/workers/queue_worker_base.rb:107:in deliver_queue_message'
/home/admin/manageiq/lib/workers/queue_worker_base.rb:135:in deliver_message' /home/admin/manageiq/lib/workers/queue_worker_base.rb:152:in block in do_work'
/home/admin/manageiq/lib/workers/queue_worker_base.rb:146:in loop' /home/admin/manageiq/lib/workers/queue_worker_base.rb:146:in do_work'
/home/admin/manageiq/lib/workers/worker_base.rb:329:in block in do_work_loop' /home/admin/manageiq/lib/workers/worker_base.rb:326:in loop'
/home/admin/manageiq/lib/workers/worker_base.rb:326:in do_work_loop' /home/admin/manageiq/lib/workers/worker_base.rb:146:in run'
/home/admin/manageiq/lib/workers/worker_base.rb:127:in start' /home/admin/manageiq/lib/workers/worker_base.rb:24:in start_worker'
/home/admin/manageiq/lib/workers/bin/worker.rb:3:in <top (required)>' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/railties-4.2.4/lib/rails/commands/runner.rb:60:in load'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/railties-4.2.4/lib/rails/commands/runner.rb:60:in <top (required)>' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:123:in require'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:123:in require_command!' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:90:in runner'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:39:in run_command!' /usr/local/rvm/gems/ruby-2.0.0-p643/gems/railties-4.2.4/lib/rails/commands.rb:17:in <top (required)>'
/home/admin/manageiq/bin/rails:4:in require' /home/admin/manageiq/bin/rails:4:in '
[----] E, [2015-09-02T12:11:38.166869 #1478:51be7c] ERROR -- : MIQ(ManageIQ::Providers::Openstack::InfraManager::Refresher#refresh) EMS: [undercloud], id: [1] Unable to perform refresh for the following targets:
[----] E, [2015-09-02T12:11:38.167074 #1478:51be7c] ERROR -- : MIQ(ManageIQ::Providers::Openstack::InfraManager::Refresher#refresh)  --- ManageIQ::Providers::Openstack::InfraManager [undercloud] id [1]

I figure it out, it was the Swift proxy port not allowed in the undercloud firewall. I'm going to close this.
Workaround:
on the undercloud run:
sudo iptables -I INPUT -p tcp -m tcp --dport 8080 -j ACCEPT


VS Code: The prompt box to add the required assets (launch.json & task.json) cannot be automatically popped up with the 5.0/3.1/2.1 projects in latest C# Extension

Azure DevOps work item: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1546000
Testcases Affected

VerifyReactAndReduxTemplate
Platform

[X] Windows
[X] macOS
[X] Linux

Repro Steps

Create a ReactRedux project in the Command Prompt:

    md Redux
    cd Redux
    dotnet new reactredux -f netcoreapp3.1

Open project using VS Code:
 code .

Install the required C# Extension [v1.25.0]

Note:

It works well on June Servicing SDK 6.0.x + C# Extension [v1.25.0]
It works well on June Servicing SDK 3.1.x + C# Extension [v1.24.4]
This issue also reproduces on Linux/Mac.

Actual Result

The prompt box to add the required assets (launch.json & task.json) cannot be automatically popped up in VS Code with an error .

Expected Result
The prompt box to add the required assets (launch.json & task.json) will be automatically popped up in VS Code.

Error Log

OmniSharp requires an install of the .NET SDK provide language services when 'omnishrp.useModernNet' is enabled in Settings. Please install the latest .NET and restarting vscode, you may need to log out and log back in or restart your system for changes to the PATH to take effect.

This issue is copy from https://github.com/aspnet/AspNetCore-ManualTests/issues/1383

From the content here-in, this appears to be an issue that is better addressed from within the https://github.com/OmniSharp/omnisharp-vscode repo.  Please open a new issue in that repo.

Yeah, this issue is similar to https://github.com/OmniSharp/omnisharp-vscode/issues/5509, and it can be resolved through setting and search for "omnisharp use modern Net" and uncheck it.


Easy integrate with postcss

I have a existing project which use react-css-modules + scss heavily, and now want to switch to next.js. It is too hard to keep react-css-modules with server rendering, so I have to switch css in js approach. Ideally, I wish I could use postcss (and some scss-like plugins) with styled-jsx to keep most scss files during this transition.
Firstly, I saw styled-jsx-postcss repo, but this one depended on<EMAIL_ADDRESS>before #148, therefore, I couldn't use styles in another file. I thought it is easy to upgrade the underlying depends. However, because the newer version of styled-jsx complains the nested css, styled-jsx-postcss need a fundamental change to achieve it.
And later I saw next.js example with-scoped-stylesheets-and-postcss, based on this idea, I achieved postcss with styled-jsx, but with one issue I have to name my css file ended with .js .
Is there anyway to fix the css name issue? I am not sure if I am on the right truck or if there is a better way to achieve postcss with styled-jsx.
Thanks.
next.config.js
const trash = require('trash')

module.exports = {
	webpack: (config) => {
		config.module.rules.push(
			{
				test: /\.css.js$/,            // notice here, .css.js instead of .css
				use: [
					{
						loader: 'emit-file-loader',
						options: {
							name: 'dist/[path][name].[ext]'
						}
					},
					{
						loader: 'skeleton-loader',
						options: {
							procedure: function (content) {
								return `module.exports = \`${content}\``
							},
							toCode: true
						}
					},
					'postcss-loader'
				]
			}
		)

		return config
	}
}

/pages/index.js
import css from './index.css'
export default () => <div className="pp">
	123
	<style jsx>{css}</style>
</div>

/pages/index.css.js
.pp {
	&.dd { color: pink;}
	background-color: red;
	width: 100px;
	height: 100px;
}

postcss.config.js
module.exports = {
	plugins: [
		require('postcss-cssnext')(),
		require('cssnano')()
	]
}

What is the css name issue about exactly? By the way there is a ready branch to implement plugins for styled-jsx which should let you use any preprocessor you want #182

By using the above approach, the index.css has to be named as index.css.js, otherwise, styled-jsx will not process it. Is there any other option to use postcss at this moment?
looking forward to seeing #182 happening :)

the index.css has to be named as index.css.js

That's right, because styled-jsx is just a Babel plugin and Babel is for transforming JavaScript.
Also in Next.js webpack is run only for client side code, not server side so even if you manage to set it up it won't work for SSR.
I think that styled-jsx plugins are the only easy way to transform the css (eg. with postcss). As I said the branch is ready, I just need someone to review it.


MacOs fix for ANSI Keyboards

This fixes the issue where ANSI keyboards don't output anything when the Tilde key is pressed.
To fix the issue, run the macos_fix.py script. This will rename the custom layout under us/keylayouts to custom_iso and they it will make a copy of this file, make the necessary modifications and save the new changes under custom_ansi.
This also fixes an issue where when typing passwords in the terminal or login and typing in spotlight, macos would always revert back to the default layout. A unique keyboard ID is required.
Let me know if you have any preferences on how the code should be structured. I initially had it all inside of generate.py but then i realized that it was this simple fix was longer than the whole generate.py file so I split it into its own file.

Thanks for that. It's a lot of code for something I'd hoped would be taken care of by klfc. I've just committed a change which uses simple search and replace, rather than parsing the XML. Can you try out the Mac OS files and tell me if they work?
It sounds like Mac OS has a bug regarding typing passwords in the terminal, logging in, and typing in spotlight. What's the problem with the id (-1337) that klfc uses in the file? So far we've only been thinking about the US files, but presumably this issue affects the GB files too. Is that right?

It doesn't seem to work for me. I believe what's keymaps 0 and 1 need to have both code 10 and 50. Keymap 0 maps both of them to '`' and keymap 1 maps them to '~'. Like this:

But even with both codes in the keymaps there are still issues with typing in the terminal, spotlight and shortcuts that use that key. I suspect there is another built in keyboard layout (Unicode Hex Input) that has that specific ID. When activate that layout I get the bahaviour of the '~' not working but the keys are in their original places. Changing the keyboard ID is what fixes that issue. I got the range for the random number from the Ukelele repo:
https://github.com/sillsdev/Ukelele/blob/bf60297399b33ce6be0bcb3a8eb656ffcc2a0e0c/Ukelele Cocoa/ScriptRanges.h#L14

As far as the global versions go, they just need a new keyboard ID and they work fine.

Okay, it turns out that keyboard id being unique was a bigger part of the problem than I initially thought. The changes I pushed essentially creates a unique ID for every .keylayout files (both us and gb) and keeps then goes into the change you made of changing code 10 to 50 for us versions only. This seems to have fixed the issue for me both versions. Keeping in mind that my keyboard is an ANSI one, therefore I don't have an Alt-Gr key to test out the other keys.
One small note that may be relevant, the key we've been working on produces the chars "",  "|" in the iso version. When I looked at pictures of an iso keyboard online I saw the chars "`", "¬", "¦" . I don't know if this is the intended behaviour or just a consequence of my keyboard not being a proper ISO Keyboard.

Good stuff, thanks for your help with this

@elordeiro FYI, I've just pushed a commit which makes ID generation consistent between runs

No worries - it was a great joint effort :)


Rename column name round_name to latest_round_name on the code_trek_applicants table

Describe the task
We have defined different types rounds according to the performance of the applicant.
Rounds such as:

Preparatory
Level-1
Level-2
Level-3
Onboarded

So, currently on the code trek applicants table the column name is round_name which needs to be changed to current_round_name
Expected behavior
Column name should be current_round_name which will displays the current round type of the applicant.
Action Items

[ ] Understand how migration file works. How it is named? What is the meaning of up and down functions inside the migration file? Take help from Laravel documentation
[ ] Rollback and then Create a new migration file to add current_round_name in the table. Take reference from here

This issue PR is merged. Closing it.


Add config option to suppress native hotkey functionality (Windows only)

For people who want to use other hotkeys that have conflicting native functionality. Enabled by default because I think it's safe to assume that most users don't want their AlwaysReddy hotkeys to simultaneously trigger other stuff.
Only added support for Windows since pynput does not seem to support key suppression.

Hold on.
The soundfx thread waiting added at https://github.com/ILikeAI/AlwaysReddy/commit/c5ff6855ed22a84ab64f47c1516eafcae0c416d6#diff-e85051bd66472be829acf9f76e7fed60f659f9fb13fdeff0d0077ac5413f9569R47 is interfering with the suppression of the hotkeys. Is that .join() needed for Linux specifically? I'm on Windows, and bypassing that .join() solves all the issues, and makes the hotkeys more responsive too.
if platform.system() != "Windows":
    sound_thread.join()  # Wait for the thread to complete

The soundfx thread waiting added at c5ff685#diff-e85051bd66472be829acf9f76e7fed60f659f9fb13fdeff0d0077ac5413f9569R47 is interfering with the suppression of the hotkeys. Is that .join() needed for Linux specifically? I'm on Windows, and bypassing that .join() solves all the issues, and makes the hotkeys more responsive too.

Hmmm i cant remember exactly why that is there to be honest. Im a little confused though, your first commits about dealing with cases where the always reddy conflicts with a system hotkey right? I cant see how waiting for the audio thread to finish relates to that?

Im a little confused though, your first commits about dealing with cases where the always reddy conflicts with a system hotkey right? I cant see how waiting for the audio thread to finish relates to that?

Since the keyboard listener is running on the main thread, any long thread sleeping makes the suppression fail. Just putting time.sleep(0.3) (300 ms) at the top of main.cancel_all() makes the suppression of the cancel hotkey fail. Shorter sleeps (<250 ms) is fine though, so stuff like waiting for a file to delete is no problem.
I don't really understand the technicality of why it behaves like this, but if we just avoid waiting for sounds to finish playing, it should be a non-issue.

Ahh okay awesome that makes sense. i just tested it without the join on ubuntu and it works fine so i removed it all together!
Nice catch, ill merge it now.
Also what version of windows are you on? win 10 or 11?

Alright, nice!
I'm on Windows 11.

Okay awesome! I had heard a couple of reports from windows 11 users that they were having issues. For you does it detect they hotkeys even when the terminal isnt in focus? For example can you be in the browser and still press the record hotkey?
Thanks for the contribution by the way! Much appreciated!

I had heard a couple of reports from windows 11 users that they were having issues. For you does it detect they hotkeys even when the terminal isnt in focus? For example can you be in the browser and still press the record hotkey?

There's a common issue with global hotkey apps on Windows where the hotkeys don't work when a process that has been run with admin privileges is focused, unless the global hotkey app was run with admin privileges as well. Some programs and games run with admin privileges by default.
If I run my browser as admin, AlwaysReddy's hotkeys stop working as long as the browser window is in focus. As soon as I restart AlwaysReddy with admin privileges too, it works fine again.
So for those users, I would suggest running run_AlwaysReddy.bat with "Run as administrator" from the context menu.
Alternatively, make a shortcut to run_AlwaysReddy.bat, then go context menu > Properties > Shortcut > Advanced and check "Run as administrator". Then it will always run as admin when using that shortcut.

Dude this is super useful! I didnt know this but it makes a lot of sense. Thanks for sharing!


ModuleNotFoundError: No module named 'jmespath'

I am getting the following error even after installing the correct dependencies:
Traceback (most recent call last):   File "/home/amondal/.local/bin/accelerate", line 5, in <module>     from accelerate.commands.accelerate_cli import main   File "/home/amondal/.local/lib/python3.8/site-packages/accelerate/__init__.py", line 3, in <module>     from .accelerator import Accelerator   File "/home/amondal/.local/lib/python3.8/site-packages/accelerate/accelerator.py", line 31, in <module>     from .checkpointing import load_accelerator_state, load_custom_state, save_accelerator_state, save_custom_state   File "/home/amondal/.local/lib/python3.8/site-packages/accelerate/checkpointing.py", line 24, in <module>     from .utils import (   File "/home/amondal/.local/lib/python3.8/site-packages/accelerate/utils/__init__.py", line 106, in <module>     from .launch import (   File "/home/amondal/.local/lib/python3.8/site-packages/accelerate/utils/launch.py", line 24, in <module>     from ..commands.config.config_args import SageMakerConfig   File "/home/amondal/.local/lib/python3.8/site-packages/accelerate/commands/config/__init__.py", line 19, in <module>     from .config import config_command_parser   File "/home/amondal/.local/lib/python3.8/site-packages/accelerate/commands/config/config.py", line 25, in <module>     from .sagemaker import get_sagemaker_input   File "/home/amondal/.local/lib/python3.8/site-packages/accelerate/commands/config/sagemaker.py", line 35, in <module>     import boto3  # noqa: F401   File "/home/amondal/.local/lib/python3.8/site-packages/boto3/__init__.py", line 17, in <module>     from boto3.session import Session   File "/home/amondal/.local/lib/python3.8/site-packages/boto3/session.py", line 17, in <module>     import botocore.session   File "/home/amondal/.local/lib/python3.8/site-packages/botocore/session.py", line 26, in <module>     import botocore.client   File "/home/amondal/.local/lib/python3.8/site-packages/botocore/client.py", line 15, in <module>     from botocore import waiter, xform_name   File "/home/amondal/.local/lib/python3.8/site-packages/botocore/waiter.py", line 16, in <module>     import jmespath ModuleNotFoundError: No module named 'jmespath'

Sorry, i may need more information about the error


EPT Exit Handlers

Added exit handlers for EPT violations
Added exit handlers for EPT misconfigurations

Signed-off-by: JaredWright<EMAIL_ADDRESS>

I'd like to call out a small point on this PR: I wasn't quite sure the best way to namespace the EPT exit handlers. I put the implementation and headers under the 'hve/arch/intel_x64/ept' directory (where all the other EPT code is), and therefore namespaced things according to the directory structure. In other words, I used eapis::intel_x64::ept::violation instead of eapis::intel_x64::ept_violation
@connojd @rianquinn Do either of you have a preference to change the namespaces to the other way?
Also, I have integration tests started for these, but think they will be a little more involved than the current integration tests. I'm thinking that a seperate PR will be appropriate for the EPT integration tests later.

@JaredWright for the exits they should be ept_violation and ept_miconfiguration. We have tried to stay as close to the way Intel names the exit reasons. That way there is a one-to-one mapping between filenames and exit reasons from the manual.
That being said,  IMO the EPT implementation files (memory_map etc) should keep the current namespace scheme

@connojd I agree with all of your feedback above. It should all be addressed in the most recent code-review commit I just added here, except for the doxygen comment. I'll wait until PR #59 is merged and then run the doxygen check thing. I'm about to get on a plane, but I'll check in later today for any additional feedback.

Agreed with @connojd, all exit reason code should be named based on the exit reason verbatim.


Edit Intermediate Solution

There is a bug for "https://guide.freecodecamp.org/certifications/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/pig-latin/" for intermediate solution. I have provide the correction of the issue in this repo. Please consider this issue and edit accordingly.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

@akhilomar First please read and check the boxes above to let us know you have read them.
Also, if you are making a "fix" to the code, just make the fix.  Instead, you have explained what is wrong with the code and added more code instead of just replacing the code you believe has an issue.

Sir, I have read and checked all the boxes.
In the present repo. of this question, the intermediate solution provided in repository is different from the intermediate hint present on "https://guide.freecodecamp.org/certifications/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/pig-latin/", due to which I have to explained it
separately.
Now I have fix the intermediate code with recursion condition. You can review it.

I don't see a bug in the current intermediate solution.. Am I missing something?
This is a preview of your changes - Your code does not look good. See the style guide

I don't see a bug in the current intermediate solution.. Am I missing something?
This is a preview of your changes - Your code does not look good. See the style guide

Please refer intermediate solution of this link instead of repo solution: https://guide.freecodecamp.org/certifications/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/pig-latin/
In the above links solution you will find the solution using recursion in intermediate section. There terminating condition in recursion function is not provided due to which "Maximum call stack size exceeded" occurs.
That's what I want to convey by this PR

I see - well, it is no longer a problem on the master branch of the repo. But I don't mind adding your solution if you want since all the other solutions use regex. But you will need to format the code using backticks like described in the link I gave above.


qtwebengine: Use system ffmpeg on aarch64

On aarch64, linking against the vendored ffmpeg fails. Including ffmpeg
as a dependency and passing -system-ffmpeg to qmake fixes this.
Motivation for this change
QtWebengine fails to build on aarch64 due to problems linking against the bundled ffmpeg.
Things done
Added a qmake flag -system-ffmpeg when building for Aarch64 or Aarch32
Added ffmpeg as an optional dependency
Note: So far, I have only tested Qt 5.11's qtwebengine.

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

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

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

cc @matthewbauer

Maybe it could be done on all platforms? Having the build time of qtwebengine go down would be pretty useful.

Yes, I wondered about doing it on all platforms. I decided (at least initially) to err on the side of caution and not risk breaking things which currently work.

I've made a few changes:

Rephrased the qmakeFlags expression so that it evaluates to exactly the same list as before on non arm platforms
Fixed the change to propagatedBuildInputs (previously it said (!stdenv.isAarch32 || stdenv.isAarch64))
Replaced stdenv.isAarch* with stdenv.hostPlatform.isArm so as to be correct for cross-compilation

Fixed mistake: Replaced isArm, as it is a synonym for isAarch32 and so doesn't cover isAarch64.


File content is empty when a file opened in VS code

Issue Type: Bug
The issue is similar to the following issue. But here it is in windows:
https://github.com/microsoft/vscode/issues/25987
I have also raised an issue for the same
https://github.com/microsoft/vscode/issues/76409
A solution was provided to try with the latest insider and the issue persists. That issue is closed requesting for more info.
So raising another issue for the same. Have also attached the console log generated from the developer tools.
-1563200515068.log
VS Code version: Code - Insiders 1.37.0-insider (894056d11c7fffb261a0100fd4dcbf8cff84a8c0, 2019-07-15T05:26:27.959Z)
OS version: Windows_NT x64 10.0.15063

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (8 x 1800)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwareoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_deferred_display_list: disabled_offskia_renderer: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.86GB (10.91GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

@bpasero @mjbvz
Hi, Can u pls help me in fixing this issue?

@vinoth-sarsha what is your exact setup? are you opening a file from FTP?

This likely is https://github.com/microsoft/vscode/issues/73884


Support for unix socket

Which PikiwiDB functionalities are relevant/related to the feature request?
No response
Description
Support unix socket, scenario is directly locally using unix://var/run/pika/pika.sock
https://github.com/OpenAtomFoundation/pika/issues/414
because unix socket is faster and will be using custom proxy to proxy locally to pika.
using custom proxy to call pika instead of port. results should be faster by 2x. also local implementation of single pika instance will also be 2x faster.
Proposed solution
Support unix socket, scenario is directly locally using unix://var/run/pika/pika.sock
Alternatives considered
using default tcp but it's slow

i try simple change bind,it almost no different with use lo <IP_ADDRESS>
sockfd_ = socket(AF_UNIX, SOCK_STREAM, 0);
memset(&servaddr_un, 0, sizeof(servaddr_un));
char tmpPath[128];
memset(tmpPath,0,sizeof(tmpPath));
sprintf(tmpPath,"/tmp/pika_%s:%d",bind_ip.c_str(),port_);****


Anyway to avoid message been sent to spam folder?

You could try to assign the Content-Type explicitly as ' text/plain' of the header fields that is sent via script.
Apparently explicitly denoting the charset and type of the message helps .
Source Doc
msg = EmailMessage()
msg.set_content(message, subtype="plain", charset='us-ascii')

Note here the subtype="plain"
Although ,the spam filtering criteria is set by the mailing application , its unclear on what basis a mail falls into spam.
Most of the apps like Gmail have variety of filtering criteria , it decides if the mails are sent to inbox or spam folder.

Thanks

hey @John-Kiruba could you make the following changes

未提供描述。
注意标题的元素代码


Expose HTTP Filters

What
Expose HTTP request and response filters to developers using the library.
Why
Allow developers to implement their own custom logic for authenticating e.g. OAuth or using a Cookie.
How
Make Push and pull replication objects follow the builder pattern.
new PullReplication()
.addFilters(...)
.source(...)
.target(...)
.start();

Use CouchConfig to pass the list of filters down. As a result the Replicator.createCouchConfig(URI uriis now final, to ensure that when a config object is created it will have the filters.
Reviewers
reviewer @tomblench
reviewer @mikerhodes

This has been split into multiple PRs closing


Update greeting

Pipelines as Code CI/devfile-sample-python-basic-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
5 seconds
init

✅ Succeeded
19 seconds
clone-repository

✅ Succeeded
2 minutes
build-container

✅ Succeeded
6 seconds
sast-snyk-check

✅ Succeeded
5 minutes
clamav-scan

✅ Succeeded
1 minute
sbom-json-check

✅ Succeeded
1 minute
deprecated-base-image-check

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
5 seconds
show-sbom

✅ Succeeded
5 seconds
show-summary


Remove update program

It's useless and just takes up space.

Pushing this to Beta 3, it's an easy fix.

No bugs, feature implemented as of commit f7867bf.
Issue closed.

Issue NOT closed.
I wrongly referenced this issue.

Tested, and now, actually fixed.