Invalid authentication data with Tapo C210

Description
Unable to setup Tapo C210 via method below. Authentication error is returned.
Camera is set up with a camera account and stream is viewable in VLC and through the home assistant integration and motionEye addon with the same user and password.
rtsp://stefan:testpass@<IP_ADDRESS>:554/stream1 displays the stream in VLC
also cannot authenticate with pytapo using
tapo = Tapo(host, user, password)
tapo.getbasicinfo()
error as below
Reproduction Steps

Click add integration > Tapo: Cameras Control
Enter IP address ('<IP_ADDRESS>') for Tapo C210
Enter username ('stefan') and password ('testpass') from Camera Account
Error message returned as below.

Expected behavior
Setup of Tapo C210 device
If applicable, add error logs.
Errors message from integration GUI:
Invalid authentication data. Make sure you have created your 3rd party account via Tapo app. You can also test if these credentials work via rtsp stream, for example VLC using link rtsp://username:password@IP Address:554/stream1
Error message from pytapo:
Traceback (most recent call last):
File "C:\Users\Stefan\desktop\taporun.py", line 6, in
tapo = Tapo(host, user, password)
File "C:\Users\Stefan\AppData\Roaming\Python\Python39\site-packages\pytapo_init_.py", line 40, in init
self.basicInfo = self.getBasicInfo()
File "C:\Users\Stefan\AppData\Roaming\Python\Python39\site-packages\pytapo_init_.py", line 232, in getBasicInfo
return self.performRequest(
File "C:\Users\Stefan\AppData\Roaming\Python\Python39\site-packages\pytapo_init_.py", line 94, in performRequest
self.ensureAuthenticated()
File "C:\Users\Stefan\AppData\Roaming\Python\Python39\site-packages\pytapo_init_.py", line 60, in ensureAuthenticated
return self.refreshStok()
File "C:\Users\Stefan\AppData\Roaming\Python\Python39\site-packages\pytapo_init_.py", line 79, in refreshStok
raise Exception("Invalid authentication data")
Exception: Invalid authentication data
Device Firmware
1.1.13 Build 211209 Rel.21746n(4555)
Using stream component
No
Does camera work via official integrations?
Yes
Camera has all attributes filled out in developer tools
No
HASS Environment
HAOS in Virtualbox on Ubuntu
Search for similar issues
Yes
Additional information
No response

i have c210 and just got it work from the first time. Till now no problems.
Motion detection also works.
I think it can be added to support list

C210 is fully supported. Make sure you are entering correct credentials - the same as for the VLC when viewing RTSP stream.
Try also restarting camera or changing password to something else, maybe it has undocumented issues with special characters or something similar.

Just not in support list

I still have the same issue after change username, change password even restart camera many time

I still have the same issue after change username, change password even restart camera many time

Try to reinstall addon and remember that you have to enter cloud password as well for c210.

thanks for the respond @RestOp,  already try reinstalling the addon .  it working fine for few month only recently after i update camera firmware and my DECO M4  (network device) the intergration is not working. Then I delete the device and try add again got this error.

I have read about problems with new firmware, because of it i do not update it!

i think so, but with the new firmware the camera motion tracking is very good. Whent he camera detect motion it will follow the movement until camera out of reach.

I am using latest firmware without any issues on multiple Tapo C200. I cannot replicate this issue so you will need to help me with it.
Please refer to this post and try to authenticate via postman using the payload and http request detailed in the post. Let me know what response do you get from the camera.

I do not know if it is a bug, but if i do not enter (optional) Cloud password i also get an auth error

I think that is is a bug, because on c100 and c200 i did not entered cloud password!

@RestOp i hud your commment because its not related to this issue. Please keep discussion on topic.

@RestOp i hid your commment because its not related to this issue. Everything also works as expected like you described. Please keep discussion on topic.

Really, for few days i have added c210 and works till now fine.
But i still not able to update the settings, the symnptomes are the the same as topic starter described. Do i have to open a new issure?

Camera accepts / can generate a maximum number of auth tokens. Updating settings verifies added data by requesting a new token. This can fail when maximum number of tokens/connections are generated with the same error message as incorrect data.
To update your camera, you need to reduce total number of concurrent connections and reboot it.
If you need more help or think there is something not working, search through closed issues and if you do not find a solution open new issue.

@aljer78 @s-croot
Please update to 3.4.8 and add following to configuration.yaml:
logger:
  default: error
  logs:
    custom_components.tapo_control: debug

Restart home assistant and try to add the camera. Please post all the generated logs from this integration. Should look something like:
2022-03-27 22:06:25 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE] Setup process for tapo initiated by user.
2022-03-27 22:06:25 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE] Showing config flow for IP.
2022-03-27 22:06:30 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE] Verifying IP address
2022-03-27 22:06:30 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] Verifying port 443.
2022-03-27 22:06:30 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] Port 443 is opened, verifying access to control of camera.
2022-03-27 22:06:31 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] Verifying ports all required camera ports.
2022-03-27 22:06:31 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] All camera ports are opened, proceeding to requesting Camera Account.
...

@JurajNyiri Thanks for the response.  Below is the logs a requested.
2022-03-28 20:55:48 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE] Verifying IP address
2022-03-28 20:55:48 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] Verifying port 443.
2022-03-28 20:55:48 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] Port 443 is opened, verifying access to control of camera.
2022-03-28 20:55:48 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] Verifying ports all required camera ports.
2022-03-28 20:55:48 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] All camera ports are opened, proceeding to requesting Camera Account.
2022-03-28 20:55:48 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] Showing config flow for Camera Account.
2022-03-28 20:55:59 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] Verifying Camera Account.
2022-03-28 20:55:59 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] Verifying ports all required camera ports.
2022-03-28 20:55:59 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] All camera ports are opened.
2022-03-28 20:55:59 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] Testing RTSP stream.
2022-03-28 20:55:59 DEBUG (MainThread) [custom_components.tapo_control] [isRtspStreamWorking][<IP_ADDRESS>] Testing RTSP stream.
2022-03-28 20:55:59 DEBUG (MainThread) [custom_components.tapo_control] [isRtspStreamWorking][<IP_ADDRESS>] Creating image frame.
2022-03-28 20:55:59 DEBUG (MainThread) [custom_components.tapo_control] [isRtspStreamWorking][<IP_ADDRESS>] Encoding username and password.
2022-03-28 20:55:59 DEBUG (MainThread) [custom_components.tapo_control] [isRtspStreamWorking][<IP_ADDRESS>] Getting image from rtsp://HIDDEN_USERNAME:HIDDEN_PASSWORD@<IP_ADDRESS>:554/stream1.
2022-03-28 20:56:00 DEBUG (MainThread) [custom_components.tapo_control] [isRtspStreamWorking][<IP_ADDRESS>] Image data received.
2022-03-28 20:56:00 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] RTSP stream returned invalid authentication data error.
2022-03-28 20:56:00 DEBUG (MainThread) [custom_components.tapo_control] [ADD DEVICE][<IP_ADDRESS>] Showing config flow for Camera Account.

RTSP stream does not load correctly via Home Assistant.
Does RTSP stream work when you open rtsp://HIDDEN_USERNAME:HIDDEN_PASSWORD@<IP_ADDRESS>:554/stream1 via VLC? Replace HIDDEN_USERNAME and HIDDEN_PASSWORD with the exactly same string as you are putting into Camera Account username and password.

I do not try at VLC yet. I'll try and update the result.
Regarding the Camera Account, i already try create new username new password with the Tapo app . The result is same.

Please try with vlc or something else where you can put in the link to open stream, without it we cannot move forwards.

Vlc doesn’t work too..
User name : azrysyam
Password: watywaty77
Sent from my iPhone

On 28 Mar 2022, at 9:57 PM, Juraj Nyíri @.***> wrote:

Please try with vlc or something else where you can put in the link to open stream, without it we cannot move forwards.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

noted

@JurajNyiri i found the culprit already.

In case anyone if having this issue as well. Check that no other connection is being made to the camera at setup time or else it won't let it configure.
I have 2 C200 and one C210. The C200 had no issues in configuration but I was not able to add the C210 with the right credentials. All three of them are in use with Frigate. I had to stop Frigate to kill the connection to the C210 and attempt to add it again. This time it let me add it without issues.
I don't use the streams from this integration but the WebRTC ones from Frigate. I use this integration to control every other aspect of the camera. Therefore I don't mind not having a working stream in this integration but it is something to keep in mind for other people.


💡 [Feature]: Manage cdn

💡 Idea
I was thinking to adding a totally new section/view to the activity bar "CDN" which would allow to manage Office 365 Content Delivery Network (CDN) with SharePoint Online (get, set, remove, set policy etc) cdn using CLI for Microsoft 365
For that we could use the following CLI commands
https://pnp.github.io/cli-microsoft365/cmd/spo/cdn/cdn-origin-add
https://pnp.github.io/cli-microsoft365/cmd/spo/cdn/cdn-origin-list
https://pnp.github.io/cli-microsoft365/cmd/spo/cdn/cdn-get/
... etc
docs
https://learn.microsoft.com/en-us/microsoft-365/enterprise/use-microsoft-365-cdn-with-spo?view=o365-worldwide
The main drawback is that we introduce additional view and the toolkit has already multiple views that take a lot of space 🤔. Maybe we should think of alternatives.

Before we spend more time on researching or prototyping this we should check with the community would such a feature be helpful and used

let's close it up. We may always reconsider and get back to this idea in future if needed


Make sure that the class name is correct when we have sub-classes

The ClassInfo class currently gets the name of the class whenever a ClassDeclaration is visited. I'd say we need a lock there to make sure we only get the name of the main class.

Done with PR #26!


[#4272] refactor attributeMap

refactor attributemap
add remoteAddress to serverRequest

Codecov Report

Merging #4291 into master will increase coverage by 0.03%.
The diff coverage is 73.33%.

@@            Coverage Diff             @@
##           master    #4291      +/-   ##
==========================================
+ Coverage    41.1%   41.13%   +0.03%
==========================================
  Files        2384     2385       +1
  Lines       74547    74572      +25
  Branches    10080    10084       +4
==========================================
+ Hits        30639    30672      +33
+ Misses      41090    41080      -10
- Partials     2818     2820       +2

Impacted Files
Coverage Δ

...r/receiver/udp/ChunkedUDPPacketHandlerFactory.java
0% <0%> (ø)
:arrow_up:

...rcorp/pinpoint/io/request/DefaultAttributeMap.java
100% <100%> (+100%)
:arrow_up:

...rcorp/pinpoint/io/request/DefaultAttributeKey.java
71.42% <71.42%> (ø)

.../collector/receiver/udp/BaseUDPHandlerFactory.java
52.5% <75%> (+2.5%)
:arrow_up:

...ollector/receiver/tcp/DefaultTCPPacketHandler.java
62.5% <80%> (+2.03%)
:arrow_up:

...vercorp/pinpoint/rpc/packet/ClientClosePacket.java
55.55% <0%> (-11.12%)
:arrow_down:

...pc/server/LoggingServerMessageListenerFactory.java
90% <0%> (-10%)
:arrow_down:

...tor/metric/datasource/DefaultDataSourceMetric.java
75.75% <0%> (-3.04%)
:arrow_down:

...navercorp/pinpoint/rpc/common/SocketStateCode.java
82.92% <0%> (-2.44%)
:arrow_down:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
79.37% <0%> (-1.75%)
:arrow_down:

... and 10 more

Continue to review full report at Codecov.

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


Kapacitor not running

I am trying to set up Kapacitor on my localhost (Mac OS-X). I am following the steps as mentioned in the following link: https://docs.influxdata.com/kapacitor/v0.13/introduction/installation/
My InfluxDB and my telegraf are running and they are working properly as well. I can also see the data getting collected in InfluxDB being sent by Telegraf. However, when I start up Kapacitor, it gives me the following messages and I am not sure if this is the way Kapacitor is meant to function.
'##:::'##::::'###::::'########:::::'###:::::'######::'####:'########::'#######::'########::
 ##::'##::::'## ##::: ##.... ##:::'## ##:::'##... ##:. ##::... ##..::'##.... ##: ##.... ##:
 ##:'##::::'##:. ##:: ##:::: ##::'##:. ##:: ##:::..::: ##::::: ##:::: ##:::: ##: ##:::: ##:
 #####::::'##:::. ##: ########::'##:::. ##: ##:::::::: ##::::: ##:::: ##:::: ##: ########::
 ##. ##::: #########: ##.....::: #########: ##:::::::: ##::::: ##:::: ##:::: ##: ##.. ##:::
 ##:. ##:: ##.... ##: ##:::::::: ##.... ##: ##::: ##:: ##::::: ##:::: ##:::: ##: ##::. ##::
 ##::. ##: ##:::: ##: ##:::::::: ##:::: ##:. ######::'####:::: ##::::. #######:: ##:::. ##:
..::::..::..:::::..::..:::::::::..:::::..:::......:::....:::::..::::::.......:::..:::::..::

2016/08/10 08:55:51 Using configuration at: kapacitor.conf
[run] 2016/08/10 08:55:51 I! Kapacitor starting, version 0.13.1, branch unknown, commit ae7dde3aa467c46c06a5a2058a80c6125203f599
[run] 2016/08/10 08:55:51 I! Go version go1.6.2, GOMAXPROCS set to 8
[srv] 2016/08/10 08:55:51 I! Kapacitor hostname: localhost
[srv] 2016/08/10 08:55:51 I! ClusterID: 616a5d39-8407-4e0d-9896-bd1c61e0456d ServerID: 40047d04-5f6f-44cb-a696-106ec20b4d75
[task_master] 2016/08/10 08:55:51 I! opened
[influxdb] 2016/08/10 08:55:51 I! linking subscriptions
[udp:mydb.default] 2016/08/10 08:55:51 I! Started listening on UDP: <IP_ADDRESS>:52522
[influxdb] 2016/08/10 08:55:51 I! started UDP listener for mydb default
[udp:kapacitor_example.default] 2016/08/10 08:55:51 I! Started listening on UDP: <IP_ADDRESS>:52523
[influxdb] 2016/08/10 08:55:51 I! started UDP listener for kapacitor_example default
[udp:_internal.monitor] 2016/08/10 08:55:51 I! Started listening on UDP: <IP_ADDRESS>:52520
[influxdb] 2016/08/10 08:55:51 I! started UDP listener for _internal monitor
[udp:telegraf.default] 2016/08/10 08:55:51 I! Started listening on UDP: <IP_ADDRESS>:52521
[influxdb] 2016/08/10 08:55:51 I! started UDP listener for telegraf default
[task_store] 2016/08/10 08:55:51 W! could not open old boltd for task_store. Not performing migration. Remove the `task_store.dir` configuration to disable migration.
[stats] 2016/08/10 08:55:51 I! opened service
[httpd] 2016/08/10 08:55:54 I! Starting HTTP service
[httpd] 2016/08/10 08:55:54 I! Authentication enabled: false
[udp:mydb.default] 2016/08/10 08:55:54 I! Service closed
[udp:kapacitor_example.default] 2016/08/10 08:55:54 I! Service closed
[udp:_internal.monitor] 2016/08/10 08:55:54 I! Service closed
[udp:telegraf.default] 2016/08/10 08:55:54 I! Service closed
[stats] 2016/08/10 08:55:54 I! closed service
[httpd] 2016/08/10 08:55:54 I! Closed HTTP service
[task_master] 2016/08/10 08:55:54 I! closed
[run] 2016/08/10 08:55:54 E! open server: open service *httpd.Service: listen tcp :9092: bind: address already in use
run: open server: open service *httpd.Service: listen tcp :9092: bind: address already in use

I can also post my config file for Kapacitor, but I think it's correctly configured. I am asking this, because when I proceed to configure Kapacitor with Alerta, it doesn't work properly, even though Alerta is working fine in standalone.
Is there something that I am missing?

open service *httpd.Service: listen tcp :9092: bind: address already in use

What is already listening on that port? Do you have a rouge kapacitor process still running or something else?

So, I tried seeing which service is already running on that port.  I even tried stopping it using the Activity Monitor in my mac, but it continues each time with a different PID. It doesn't seem to stop. How do  I do it?
I even tried seeing my influxDB logs after this, and it shows connection refused constantly.

but it continues each time with a different PID

My guess is you have some service management system that keeps turning on the kapacitord process.

Probably this might be the issue. Is there any way then I can stop it and maybe restart it with its correct configuration?
Also, in the installation guide, it mentions the way to start kapacitor using the config file. Is there any way to stop kapacitor too? Like maybe, sudo service kapacitor stop? Something like this? Other than manually killing the kapacitor process.

Hi
I have been able to terminate the rogue kapacitor process, and I am now able to run kapacitor properly. My influxdb is set up correctly, my kapacitor starts up properly, I am making the default configuration file for kapacitor using: kapacitord config > kapacitor.conf.
Following the guide at the link, "https://docs.influxdata.com/kapacitor/v0.13/introduction/getting_started/", I make the exact same cpu_alert.tick, but, when I run it, it doesn't capture any data.  Alternatively since it seems that you are just getting started I would recommend using the latest 1.0 beta release as it has support for HTTP based subscriptions that are much easier to use and configure, as well as many other improvements bug fixes.

Alright, thanks. I think this is resolved.


ping problem

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I have searched the existing issues and I am convinced that mine is new.

Describe the bug
Hi,
I'm sorry in advance for maybe a false positive as a bug or if it is a problem in my configuration
And I'm sorry if I'm not going to be clear enough but I've past a whole working day to debug this with a fierce member of your community who will take part on this bug report as a point of comparison and  we can't agree on how it works or should work since we have both very different result.
I'm going also to leave aside another problem  which is affected by this "potential" bug, this part being a tunnel in a tunnel and this specific case an openvpn tunnel in a wireguard tunnel.
So as you can imagine it's going to be complex, confused but I'm trying my best here to be concise but you need the context.
My point of view is : a ping starting from the firewall itself going through a tunnel (-S ip parameter) should not be appearing on a tcpdump that I do at the same time on the WAN.
I have currently 5 vpn link. 1 wireguard created with the PIA script from jonny, and  4 openvpn link. The wireguard tunnel is a bit spotty and doesn't work correctly all the time for the tunnel in a tunnel part but for the ping itself it's working as the 4 other openvpn links. I'm trying the create a new wireguard link to njalla provider and it's not acting the same way.
Jonny showed me something that I didn't notice, your live logs tells us that it goes through WAN, but it goes not for me according to tcpdump (which is what I want). And since we don't have the same result I'm presenting you with this problem.
I'm going to open 2 other github issues, one with the interface and wireguard and the other one following this one about tunnel in a tunnel where you can clearly see in rules.debug that there is a problem where the firewall doesn't apply the same policy.
Tip: to validate your setup was working with the previous version, use opnsense-revert (https://docs.opnsense.org/manual/opnsense_tools.html#opnsense-revert)
Expected behavior
My point of view is : a ping starting from the firewall itself going through a tunnel (-S ip parameter) should not be appearing on a tcpdump that I do at the same time on the WAN.
Describe alternatives you considered
created several times the same link and destroying it and rebooting
Screenshots

I'm going to proceed with a ping to : <IP_ADDRESS>
through WAN ping screen and tcpdump

ping through an openvpn link which should not appear on tcpdump but also not on live log

ping through the pia wireguard same thing

the summary through live log which is already surprising to me since why would it be considered as going through WAN?

ping through the new wireguard link to njalla

as you can see this is going through WAN
summary of the live logs

configuration screen of firewall just in case:

configuration of wireguard interfaces

Relevant log files
rules.txt
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            <IP_ADDRESS>        UGS      vtnet1
<IP_ADDRESS>            <IP_ADDRESS>         UGHS        wg1
<IP_ADDRESS>            <IP_ADDRESS>        UGHS        wg0
<IP_ADDRESS>            <IP_ADDRESS>          UGHS     ovpnc3
<IP_ADDRESS>/24      <IP_ADDRESS>         UGS      ovpnc2
<IP_ADDRESS>         link#15            UH       ovpnc2
<IP_ADDRESS>        link#15            UHS         lo0
<IP_ADDRESS>         wg1                UHS         wg1
<IP_ADDRESS>        link#18            UHS         lo0
<IP_ADDRESS>/32     link#18            U           wg1
<IP_ADDRESS>/16       <IP_ADDRESS>          UGS      ovpnc3
<IP_ADDRESS>          link#16            UH       ovpnc3
<IP_ADDRESS>          link#16            UHS         lo0
<IP_ADDRESS>        wg0                UHS         wg0
<IP_ADDRESS>      link#17            UHS         lo0
<IP_ADDRESS>/32   link#17            U           wg0
<IP_ADDRESS>     <IP_ADDRESS>         UGHS     ovpnc2
<IP_ADDRESS>      <IP_ADDRESS>         UGHS     ovpnc2
<IP_ADDRESS>      link#14            UHS         lo0
<IP_ADDRESS>       <IP_ADDRESS>         UGHS     ovpnc2
<IP_ADDRESS>/26    <IP_ADDRESS>       UGS      ovpnc4
<IP_ADDRESS>       link#13            UH       ovpnc4
<IP_ADDRESS>      link#13            UHS         lo0
<IP_ADDRESS>          link#10            UH          lo0
<IP_ADDRESS>/28      link#1             U        vtnet0
<IP_ADDRESS>         link#1             UHS         lo0
<IP_ADDRESS>/28     link#3             U        vtnet2
<IP_ADDRESS>        link#3             UHS         lo0
<IP_ADDRESS>/28     link#4             U        vtnet3
<IP_ADDRESS>        link#4             UHS         lo0
<IP_ADDRESS>/28     link#5             U        vtnet4
<IP_ADDRESS>        link#5             UHS         lo0
<IP_ADDRESS>/28     link#6             U        vtnet5
<IP_ADDRESS>        link#6             UHS         lo0
<IP_ADDRESS>/28     link#7             U        vtnet6
<IP_ADDRESS>        link#7             UHS         lo0
<IP_ADDRESS>/28     link#8             U        vtnet7
<IP_ADDRESS>        link#8             UHS         lo0
<IP_ADDRESS>/25     link#2             U        vtnet1
<IP_ADDRESS>       link#2             UHS         lo0
<IP_ADDRESS>    link#14            UH       ovpnc1

Additional context
I would like if possible some clarifications:
1/ should we or should we not see those packets in live logs? If yes why through WAN?
2/ should we see it on tcpdump or not?
3/ What's the path that is taking a packet here. Because if it's going through a secure link I would expect that some part of the system like the WAN interface would not see it since it's none of its business. Or then there must be a good logical reason about it and why we have such differences.
Environment
Software version used and hardware type if relevant, e.g.:
OPNsense 21.1.5-amd64
FreeBSD 12.1-RELEASE-p16-HBSD
OpenSSL 1.1.1k 25 Mar 2021
A VM in qemu fedora server 34 up to date on i7 6700k

I can understand that you could think that a for support community @AdSchellevis but it is really not. You can't have different results on same configuration. So unless you did see directly where was the problem I would like you take a moment  and that you would be presented all the facts including the presentation of https://github.com/FingerlessGlov3s
thanks in advance

If it' s not a clear bug, usually tickets are labelled community support. about 80% of issues like this relate to reply-to or route-to by the way.

@AdSchellevis i totally understand your point and yes it is complicated bug. But if it is complicated and not a clear bug, maybe you could sustain the possibility that it might be one, since there has not been incremental changes behind the scenes, that we have 2 different results in a same scenario and that later you will have a counter-comparaison of what's happening and finally that you have already multiple brains looking over it.
So yeah sorry there is no error messages, but as a dev I know also pretty well that every single scenario isn't noticed by an error message. Especially in this specific context of a firewall where the firewall will always try to find the way to manage to pass the packet if not tell otherwise.
So again, I m telling you there might be a bug so just labeling falsely isn't making your platform evolve.

It’s not false labelling. It’s part of the triage process. It can be changed as more information is uncovered. Please don’t make unfounded assumptions.

Just FYI if you really want to exclude that as a bug and when you have the time, you can simply tell me what you would need of course as log or otherwise. I guess it should be simple for your to find where the problem resides since it's a simple configuration enough.

When you compare wg0/wg1 to ovpnc2 on the rules, the route-to is all the same apart from interface names of course, yet ovpnc2 is acting differently to wg1. Could this be due the OpenVPN implementation of the ovpnc2 interface? But then why is wg0 giving different results to wg1. Yet again the pf rules are the same.
On my PIA setup guide which @boistordu has followed, my OPNsense setup doesn't work like this as I get the same result as per wg1, on both my physical OPNsense and my Virtual OPNsense, setup as per my guide.
The routing table is also as you would expect default gateway via the main WAN.

Well, policy based routing is the thing that will keep a packet on a specific interface in these cases, if the policy rule won't match it will logically use the wan interface.
It might be an option to use "Dynamic gateway policy" on the interface and prevent the use of far gateways (the /32 on wg1 might interfere), although a development version might be needed (see also https://github.com/opnsense/core/issues/4905).
An expectable difference between the openvpn configuration and the wireguard one could be that the machine has a clear path to the gateway (likely not a far gateway).
I can't really spend a lot more (community support) time on tracking this down, but if someone can isolate and reproduce a case which can't be fixed with configuration, we can always reclassify this ticket  as a bug as @fichtner already stated.

okey to put everything agreed on,
I would at least know a few things because we clearly not agreeing on several concepts here and I don't like to work for nothing just because people that actually know what should be the behavior are assuming that the others should know too and as a result are treating the rest of the masses as stupid:

From when I learned networking whether it's at cisco or somewhere else:
when a tunnel is established and so the virtual interface is created, the ping which is a diagnostic tool, when specified to come from somewhere whether it's the interface or whether it's from the ip source of this same interface it should not be bothered by anything else, especially not internal routing, and even if there is no connectivity on this interface, the icmp packet would just be lost. end of story.
The other thing that I've learned  is that tcpdump is always right because it's in front of everything.

So from that start, I would like an answer to the few little simple questions that I'm going to ask.
1/ what should be the normal behavior  for a ping coming from the firewall and where you've specified in the CLI that you wanted it to come from the source address? because I've specified each time the ip source of the encrypted tunnel which the WAN is not supposed to be able to read and tell anything about the packet. It would just know that there is activity on the encrypted tunnel?
2/ why your live logs are specifying WAN as an exit point where tcpdump is clearly showing (and the tcpdump screenshots are not a mistake, they are all different actually,taken at every single stages, so if they are showing the same thing it's because there is no activity registered on the vtnet1) that it's not going through wan?
3/ At which stage are positioned your live logs?
And it's totally fine to tell me that I'm a morron maybe and that I'm all wrong about it but I think I've proven with all the time I've put into this and all the efforts that at least I deserved an explanation and or a rectification about my assumptions.
Thanks in advance

1/ I know that it doesnt work with Route based tunnels, maybe disable Force Gateway may help here. Never investigated If it the OS itself or a of rule

That you will need to define for me because for me everything is routing and ip. So I don't really understand what you mean by that

any news on that matter please?

@boistordu this commit 286000d could solve the problem


Make usage of  in headers not ugly on small device screens

This is similar to
Make usage of <code> in headers not ugly #34
and fixes the issue for small screens.
The base font size is 14px, the size of code and pre elements is supposed to be 11px.
11/14 = 0.7(857142857142), 0.7857 seems to be the good place to truncate it.
So for 14px base size code and pre size will be
14px*0.7857 = 10,9998px which is very close to 11px.
Before the fix:

After the fix:

@toughengineer I stumbled on this PR and saw that there were failing checks, but I could not check. Maybe, you can add a commit to rigger the checks again?

@koppor, here you go.
No idea about the failing checks.

For the record, this is the error:
HTML-Proofer finished successfully.
Inspecting 3 files
..W

Offenses:

script/validate-html:23:40: W: [Correctable] Lint/RedundantStringCoercion: Redundant use of Object#to_s in puts.
  results.errors.each { |err| puts err.to_s }
                                       ^^^^

3 files inspected, 1 offense detected, 1 offense autocorrectable


Removed image that doesn't exist anymore from the Readme.md

Image was taken from stillmaintained.com, which doesn't exist anymore.

This has been implemented in the 2.0 branch of assetic-php/assetic. Until we tag 2.0, you can pull it in by using "assetic/framework": "dev-2.0/dev" in your composer.json files.


Chapter 2 of BDA3

I would like to add this chapter to the main repository.
There are two examples in this chapter:

Example. Probability of a girl birth given placenta previa.
Estimating a rate from Poisson data: an idealized example.

I have used pymc3 to reproduce the results. If anyone has suggestions (either code or English), I'd like to hear them!

LGTM! Thank you for this PR! A couple of nitpicks, there is no need to write plt.show(), PyMC3 has a triangular distribution could you use it?
the last one is a general doubt I hav and is not restricted to this PR. Should we use fstrings? I love them but that means the code only will run with Python >3.6

Ok, I have deleted the lines with plt.show() and I have not used f-strings. The custom distribution is
def triangular(central_num, width):

    left_num = central_num - width
    right_num = central_num + width
    theta = pm.Triangular('theta', lower=left_num, upper=right_num, c=central_num)

#     Comment these lines to see some changes
    if tt.lt(left_num, theta):
        theta = pm.Uniform('theta1', lower=0, upper=left_num)
    if tt.gt(right_num, theta):
        theta = pm.Uniform('theta2', lower=right_num, upper=1)

    return theta

I have not changed a line in the code, although the result (the mean of the posterior distribution) is different if you comment those lines.

LGTM!

Done.

Thanks @rosgori


TaskCanceledException

Getting a weird exception with Dynamics 365. This exception happens when a new connection is initiated.

Thanks for report. Which version are you using?


Make color constants instances of the Color class from the colour module

From the original issue:

Seeing how the natural trend is to go towards convenience, I think they should be defined as constants. Furthermore, they should be instances of the Color class from the colour module (or @marcin-serwin's fork).

The Colour module

This issue was fixed in PR #9, will close.


找回密码

#27

@jijiechen 已修复

Codecov Report

Merging #35 into dev will increase coverage by 0.81%.
The diff coverage is 99.6%.

@@            Coverage Diff             @@
##              dev      #35      +/-   ##
==========================================
+ Coverage   81.86%   82.68%   +0.81%
==========================================
  Files         156      163       +7
  Lines        5008     5214     +206
  Branches       96       96
==========================================
+ Hits         4100     4311     +211
+ Misses        828      823       -5
  Partials       80       80

Impacted Files
Coverage Δ

src/Discussion.Core/Mvc/HttpContextExtensions.cs
100% <ø> (ø)
:arrow_up:

...scussion.Web/ViewModels/ChangePasswordViewModel.cs
100% <ø> (ø)
:arrow_up:

src/Discussion.Core/ViewModels/UserViewModel.cs
100% <ø> (ø)
:arrow_up:

...nagement/Identity/EmailConfirmationTokenOptions.cs
100% <ø> (ø)
:arrow_up:

...ChatHistoryImporting/DefaultChatHistoryImporter.cs
95.85% <ø> (ø)
:arrow_up:

...re/Communication/Sms/SmsSenders/AliyunSmsSender.cs
94.36% <ø> (ø)
:arrow_up:

...Discussion.Web/Views/Account/ForgotPassword.cshtml
100% <100%> (ø)

src/Discussion.Web/Controllers/UserController.cs
100% <100%> (ø)
:arrow_up:

src/Discussion.Web/ViewModels/UserEmailToken.cs
100% <100%> (ø)
:arrow_up:

...ilConfirmation/DefaultResetPasswordEmailBuilder.cs
100% <100%> (ø)

... and 24 more

Continue to review full report at Codecov.

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


Adding docs/requirements.txt to allow RTD local deps.

Already updated the settings on RTD:

Followed the format suggested for pip: https://pip.pypa.io/en/latest/reference/pip_install/#requirements-file-format

I'm going to merge pre-Travis since the only changed file has no impact on the build:
$ git ls-files | grep requirements
appveyor/requirements.txt
docs/requirements.txt
$ git grep requirements
CONTRIBUTING.rst:   >   --package=datastore --ignore-requirements
CONTRIBUTING.rst:   Sphinx and all development requirements in your virtualenv::
appveyor.yml:  - "%CMD_IN_ENV% pip install -r appveyor/requirements.txt"
system_tests/run_emulator.py:                         ignore_requirements=True)
system_tests/run_system_test.py:        '--ignore-requirements',
system_tests/run_system_test.py:        dest='ignore_requirements', action='store_true',
system_tests/run_system_test.py:def run_module_tests(module_name, ignore_requirements=False):
system_tests/run_system_test.py:    if not ignore_requirements:
system_tests/run_system_test.py:                         ignore_requirements=args.ignore_requirements)

I am jumping the gun on the merge because I'm not sure if RTD needs core/ or ../core/ as the path (or maybe neither will work, which would be sad).

Here is the build that was created: https://readthedocs.org/projects/google-cloud-python/builds/4447899/

Bad news: Build failed
Good news: It failed because bigquery was first and relies on core so changing the order should fix everything!


Cancel touches when touch moved in .Possible state

Cancel touches when finger moved before delayedFirstTouch. Without this code there was a posibility of valid touch (through isTouchValid) on larger views. Especially painful on tableViews and collectionViews

Good idea. Thanks @hansstefan!


[EUWE] Change VMware console api detection from vCenter to ESXi Host

This resolves an issue where a VM on a 5.5 Host was not reachable by a VNC console when the Host was in a cluster in vCenter 6.5.
Euwe backport of https://github.com/ManageIQ/manageiq-ui-classic/pull/3256
@miq-bot add_labels bug, blocker, compute/infrastructure
https://bugzilla.redhat.com/show_bug.cgi?id=1565776

@h-kataria could you test?

@simaishi looks good.

@bmclaughlin This Travis error seems related to this PR?
  2) ApplicationHelper#build_toolbar_disable_button when record class = Vm and id = vm_vnc_console VM on VMware API > 6
     Failure/Error: expect(subject).to eq("The web-based VNC console is not available on VMware versions 6.5 and above.")

       expected: "The web-based VNC console is not available on VMware versions 6.5 and above."
            got: false

       (compared using ==)
     # ./spec/helpers/application_helper/toolbar_builder_spec.rb:1698:in `block (5 levels) in <top (required)>'

Thanks @simaishi, I missed that when I was looking at the Travis failures.  I'll get an update in for that in a couple hours.

@simaishi, fixed that Travis error.  The other errors look to be unrelated.


Don't run tests twice when releasing a tag

Shipping a release currently runs the tests twice: https://travis-ci.org/simonw/datasette/builds/611463728
It does a regular test run on Python 3.6/7/8 - then the "Release tagged version" step runs the tests again before publishing to PyPI! This second run is not necessary.

Here's why: the pytest invocation is part of the script block shared by all of the stages:
https://github.com/simonw/datasette/blob/b51f258d00bb3c3b401f15d46a1fbd50394dbe1c/.travis.yml#L11-L14

I fixed this in 5e0b72247ecab4ce0fcec599b77a83d73a480872


the top bar is bugging

nvm wrong thing

Issue was meant for System24, @refact0r seems you can close this one


Manully change work item type using SQLs.

add the field:

			"system.remote_item_id": app.FieldDefinition{Type: &app.FieldType{Kind: "string"}, Required: false},

update the list of also contain open

"system.state": app.FieldDefinition{
				Type: &app.FieldType{
					BaseType: &stString,
					Kind:     "enum",
					Values:   []interface{}{"new", "open", "in progress", "resolved", "closed"},
				},
				Required: true,

( till we solve : https://github.com/almighty/almighty-core/issues/272 )

@sbose78 You can use this query to make DB as expected.
Added new field - system.remote_item_id and modified state field to have new state.
update work_item_types set fields = '{"system.state": {"Type": {"Kind": "enum", "Values": ["new", "open", "in progress", "resolved", "closed"], "BaseType": {"Kind": "string"}}, "Required": true}, "system.title": {"Type": {"Kind": "string"}, "Required": true}, "system.creator": {"Type": {"Kind": "user"}, "Required": true}, "system.assignee": {"Type": {"Kind": "user"}, "Required": false}, "system.description": {"Type": {"Kind": "string"}, "Required": false}, "system.remote_item_id":{"Type":{"Kind":"string"}, "Required": false}}'

Thank you so much @pranavgore09  ! Could you tell me if applying these SQLs are breaking the tests/functionality in the existing codebase? Just want to note down if these SQLs are backward compatible with the code we have.

@sbose78 : We will verify that.
fyi - I have updated my comment above.

@sbose78  : We(with @baijum ) have tested that, SQL changes are not breaking make test-all.
We tried updating DB and running tests on upstream/master - success
We tried updating DB and then running tests on #264  - success

Hi @maxandersen :
As per our hipchat conversation, this is the SQL which we plan to execute manually to be able to merge #264 .
Hi @kwk , @kbsingh
( see comments above )
The SQLs above needs to be applied in order to have an error free merge of #264
Let me know your thoughts. :)

@sbose78 I almost have the migration code ready to work. But I'm killing some bugs still.

Thanks @kwk , please take your time - I have the demo recorded and ready ( based on my branch ).

@sbose78 Please see #278 and do the following to check that your changes work:
Create a file migration/sql-files/001-fix-273.sql and place the SQL code you wish to be executed in that file.
Then find these lines in the migration/migration.go file:
// Version 0
migrations = append(migrations, []Func{executeSQLFile("000-bootstrap.sql")})

Below those lines add these lines:
// Version 1
migrations = append(migrations, []Func{executeSQLFile("001-fix-273.sql")})

That is all you have to do. Then compile (make build) and start the core as usual. The first time you start the core, the changes should be applied. Afterwards, the version table in postgres is updated and the migration won't run again.

Sounds like this should be part of the Base type; https://github.com/almighty/almighty-core/issues/288


Option to return headers with ReportParser() and records() methods

I'm trying to figure this out at the moment. It would be a useful feature.

Solved. Use the _get_field_labels() method or the following:
import salesforce_reporting

reportid = 'xxxxxxxxxxx'

sf = salesforce_reporting.Connection(username='xxxxxxx', password='xxxxxxx', security_token='xxxxxxxxxx')

report = sf.get_report(reportid)

parser = salesforce_reporting.ReportParser(report)

column_details = parser.data["reportExtendedMetadata"]["detailColumnInfo"]

cols = {key: column_details[value]["label"] for key, value in enumerate(columns)}

Here is how I solved it:
`
import salesforce_reporting
sf = salesforce_reporting.Connection(
username=os.getenv('SALESFORCE_USERNAME'),
password=os.getenv('SALESFORCE_PASSWORD'),
security_token=os.getenv('SALESFORCE_TOKEN'))
report = sf.get_report(report_id, details=True)
parser = salesforce_reporting.ReportParser(report)
items = parser.records()
labels = parser._get_field_labels()
headers = [labels[i] for i in labels]
items.insert(0, headers)
"items" now has the headers as the first row and can be safely saved as a CSV
`


data-sveltekit-preload-data breaks export const trailingSlash

Describe the bug
Adding data-sveltekit-preload-data="hover" or data-sveltekit-preload-data="tap" to app.html in any SvelteKit project makes trailing slash behavior go away. Reloading fixes the redirect, but clicking a link does not trigger a redirect.
Reproduction

Go to https://learn.svelte.dev/tutorial/trailingslash
Click "solve"
Open app.html
Change line 79 to <body data-sveltekit-preload-data="hover">
Observe that trailing slashes are not kept/removed anymore

Logs
No response
System Info
System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 16.14.2 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 7.17.0 - /usr/local/bin/npm
  npmPackages:
    @sveltejs/adapter-auto: ^1.0.0 => 1.0.2
    @sveltejs/kit: ^1.0.0 => 1.3.10
    svelte: ^3.54.0 => 3.55.1
    vite: ^4.0.0 => 4.1.1

Severity
annoyance
Additional Information
No response

Nice discovery! I encountered the same issue in https://github.com/sveltejs/kit/issues/8842 but had no idea it could have been caused by that attribute.


brew --prefix formula too slow

Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.
Please always follow these steps:

[x] Confirmed this is a problem with running a brew command and not brew installing or the post-install behaviour of one or more formulae? If it's a formulae-specific problem please file this issue at the relevant tap e.g. for Homebrew/homebrew-core https://github.com/Homebrew/homebrew-core/issues/new
[x] Ran brew update and retried your prior step?
[x] Ran brew doctor, fixed all issues and retried your prior step?
[x] Ran brew config and brew doctor and included their output with your issue?

To help us debug your issue please explain:
Calling brew --prefix formula takes half second, example:
$ time brew --prefix
/usr/local

real    0m0.032s
user    0m0.011s
sys     0m0.014s

$ time brew --prefix readline
/usr/local/opt/readline

real    0m0.532s
user    0m0.329s
sys     0m0.136s

I'm trying to write automated scripts using the formulas on brew.
For now, I'm work-arounding the issue by using the result of that call in my machine but I can't rely on that for non-my-machine scripts.
Features
Please replace this section with:

a detailed description of your proposed feature
the motivation for the feature
how the feature would be relevant to at least 90% of Homebrew users
what alternatives to the feature you have considered

We will close this issue or ask you to create a pull-request if it's something we're not actively planning to work on.

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
  /usr/local/include/wkhtmltox/image.h
  /usr/local/include/wkhtmltox/pdf.h

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  ruby

$ brew config
HOMEBREW_VERSION: 1.3.5
ORIGIN: https://github.com/Homebrew/brew.git
HEAD: 91ab116ace7f4f97d3440190463c93be9ec6d675
Last commit: 9 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: e9f6189c7393fc6d5d8179cc386bfa84fbbdb095
Core tap last commit: 2 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: quad-core 64-bit haswell
Homebrew Ruby: 2.3.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/bin/ruby
Clang: 9.0 build 900
Git: 2.14.1 => /usr/local/bin/git
Perl: /usr/local/bin/perl => /usr/local/Cellar/perl/5.26.0/bin/perl
Python: /usr/local/opt/python/libexec/bin/python => /usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /Users/sobrinho/.rbenv/shims/ruby => /Users/sobrinho/.rbenv/versions/2.4.2/bin/ruby
Java: 1.8.0_102
macOS: 10.12.6-x86_64
Xcode: 9.0.1
CLT: <IP_ADDRESS>.1.1506734476
X11: N/A

See https://github.com/Homebrew/brew/issues/3097#issuecomment-325206329

Also, as mentioned in https://github.com/Homebrew/brew/issues/3007#issue-248196472, you can try brew prof --prefix to profile and get some insight into how to speed it up.

Also, dirname $(dirname $(which brew)) is approximately twice as fast.

And dirname $(dirname $(type -p brew)) is a bit faster than that.


Numerical operations with empty DataArrays fail

We're running into this a fair amount at the moment, and so constantly having to check whether DataArrays are empty before multiplying them together:
In [6]: a=xr.DataArray([[]])

In [7]: b=xr.DataArray([[1,2,3]])

In [8]: a*b
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-8-8201c27d19b7> in <module>()
----> 1 a*b

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/xarray/core/dataarray.py in func(self, other)
   1182                 if empty_indexes:
   1183                     raise ValueError('no overlapping labels for some '
-> 1184                                      'dimensions: %s' % empty_indexes)
   1185             other_variable = getattr(other, 'variable', other)
   1186             other_coords = getattr(other, 'coords', None)

ValueError: no overlapping labels for some dimensions: ['dim_1']

Is the failure a useful one? If it's taking an inner join, isn't it OK to return an empty result if there are no matching labels?
FWIW Pandas & Numpy both allow this:
In [12]: pd.Series()*pd.Series()
Out[12]: Series([], dtype: float64)

In [13]: pd.DataFrame()*pd.DataFrame()
Out[13]:
Empty DataFrame
Columns: []
Index: []

In [16]: np.asarray([])*np.asarray([])
Out[16]: array([], dtype=float64)

I would be OK with changing this. This would be pretty straightforward and almost entirely backwards compatible.
My original thought was that was that raising an error would more immediately identify cases where the user didn't have compatible coordinates to both arrays, because in many (most?) cases this does indicate an error in the original code. Given that concern, we might consider switching the error to only occur if both of the original dimensions were not size 0. On the other hand, making things more complex is usually not the solution :).


Bug in createColumnMap

type DeepPermission struct {
		IDStr string `json:"id"`
		Sep   string `json:"sep"`
	}

	type Permission struct {
		DeepPermission

		IDStr       string    `json:"id" db:"id"`
		Name        string    `json:"name" db:"name"`
		Description string    `json:"description" db:"description"`
		CreatedAt   time.Time `json:"-"`
	}

	p := &Permission{
		Name:        `app:create`,
		IDStr:       `Create a new App`,
		Description: `Description Create a new App`,
	}

sql, arg, err := r.db.Insert(`rbac_permissions`).
		Returning(goqu.C(`id`)).
		Rows(p).
		ToSQL()

with SetColumnRenameFunction == -

goqu.SetColumnRenameFunction(func(v string) string {
	return "-"
})
...
// sql = "INSERT INTO "rbac_permissions" ("-", "description", "id", "name") VALUES ('0001-01-01T00:00:00Z', 'Description Create a new App', 'Create a new App', 'app:create')"

with SetColumnRenameFunction == ``

goqu.SetColumnRenameFunction(func(v string) string {
	return ""
})
...
// sql =  "INSERT INTO "rbac_permissions" (, "description", "id", "name") VALUES ('0001-01-01T00:00:00Z', 'Description Create a new App', 'Create a new App', 'app:create')"

without SetColumnRenameFunction

// sql =  "INSERT INTO "rbac_permissions" ("createdat", "description", "id", "idstr", "name", "sep") VALUES ('0001-01-01T00:00:00Z', 'Description Create a new App', 'Create a new App', '', 'app:create', '')"

In steps above expects follow sql:
INSERT INTO "rbac_permissions" ("description", "id", "name") VALUES ('Description Create a new App', 'Create a new App', 'app:create')
Or am I wrong?

The SetColumnRenameFunction will be for any column that doesnt have a db tag. It works just like the json tag where you need to explicitly ignore the field for it not to be used. The SetColumnRename function is used to transform column names that dont have a db tag.
In the first example its working as expected, goqu doesnt try to interpret what you transformed the field name to, instead it uses it as is.
The second example is an interesting one in that you returned an empty string and it generated the (, That should probably be an error when creating the SQL for an empty identifier.
In the third example it is also working as expected, if you want to ignore the CreatedAt column it should be changed to:
type Permission struct {
	DeepPermission

	IDStr       string    `json:"id" db:"id"`
	Name        string    `json:"name" db:"name"`
	Description string    `json:"description" db:"description"`
	CreatedAt   time.Time `json:"-" db:"-"`
}


Add entries transformer before indexation

related:

#264
#249
#248
#218
#211
#112
#42

To transform the data of a entry before sending it to MeiliSearch, the transform function must be added in the related model configuration.
For example a collection restaurant  has a config file located at /api/restaurnt/models/restaurant.js
Inside you can add a method named transformEntry in the meilisearch object:
For example to sanitize your data:
'use strict'
const { sanitizeEntity } = require('strapi-utils')

module.exports = {
  meilisearch: {
    transformEntry(entry, model) {
      entry = {
        ...entry,
        categories: entry.categories.map(cat => cat.name)
      };
      entry =  sanitizeEntity(entry, { model })
      return entry
    },
    indexName: "my_restaurant"
  }
}

@bidoubiwa testing against the larger index on #296 , thank you for the direction.


uncurated papers graph

https://curation.pombase.org/kmr44/uncurated_sent_counts_graph-1.png
I'm not sure the bins are correct?
is 0,1  seems to only have 3 uncurated papers for a year?
So it seems that these are actually published in 2020.

[ ] I think it might be because the year ends are used to determine the year? If this is the  case we could probably just omit 2020 since it is  only  1 month and use data unto the end of 2019.

[ ] and if this is correct the column labels would change (I.e the second column more closely represents  0,1 not 1,2

[ ]  change 7 red to dark green (or something)? so it is different from "0"

[ ] change 8 blue to  maybe an orangy colour (not used)? so it is different from "1"

[ ]. bin everything over 10 years into a single bin

I don't think we will use this ine in teh publication. Mainly i shows that I am quite inconsistent about reminders. But I send them when we run out of sessions to check. Thre isn't any point sending a reminder for every session for people who haven't curated they would feel inundated, so I tend to only send  for one or two of their papers. Once people curate for the first time I try to then send remonders for older sessions.... anyway it look a bit arbitrary in the graphs.


ADS starting of CSGO server instance broken in web panel but not in command line after creating new instance.

Bug Report
System Information

Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-46-generic x86_64)
AMP Release "Hawking Starman"v20190406.1, built 06/04/2019 03:00
CPU info Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
Ram 32 Gb

I confirm:

[X] that I have searched for an existing bug report for this issue.
[X] that I am using the latest available version of AMP.
[X] that my operating system is up-to-date.

Symptoms

Reproduction

ADS Logs
[01:30:08] [Logger:Anonymous Info] : Rollover from previous log file: AMP_Logs/AMPLOG 2019-04-05 18-00-14.log
[01:30:08] [Auth:Anonymous Activity] : Authentication attempt for user admin from <IP_ADDRESS>
[01:30:09] [Auth:admin Activity]  : Authentication success
[09:01:06] [Auth:Anonymous Activity] : Authentication attempt for user admin from <IP_ADDRESS>
[09:01:06] [Auth:admin Activity]  : Authentication success
[09:01:13] [InstanceManager:admin Info] : Stopping instance tdm...
[09:01:13] [InstanceManager:admin Info] : Waiting for instance to stop...
[09:01:13] [InstanceManager:admin Info] : Instance tdm has stopped.
[09:06:29] [ADS:admin Activity]   : Deleting instance 77543d69-bb18-43f8-9e8c-2444586bf7e3
[09:07:27] [InstanceManager:admin Info] : No cache exists for Nightly-20190405-210354
[09:07:27] [InstanceManager:admin Info] : Downloading AMP from https://cubecoders.com/Downloads/Nightly/AMP_Latest_Nightly.zip...
[09:07:50] [InstanceManager:admin Info] : Complete
[09:08:05] [InstanceManager:admin Info] : Waiting for AMP instance to start...
[09:08:13] [InstanceManager:admin Error] : Failed to start AMP. Exit code was 0
[09:08:18] [Auth:Anonymous Activity] : Authentication attempt for user admin from <IP_ADDRESS>
[09:08:19] [Auth:admin Activity]  : Authentication success
[09:08:24] [InstanceManager:admin Info] : Waiting for AMP instance to start...
[09:08:32] [InstanceManager:admin Error] : Failed to start AMP. Exit code was 0
[09:08:40] [Auth:Anonymous Activity] : Authentication attempt for user admin from <IP_ADDRESS>
[09:08:40] [Auth:admin Activity]  : Authentication success
[09:08:48] [InstanceManager:admin Info] : Waiting for AMP instance to start...
[09:08:55] [InstanceManager:admin Error] : Failed to start AMP. Exit code was 0
[09:09:06] [ADS:admin Activity]   : Deleting instance c9a177fd-78e0-4b72-a9f1-1ea2291fbc0b
[09:09:54] [InstanceManager:admin Info] : Using cached archive: /mnt/raid0/AMP/.ampdata/instances/AMPCache-Nightly-20190405-210354.zip
[09:10:10] [InstanceManager:admin Info] : Waiting for AMP instance to start...
[09:10:17] [InstanceManager:admin Error] : Failed to start AMP. Exit code was 0
[09:11:11] [ADS:admin Activity]   : Deleting instance 1ffad56e-e644-4e18-8e68-4692bee966c2
[09:11:45] [InstanceManager:admin Info] : Using cached archive: /mnt/raid0/AMP/.ampdata/instances/AMPCache-Nightly-20190405-210354.zip
[09:12:00] [InstanceManager:admin Info] : Waiting for AMP instance to start...
[09:12:07] [InstanceManager:admin Error] : Failed to start AMP. Exit code was 0
[09:12:34] [Auth:Anonymous Activity] : Authentication attempt for user admin from <IP_ADDRESS>
[09:12:34] [Auth:admin Activity]  : Authentication success
[09:12:40] [InstanceManager:admin Info] : Waiting for AMP instance to start...
[09:12:48] [InstanceManager:admin Error] : Failed to start AMP. Exit code was 0
[09:14:01] [InstanceManager:admin Info] : Waiting for AMP instance to start...
[09:14:09] [InstanceManager:admin Error] : Failed to start AMP. Exit code was 0
[09:14:41] [ADS:admin Activity]   : Upgrading instance tdm2
[09:14:42] [InstanceManager:admin Info] : Using cached archive: /mnt/raid0/AMP/.ampdata/instances/AMPCache-Nightly-20190405-210354.zip
[09:15:55] [InstanceManager:admin Info] : Waiting for AMP instance to start...
[09:16:03] [InstanceManager:admin Error] : Failed to start AMP. Exit code was 0
[09:16:17] [FileManager:admin Activity] : Downloaded file __VDS__tdm2/AMP_Logs/AMPLOG 2019-04-06 09-11-46.log (Slow mode)
[09:16:52] [FileManager:admin Activity] : Downloaded file __VDS__ADS01/AMP_Logs/AMPLOG 2019-04-06 01-30-08.log (Slow mode)
[09:17:38] [FileManager:admin Activity] : Downloaded file __VDS__ADS01/AMP_Logs/AMPLOG 2019-04-06 01-30-08.log (Slow mode)

https://pastebin.com/bqqKuXt6
tdm2 Instance Logs
[09:11:46] [Core Info]            : Starting AMP version <IP_ADDRESS> (Hawking Starman), built 06/04/2019 03:00
[09:11:46] [Core Info]            : Release spec: Nightly - built by CUBECODERS/BuildBot on CCL-DEV
[09:11:46] [Core Warning]         : Current time zone is set to CST - Servers should ideally be UTC to avoid time-zone related issues
[09:11:46] [Core Info]            : OS: Linux / x86_64
[09:11:46] [Core Info]            : CPU: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz (4C/8T)
[09:11:46] [Core Info]            : AMP Instance ID: dc0b059a-0599-4457-bd52-448afa7449e6
[09:11:46] [Core Info]            : Checking for AMP updates...
[09:11:47] [WebServer Info]       : Websockets are enabled.
[09:11:47] [ModuleLoader Info]    : Loaded srcdsModule version <IP_ADDRESS> by CubeCoders Limited
[09:11:47] [ModuleLoader Info]    : Loaded EmailSender version <IP_ADDRESS> by CubeCoders Limited
[09:11:47] [ModuleLoader Info]    : Loaded FileManager version <IP_ADDRESS> by CubeCoders Limited
[09:11:47] [ModuleLoader Info]    : Loaded PushBulletPlugin version <IP_ADDRESS> by CubeCoders Limited
[09:11:47] [ModuleLoader Info]    : Loaded LocalFileBackupPlugin version <IP_ADDRESS> by CubeCoders Limited
[09:11:47] [ModuleLoader Info]    : srcdsModule requests dependency steamcmdplugin...
[09:11:47] [ModuleLoader Info]    : Loaded steamcmdplugin version <IP_ADDRESS> by CubeCoders Limited
[09:11:47] [ModuleLoader Info]    : srcdsModule requests dependency RCONPlugin...
[09:11:47] [ModuleLoader Info]    : Loaded RCONPlugin version <IP_ADDRESS> by CubeCoders Limited
[09:11:47] [Core Info]            : Performing activation, please wait...
[09:11:48] [Core Info]            : Activated successfully.
[09:11:48] [Core Info]            : Licence Present: AMP Professional Edition (Licenced to Loren Tedford)
[09:11:48] [Core Info]            : -configonly specified or activation performed. Saving settings and shutting down.

https://pastebin.com/EaEXhQ57

Can you wipe the srcds inside log and hit start again? Also is this a system that has run AMP before?

Yes it is a system that has run AMP before it was just an update that occurred that bricked it.. Its some what working at the moment but still kinda buggy..

Did you wipe the logs and hit start again? If so please post the new log.

Closed due to inactivity.

Yes i did this problem only exist on already made server so lets say you make a server mess it up delete the instance and then recreate the instance.. I have been able to replicate this a few times not sure why..

I have been busy so sorry about not responding.. No reason to open thought there is a work around by commandline no biggy for me..


DS-3009 Allow classpath definition of command line tools

https://jira.duraspace.org/browse/DS-3009
Refactor the parsing of the xml. Store each command in an object. Add command definitiions through spring. Merge the definitions through spring and those from launcher.xml

Travis CI is complaining about missing license headers in all the new files:
[WARNING] Missing header in: /home/travis/build/DSpace/DSpace/dspace-api/src/main/java/org/dspace/app/launcher/CommandType.java
[WARNING] Missing header in: /home/travis/build/DSpace/DSpace/dspace-api/src/main/java/org/dspace/app/launcher/ObjectFactory.java
[WARNING] Missing header in: /home/travis/build/DSpace/DSpace/dspace-api/src/main/java/org/dspace/app/launcher/StepType.java
[WARNING] Missing header in: /home/travis/build/DSpace/DSpace/dspace-api/src/main/java/org/dspace/app/launcher/CommandsType.java
[WARNING] Missing header in: /home/travis/build/DSpace/DSpace/dspace-api/src/main/java/org/dspace/app/launcher/launcher.xsd

added headers and rebased on master

This needs documentation on how to test or use it. It's unclear without attempting to parse/read the code.

one concern - that there won't be a single place to look for command definitions (launcher.xml)

@helix84 the command line output will still outpot all the commands if no command is specified. If you are talkin about what the command actually does. I could output the 'steps' on say a -hh switch. (-h would just print the current 'no command' output).

@rradillen : Could you write up some docs or provide examples on how to test this functionality?  The concept seems nice, but I feel it'd be easier to find a volunteer tester if we had examples/docs.

I added a readme to the package with the relevant changes:
https://github.com/rradillen/DSpace/tree/DS-3009/dspace-api/src/main/java/org/dspace/app/launcher/Readme.md

@rradillen , this looks very nice and will be very useful.  My comments are focused on documentation of the feature.  The code behaves as expected.
I will be happy to test again after a documentation update.  I cloned an existing command definition and verified that the commend was supported.  I have not yet tried configuring a new command.

@terrywbrady I added a sentence about spring to the docs. If you give me a link to an appropriate place in confluence I will add the content of the Readme.md to it after merge. (Could be confusing if I add it before it is merged). I also invented a namespace and formally linked the launcher.xml to the xsd.

@rradillen, this looks like a good spot in the Confluence documentation to add additional detail: https://wiki.duraspace.org/display/DSDOC6x/Application+Layer#ApplicationLayer-DSpaceCommandLauncher

+1 based on code review.

+1 based on code review. I'm in favor to move to spring and allow distributed configuration to allow easily batch script inside addon/extension. I don't like the idea to provide (and maintain) two different methods to configure such aspect so I will prefer to flag as deprecated the launcher.xml file and relevant classes to remove in DSpace 7

Despite the +1's above, looks like this PR was accidentally skipped for 6.0.  But, we should reconsider for the 7.0 release, once this PR is rebased on latest master.

Please rebase this PR against the latest master branch.  The master branch now requires adherence to our new Java Code Style documented at: https://wiki.duraspace.org/display/DSPACE/Code+Style+Guide
If you have any questions, feel free to ask in this PR or on our Slack: https://wiki.duraspace.org/display/DSPACE/Slack

It seems this PR has languished for 2 years. Can a committer clarify if it’s still worth investing time. I’ve not worked on DSpace for 1.5 years so it will come with somewhat of a steep relearning curve. @kevinVdV perhaps.

I've rebased on master and fixed any issues.


Fixed the bug that lose cursor when select an empty bookmark

@MarioRicalde pulling your change here.

Tested working.


[SMALLFIX] Replace anonymous type with lambda

replace anonymous type with lambda in alluxio/job/client/src/main/java/alluxio/client/job/RetryHandlingJobMasterClient.java
Replace
retryRPC(new RpcCallable<Void>() {
  public Void call() {
    mClient.cancel(CancelPRequest.newBuilder().setJobId(jobId).build());
    return null;
  }
});

with
retryRPC((RpcCallable<Void>) () -> {
  mClient.cancel(CancelPRequest.newBuilder().setJobId(jobId).build());
  return null;
});

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/2779/
Test PASSed.

alluxio-bot, merge this please


severely broken community api listing concerns

Are the community repos tested and or endosed in any way before they are listed here in your github bookstack account

Hi @shaneholloman,
I think your question is answered by looking at the README.md:

These scripts are not part an officially supported part of the BookStack project itself and therefore may be outdated or more likely to have bugs.

If there are any questions regarding specific scripts feel free to elaborate or to hand in a PR.

Yeah thanks @cdrfun. That does indeed cover the community scripts also.
Generally when a link to a community project is added I'll go a quick look over to check there's some substance there, it's under an open source license, and that it's BookStack specific, but I don't specifically run and/or test each project.


TypeError: null is not an object (evaluating '_$$_REQUIRE(_dependencyMap[29], "react-native-appay-mir").ApplePay.canMakePayments')

ApplePay.canMakePayments not working as expected can you please check this ASAP

Will check it out

It was crazy stuff :)
Package has not been working since end of 2022. I released version 2.1.3 to NPM
Thanks for catching, unfortunately in my country ApplePay as Batman  - outlaw and not supported, so it's why I didn't noticed it so fast
P.S. close this and #2 issue.


[Refactor] Rename key concepts

Work towards #143

I've left the remaining occurrences in persistance.

They can be named as well in a follow up CL, but please don't close the
issue yet.
On Fri, Nov 22, 2019 at 12:06 PM Shobhit Agarwal<EMAIL_ADDRESS>wrote:

I've left the remaining occurrences in persistance.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/google/ground-android/pull/231?email_source=notifications&email_token=AABXVUUGPEMNQOY7NH3GEMLQVAGP5A5CNFSM4JQTN3UKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE6ICKI#issuecomment-557613353,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABXVUURIKAVRMPLFCMWXGLQVAGP5ANCNFSM4JQTN3UA
.

--
Gino Miceli |  Developer Programs Engineer |<EMAIL_ADDRESS>|  Google
Earth Outreach Developer Relations

They can be named as well in a follow up CL, but please don't close the
issue yet.

I thought those changes were supposed to be made along with firebase and web

They can be named as well in a follow up CL, but please don't close the
issue yet.

I thought those changes were supposed to be made along with firebase and web

The class names can be changes, just not the field names in the Doc classes. But if it makes it harder to follow what's happening in the interim we can leave them for now, your call.


Complete remake

can you add some minimal doc so people know what to use ? (something in readme.md for example)

can you add some minimal doc so people know what to use ? (something in readme.md for example)

Done!


Inspector. Custom context menu for additional nodes

https://forum.babylonjs.com/t/inpsector-add-a-custom-context-menu-to-additional-nodes/39672/4?u=dok11

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/13719/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13719/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13719/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/13719/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/13719/merge
https://gui.babylonjs.com/?snapshot=refs/pull/13719/merge
https://nme.babylonjs.com/?snapshot=refs/pull/13719/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/13719/merge#BCU1XR#0


Hover not working, I have to manually open and close

Is, it in further development, because I am facing an issue, regarding hover. I have to manually click to open and close the tab. If everything is good, can I get some help ?
I am using PyCharm IDE, and I have taken the code as it is provided. Still I am facing this issue.

What is your screen size? In the style.css, the button shows up when the screen size is smaller - not sure which dimensions boundary however, the only one that is hard coded is a very small mobile phone. If you want, you can edit it via the @media element.
I have just seen it with another project (git repo) and it seems to work.

Hello, apologies. I have recently been going through the code (style.css file) and found that the hover function only works for devices that allow hover. If you are having to manually click to open and close the sidebar then your device does not allow for hover it seems. In the style.css file the @media(hover){ ...} function is an indication that for devices that allow or have the hover capability, do the below.


Onboard long-tail k8s providers

https://github.com/pulumi/ci-mgmt/pull/892#pullrequestreview-2007148280
We have some long-tail k8s providers that aren't able to release due to out-of-date dependencies and workflows. We should manage these with ci-mgmt to keep them slightly more maintainable.

[x] https://github.com/pulumi/pulumi-kubernetes-cert-manager
[ ] https://github.com/pulumi/pulumi-kubernetes-coredns
[x] https://github.com/pulumi/pulumi-kubernetes-ingress-nginx

https://github.com/pulumi/ci-mgmt/pull/1221 - nginx, coredns next


circt: add new package circt-full

Description of changes

This package contains all headers, library, and binaries combine into one derivation, to satisfy Chisel users requirement. Further description can read the discussion in PR #274755.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Since circt-full can be simply synthesized locally without much electricity bill, and the its necessity comes from the internal chaos of circt itself, I would close this until a better solution comes out.


Fix/responsiveness daily forecast cards

Worked on the daily forecast responsiveness
Changed the components and hooks name

@map is displaying well on my side. So try to refresh again @miador  and @grace-omotoso

It's still same on me

Can someone else check too? Is it just on my side? @grace-omotoso @kpham841 @trinhcaokhoa

Yeah I'm not seeing any responsive behavior for the weather cards

@miador, this is how it looks on my side.

@kpham841 , this is how it looks on the mobile screens and tablet. May try to refresh

@miador, this is how it looks on my side.

In desktop, can you try to give access to location and see if it works too?


syslog/ramlog: remove magic flag

Summary
syslog/ramlog: remove magic flag

remove magic flag
move g_sysdev to bss
clear ramlog buffer only if in custom section

Signed-off-by: chao an<EMAIL_ADDRESS>Impact
N/A
Testing
ci-check

[Experimental Bot, please feedback here]
This PR appears to mostly meet the NuttX requirements, but is missing some information:
What's good:

Summary:  Provides a high-level overview of the changes being made.  However, it could be more descriptive. What is the magic flag and why should it be removed?
Testing:  Indicates that CI checks were performed, which is good. However, providing actual log snippets (even if shortened) would be even better.

What needs improvement:

Impact: While marking everything as N/A might be technically correct, it's unlikely that every category is truly unaffected. For example:

Impact on build: Even small code changes can alter build times or memory usage.  Consider if this is relevant.
Impact on compatibility: Does removing this magic flag potentially break any existing configurations or use cases?

Testing:

Be specific about the build host and target(s) used for testing.
Provide snippets of the testing logs before and after the change. This helps reviewers quickly understand the impact of the changes.

Recommendation:
Before merging, expand on the Impact section, even if briefly, to confirm that the potential implications have been considered. Additionally, enhance the Testing section with specifics about the test environment and relevant log snippets.

@anchao I think the magic flag is useful to search where the ramlog starts in the memory in case where someone is debug NuttX bringup and doesn't have serial console working.
Maybe @patacongo can confirm the reason he included it.

The flag was used to distinguish between a cold start and a reset.  See
commit 0da8755fbce536da81894694c47905430d38848b
Author: yuanyongjian<EMAIL_ADDRESS>Date:   Thu Nov 23 13:02:47 2023 +0800

    syslog/ramlog:Add tags to distinguish between hot start and cold start

    Signed-off-by: yuanyongjian<EMAIL_ADDRESS>

@acassis @patacongo This PR will use the header pointer to check if it is hot/cold reset, so removing the magic will give the same functionality.

@acassis @patacongo This PR will use the header pointer to check if it is hot/cold reset, so removing the magic will give the same functionality.

but the check doesn't work since g_sysdev is initialized to zero by boot every time.

ping @anchao


Add support of auth&auth at discovery BinaryProto-lookup

Motivation
Discovery BinaryProto-Lookup service

Add support of authentication and authorization
Avoid redirection while partitionedMetadataLookup

Modifications

Authenticate client at initial connection with discovery service
PartitionMetadataLookup and authorization
Remove redirection from PartitionMetadataResponse and client library

Result
Enabling authentication and authorization at discovery lookup service

CLA is valid!

CLA is valid!

removed local prefix from zookeeperserver config.

@merlimat : have addressed all the changes. can you please let me know if we need any other changes.


[patch] add DistanceType (Poincare, Lorentz, SparseJaccard, NormL2) to CAPI

There were some DistanceTypes which were not added to CAPI, so I added them.
Signed-off-by: kpango<EMAIL_ADDRESS>

Thanks!


Get rid of old ChainTemplate usage in visualization

Currently, in chain visualization scripts old ChainTemplates are used for convertation FEDOT Chains to ChainTemplate.
However, the synthetic module seems obsolete and should be deleted.
During the last refactoring I found out that visualization tests would be broken if actual ChainTemplate  is used.
This task is proposed to reproduce this bug and to migrate our visualization from old to actual ChainTemplate.

Solved via #268


With Laravel Fremework 8.40 the deault websokect http://<IP_ADDRESS>:6001/ not open here

I did a fresh installation of Laravel framework and in composer.json added line this "beyondcode/laravel-websockets": "^1.12", .
After that, I run the command "composer install" the packages installed successfully. here is the list of composer.json.
"require": {
"php": "^7.3|^8.0",
"beyondcode/laravel-websockets": "^1.12",
"billbee/billbee-api": "^1.9",
"fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^6.5|^7.0.1",
"laravel/framework": "^8.40",
"laravel/tinker": "^2.5",
"pusher/pusher-php-server": "^5.0"
},
Then run this code from the command prompt
php artisan vendor:publish --provider="BeyondCode\LaravelWebSockets\WebSocketsServiceProvider" --tag="migrations"
php artisan migrate
php artisan vendor:publish --provider="BeyondCode\LaravelWebSockets\WebSocketsServiceProvider" --tag="config"
php artisan websockets:serve

After that, I am trying to open http://<IP_ADDRESS>:6001/  in the browser and it does not work. Can anyone please let me know what I did wrong?
This is online showing in my command prompt screen
Starting the WebSocket server on port 6001...

I did a fresh installation of Laravel framework and in composer.json added line this "beyondcode/laravel-websockets": "^1.12", .
After that, I run the command "composer install" the packages installed successfully. here is the list of composer.json.
"require": {
"php": "^7.3|^8.0",
"beyondcode/laravel-websockets": "^1.12",
"billbee/billbee-api": "^1.9",
"fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^6.5|^7.0.1",
"laravel/framework": "^8.40",
"laravel/tinker": "^2.5",
"pusher/pusher-php-server": "^5.0"
},
Then run this code from the command prompt
php artisan vendor:publish --provider="BeyondCode\LaravelWebSockets\WebSocketsServiceProvider" --tag="migrations"
php artisan migrate
php artisan vendor:publish --provider="BeyondCode\LaravelWebSockets\WebSocketsServiceProvider" --tag="config"
php artisan websockets:serve

After that, I am trying to open http://<IP_ADDRESS>:6001/ in the browser and it does not work. Can anyone please let me know what I did wrong?
This is online showing in my command prompt screen
Starting the WebSocket server on port 6001...

I got the solution, I have to go on the link of localhost i.e. http://localhost:8000/laravel-websockets after running the laravel serve. So the WebSocket is working for Laravel 8.4x.

So once you open this link  http://localhost:8000/laravel-websockets, did it start working? It still didn't for me.

It started working for me too, the problem was that jquery was not loading, after few refreshes It started working. Also I had to run this command php artisan websockets:serve with the host.

Firstly, according to my trials, you basically need to run 2 servers. One for websocket server, and one for web server in order to test the websocket. That's why the solution here is accessing http:....:8000/
2ndly, laravel-websockets runs on local env only by default (Unless you made some changes)

https://beyondco.de/docs/laravel-websockets/debugging/dashboard#protecting-the-dashboard

But, information are kind of misleading here.

Websocket server is running on port 6001. Why you guys is able to access port 8000, and get this work?

So, I guess you are running another web server somehow on port 8000, which has not mentioned

Lastly, I guess laravel-websockets maybe able to access by http:....:6001/laravel-websockets since that websocket server is supposed to manage http access also according to the official blog (But, I have not tried by myself)


chore(amplify-util-uibuilder): remove codegen-ui usage

Description of changes
Removes codegen-ui dependency from CLI. This doesn't change current behavior for ui component generation. The codegen-ui dependency is not needed anymore due to component codegen service.

copies over necessary helper functions/utils from codegen-ui package

Description of how you validated changes

yarn setup-dev
Ran amplify-dev pull in a test app with datastore, and another app with graphql
Verified that ui components are generated for each app

Checklist

[x] PR description included
[x] yarn test passes
[x] yarn cloud-e2e passes
[x] Tests are changed or added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Description updated.
cloud-e2e tests passed


Use of nest_asyncio?

This is a dedicated issue for the discussion in https://github.com/jupyterhub/nbgitpuller/pull/194#discussion_r776049582 surrounding the following code snippet.
import nest_asyncio

# this allows us to nest usage of the event_loop from asyncio
# being used by tornado in jupyter distro
# Ref<EMAIL_ADDRESS>nest_asyncio.apply()

Goal

Clarify what made us need a workaround like nest_asyncio in the first place.
I currently don't have a good grasp of where in the codebase we end up erroring without nest_asyncio.apply() called ahead of time.
@sean-morris can you provide some more details on this?

Get a recommendation and go with it
I figure we should ask Min RK on the use of this workaround.
It is my understanding that by using it, we modify asyncio core functionality and my main concern would be if just installing nbgitpuller automatically would lead to making a change that breaks other code. Before doing this, I figure we just try to clarify and pinpoint what code, and where, makes us need to need the workaround. I'd like to have it more explicit wherever we declare to use it.

If we go with the workaround: decide on location in codebase
We decide on the location. It just need to run once, and it can run from anywhere. So, perhaps a init.py file not related to a specific plugin makes the most sense. I think it can be in ngitpuller also if the most primitive structure that all plugins will need requires it also, and, a plugin has been detected.
Mainly I'd like to avoid having it in nbgitpuller in situations when users don't even use plugins.

@sean-morris while https://github.com/Amsterdam/aiopluggy could have been relevant, I think we should steer clear from using it because the last commit was 4 years ago. An example of an issue of relying on such project is that it may not support modern versions of python or similar which we should in this actively maintained project.
I think if you expand the following...
            def pull():
                try:
                    for line in gp.pull():
                        q.put_nowait(line)
                    # Sentinel when we're done
                    q.put_nowait(None)
                except Exception as e:
                    q.put_nowait(e)
                    raise e
            self.gp_thread = threading.Thread(target=pull)
            self.gp_thread.start()

To be like...
            def pull():
                try:
                    # TODO: do content provider plugin work here
                    # TODO: let the hook communicate back to this async function via
                    #       a progress message queue which is repeatedly polled in this
                    #       thread to report back to the UI
                    for line in gp.pull():
                        q.put_nowait(line)
                    # Sentinel when we're done
                    q.put_nowait(None)
                except Exception as e:
                    q.put_nowait(e)
                    raise e
            self.gp_thread = threading.Thread(target=pull)
            self.gp_thread.start()

Got it. I committed the changes. It is much cleaner. The only issue I see is how to get the returned JSON structure from the hookimpl, handle_files, back to the nbgitpuller call. I hacked it a bit just so we can see it working by setting helper_args["handle_files_output"] as the last line.
  @hookimpl
  def handle_files(helper_args, query_line_args):
      hfh = HandleFilesHelper(helper_args, query_line_args)
      output_info = yield from hfh.handle_files_helper()
      helper_args["handle_files_output"] = output_info

Then in nbgitpuller:
 def pull():
      if content_provider is not None:
          ...
          helper_args = dict()
          helper_args["repo_parent_dir"] = repo_parent_dir

          try:
              for line in plugin_manager.hook.handle_files(helper_args=helper_args,query_line_args=query_line_args):
                  q.put_nowait(line)
          except Exception as e:
              q.put_nowait(e)
              raise e

          results = helper_args["handle_files_output"] <-- PULLING THE RESULT HERE
          self.repo_dir = repo_parent_dir + results["output_dir"]
          self.repo = "file://" + results["origin_repo_path"]

      gp = GitPuller(self.repo, self.repo_dir, branch=branch, depth=depth, parent=self.settings['nbapp'])

      try:
          for line in gp.pull():
              q.put_nowait(line)
          # Sentinel when we're done
          q.put_nowait(None)
      except Exception as e:
          q.put_nowait(e)
          raise e

Do we have a better solution handy?

handlers.py + pull.py both have logic to use the GitPuller class and its method pull defined in the pull.py file. The plugin logic is relevant to both. I suggest that instead of adding logic to do the plugin things in handlers.py, you do it in pull.py. That way, you get the logic to be part of both the CLI and the web request triggered execution of GitPuller().pull().
By doing that, you can also make use of the GitPuller class as an object to store state as well, and you may not need to pass anything back and forth etc.
I think it is absolutely critical that we avoid duplicating the implementation logic in two locations, and my suggestion above didn't reflect that.
             def pull():
                 try:
-                    # TODO: do content provider plugin work here
-                    # TODO: let the hook communicate back to this async function via
-                    #       a progress message queue which is repeatedly polled in this
-                    #       thread to report back to the UI
+                   # FIXME: Let the GitPuller object doing work, also do the plugin work
+                   #       practically leaving this code as it was.
                     for line in gp.pull():
                         q.put_nowait(line)
                     # Sentinel when we're done
                     q.put_nowait(None)
                 except Exception as e:
                     q.put_nowait(e)
                     raise e
             self.gp_thread = threading.Thread(target=pull)
             self.gp_thread.start()

ok. I am following. We are stepping into the middle of it! I will throw this up and we can check it out.

@consideRatio Ok, I committed the changes to pull everything into pull.py. I have not tried the CLI yet but will. We still end up needing to get the results from the downloader plugin. My suggestion is to either pass a reference to GitPuller class(which I would say is weird) or implement the plugins as classes and write our own discovery.

Hmmm i dont get this yet.

We still end up needing to get the results from the downloader plugin.

Can you clarify what information needs to be passed from where to where?

In the normal git puller where the source is git the name of the repo is in
the link; with an archive you don’t know where you expanded until you
decompress the file. I pass back the name of the folder and the path to the
local git repo which is then handed off to the git pulling functionality as
repo_dir and git_url.
On Tue, 18 Jan 2022 at 23:57 Erik Sundell @.***> wrote:

Hmmm i dont get this yet.
We still end up needing to get the results from the downloader plugin.
Can you clarify what information needs to be passed from where to where?
—
Reply to this email directly, view it on GitHub
https://github.com/jupyterhub/nbgitpuller-downloader-plugins/issues/3#issuecomment-1016173957,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALR344HBPPKC7UTB6ZBIVDUWZVHDANCNFSM5LXHS3ZA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Workbench flashing on start

Latest insiders, light theme, reload
Notice how parts of the workbench are getting colored from black to light. Feels broken

duplicate of #20705


Some types of events do not wakeup run_forever()

If I have a separate thread making Vulkan calls that calls get_surface_capabilities_khr(), that call doesn't return until some OTHER event (e.g. mouse movement) wakes up the EventsLoop.
Is this already known? Is there a workaround? Should I be structuring my code differently?
edit: I'm working around it with poll_events().

I'm not sure if I understand correctly. If you're expecting Vulkan to wake up the events loop, then no it's not possible.

Ok thanks.


[Bug] Broken column resolution for WITH clauses

When using a WITH query, the column resolution function columnNamesForQuery says no such table, despite the fact that the exact same expression works if converted to raw SQL first.
Repro example:
let tempTable = Table("recent_matches")
let q = tempTable.with(tempTable, as: searchRanking.table.match("cat"))

print(q.expression.description)

do {
  // Works
  let array = try Array(try db.prepareRowIterator(q.expression.description))
  // Does not work
  //let array = try Array(try db.prepareRowIterator(q))
} catch {
  print("VONK", error)
}

Logs:
WITH "recent_matches" AS (SELECT * FROM "searchRanking" WHERE ("searchRanking" MATCH 'cat')) SELECT * FROM "recent_matches"
no such table: recent_matches (code: 1)
It looks like in cases with WITH clauses, columnNamesForQuery behaves incorrectly, while columnNameMap powered by sqlite3_column_name works fine.

This is fixed by 4b9ea97872a241fad38c221afad7a701fc987868


libretro_crt_geom on rendering on one eye in VR

When I create a OpenXR project and apply the libretr_crt_geom Shader. It only renders on the left eye. I'm not quite sure why that is happening or if there is a more "generic" shader I should be selected rather than the Universal Render Pipeline Shader?

apparently, I was able to just fix this my self...
UNITY_VERTEX_INPUT_INSTANCE_ID in appdata
UNITY_VERTEX_OUTPUT_STEREO in v2f
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);

in the vert shader

This shader is a very dumb direct conversion from the libretro repository. It's more a proof of concept (the ability to easily convert to unity shader language) rather than a proper shader for unity's different pipelines.
It's included here just because it looks better to me than using the default material when testing.
The library isn't tied to this shader in any way, it only requires a shader texture parameter name to hook into.
See:
https://github.com/Skurdt/SK.Libretro/blob/master/Unity/Scripts/Runtime/InstanceSettings.cs#L29


Specify pkgconfig name for gc

Redux #9395
Since Stephie didn't do the general follow up yet, I'll just do what I run into :P

That will break using the embedded library if the bdw-gc is installed.
Eventually we want that pkg_config argument, but not until a new release of the gc or until we formalise the overrides of libraries.

Mmh, then I guess it's a bug in the spec helpers not passing some link flags that the original compiler does pass? How does it work on CI?! 😕
bin/crystal spec -v spec/compiler/codegen/primitives_spec.cr
Code gen: primitives
  codegens bool
  codegens int
  codegens long
  codegens int128ld: library not found for -lgc (this usually means you need to install the development package for libgc)
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
Error: execution of command failed with code: 1: `clang "${@}" -o /var/folders/wh/wcmzz8xd5gzfrrynkvvh4x640000gn/T/cr-spec-52bb2152/primitives/crystal-spec-output  -rdynamic -lpcre -lgc -lpthread /Users/jhass/projects/crystal/src/ext/libcrystal.a -L/usr/local/Cellar/libevent/2.1.11_1/lib -levent -liconv -ldl`

@jhass I'm able to reproduce the issue once I uninstalled bdw-gc (brew uninstall bdw-gc). But how is that you can fix it enabling the pkg_config?
Anyway, it seems that effectively the CRYSTAL_LIBRARY_PATH is not being forwarded to the specs and it might be using globally installed libgc in the CI instead.

Oh, I also have CC=clang set for some reason 🤔

Yeah, unsetting CC makes it work. We probably still should make sure the spec helpers pass the link flags on though.

FYI, I'm working on removing all the LIBRARY_PATH overrides in docker images :-)


Warning when run with lithium on the server

Saw this in the logs, dunno if you're aware of it:
[17:43:12] [Server thread/WARN]: Lithium Class Analysis Error: Class io.github.foundationgames.automobility.entity.AutomobileEntity cannot be analysed, because getting declared methods crashes with NoClassDefFoundError: net/minecraft/class_5617$class_5618. This is usually caused by modded entities declaring methods that have a return type or parameter type that is annotated with @Environment(value=EnvType.CLIENT). Loading the type is not possible, because it only exists in the CLIENT environment. The recommended fix is to annotate the method with this argument or return type with the same annotation. Lithium handles this error by assuming the class cannot be included in some optimizations.

well if the server can still run then it might work


Fix msvc 9 and 10 compile errors

Forward port of gh-7053.

Am going to merge it as a forward port


Template Restrict error

First of all thanks for the awesome module and the examples.
In your Quickstart for Java you state that:
@import be.objectify.deadbolt.core.utils.TemplateUtils.{la, as}

is required but I found from your example that both lines below are required. Can you please update the Quickstart?
@import be.objectify.deadbolt.java.views.html.{restrict, restrictOr}
@import be.objectify.deadbolt.core.utils.TemplateUtils.{la, as}

Thanks - I've corrected the quickstart.


Electron upgrade

Github is alerting of possible security issues, and recommending a package-lock.json update. It suggests electron ~> 2.0.8.

npm audit is your friend.

Closed as merged


Control Flow Analysis for Destructured Discriminated Unions doesn't work for IteratorResult

I was looking at some places in my codebase where I could use the new control flow analysis with destructuring, I think I found a case that doesn't work well:
export const reduce = <S, T extends S>(self: Iterable<T>, operation: (acc: S, t: T) => S): S => {
  const iter = self[Symbol.iterator]();
  let { value, done }: IteratorResult<T, unknown> = iter.next();
  if (done) throw new Error("Empty iterable can't be reduced.");
  let acc: S = value; // Type 'unknown' is not assignable to type 'S'.
  while (!done) {
    acc = operation(acc, value);
    ({ value, done } = iter.next());
  }
  return acc;
};

While this code works:
export const reduce2 = <S, T extends S>(self: Iterable<T>, operation: (acc: S, t: T) => S): S => {
  const iter = self[Symbol.iterator]();
  let result: IteratorResult<T, unknown> = iter.next();
  if (result.done) throw new Error("Empty iterable can't be reduced.");
  let acc: S = result.value; // result.value is T (extends S)
  while (!result.done) {
    acc = operation(acc, result.value);
    result = iter.next();
  }
  return acc;
};

Note that if you don't upcast iter.next(), you won't get errors, but not for good reasons:
let result = iter.next(); // type is IteratorResult<T, any>
// result.value is any and can be assigned to anything

Playground

You forgot to fill out the issue template for bug reports.
CFA for destructured types requires the type to be inferred, but you're explicitly setting the type. Remove the : IteratorResult<T, unknown> part from your variable declaration and it works.

@MartinJohns Okay, I'm sorry, I will fill it out.
But, the bug is not fixed by leaving out IteratorResult<T, unknown>, see my last comment, it just won't give an error, because it is inferred as any, instead of unknown (second generic parameter is any by default).
You can also try:
function foo(iter: Iterator<number, unknown>) {
  let { value, done } = iter.next();
  if (done) throw new Error("Empty iterable can't be reduced.");
  let acc = value; // unknown, not number
}

I have another example:
export const last = <T>(self: Iterable<T>): T => {
  let { found, last }: { found: false; last?: undefined } | { found: true; last: T } = {
    found: false,
  };
  for (const it of self) {
    found = true;
    last = it;
  }
  if (!found) throw new NoSuchElementException("Iterable contains no element matching the predicate.");
  // can not infer last to be T
  return last;
};

@RyanCavanaugh @MartinJohns

A shorter const vs let. Example taken from https://github.com/microsoft/TypeScript/pull/46266.
type Action =
    | { kind: 'A', payload: number }
    | { kind: 'B', payload: string };

function f11(action: Action) {
    const { kind, payload } = action; // works
    if (kind === 'A') {
        payload.toFixed();
    }
    if (kind === 'B') {
        payload.toUpperCase();
    }
}

function _f11(action: Action) {
    let { kind, payload } = action; // doesn't work
    if (kind === 'A') {
        payload.toFixed();
    }
    if (kind === 'B') {
        payload.toUpperCase();
    }
}