[Support] I messed up something, and now I can't connect to my PI without VPN even when UFW is off and I am on local network!

I messed up something, and now I can't connect to my PI without VPN even when UFW is off and I am on local network!
In raising this issue, I confirm the following:
{please fill the checkboxes, e.g: [X]}

[x] I have read and understood the contributors guide.
[] The issue I am reporting can be replicated.
[] The issue I am reporting can be is directly related to the pivpn installer script.
[x] The issue I am reporting isn't a duplicate (see FAQs, closed issues, and open issues).

I am unable to connect to SSH when I am on my local network and VPN is not connected even when UFW is disabled.
 I've never touched iptables and have no clue on how it works.

Right now I am risking losing access to the PI the moment the device moves network and I am unable to login to VPN due to any reason.

This is a Rpi 4 with PIVPN and PIHole too.
No VPN on. My sudo iptables -L is:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
With a Wireguard VPN on,  sudo iptables -L
sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
This is a Pi3 with an openvpn VPN running, sudo iptables -L again
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
So whatever you have on your Pi, its a lot different.  Is the docker installation affecting it?
As a general point, I cannot connect to a Pi on my local network from a VPN client, via the local network address once the VPN client is started - everything gets routed via the VPN, so you cannot expect to see that local address any more.
It may be easiest to reload your pi completely.  Sorry if this is not more helpful, but there is not much detail about how you are running the pivpn, you could try showing the pivpn diagnostics (pivpn -d)
Can you connect the the pi with the vpn running using the vpn address (<IP_ADDRESS> by default if I recall)?  Why is that not a solution?

in my VPN setup, all connections aren't routed through the VPN - only specific domains are routed through the VPN.
Please find the pivpn -d output below
::::		PiVPN debug		 ::::
=============================================
::::		Latest commit		 ::::
commit d243d9ae1212a30a7959cfe2ec3ef04e7eb9935c
Author: cfcolaco<EMAIL_ADDRESS>Date:   Fri Nov 29 10:45:32 2019 +0100

    Fixed Typo

    Line 1262: s/jkkprintf/printf/
=============================================
::::	    Installation settings    	 ::::
/etc/pivpn/DET_PLATFORM -> Raspbian
/etc/pivpn/FORWARD_CHAIN_EDITED ->
/etc/pivpn/HELP_SHOWN ->
/etc/pivpn/INPUT_CHAIN_EDITED ->
/etc/pivpn/INSTALL_PORT -> 1194
/etc/pivpn/INSTALL_PROTO -> tcp
/etc/pivpn/INSTALL_USER -> pi
/etc/pivpn/NO_UFW -> 0
/etc/pivpn/OLD_UFW -> 0
/etc/pivpn/pivpnINTERFACE -> wlan0
/etc/pivpn/TWO_POINT_FOUR ->
=============================================
::::	setupVars file shown below	 ::::
INSTALL_USER=pi
UNATTUPG=unattended-upgrades
pivpnInterface=wlan0
IPv4dns=
IPv4addr=<IP_ADDRESS>
IPv4gw=<IP_ADDRESS>
pivpnProto=tcp
PORT=1194
ENCRYPT=256
APPLY_TWO_POINT_FOUR=true
DOWNLOAD_DH_PARAM=false
PUBLICDNS=REMOTE
OVPNDNS1=<IP_ADDRESS>
OVPNDNS2=
=============================================
::::  Server configuration shown below   ::::
management <IP_ADDRESS> 1197
script-security 3
dev tun
proto tcp
port 1194
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/plug_423aa96d-a5ef-46df-bc3c-a9587b933118.crt
key /etc/openvpn/easy-rsa/pki/private/plug_423aa96d-a5ef-46df-bc3c-a9587b933118.key
dh none
topology subnet
server <IP_ADDRESS> <IP_ADDRESS>
# Set your primary domain name server address for clients
push "dhcp-option DOMAIN plug.glibix.com"
push "dhcp-option DNS <IP_ADDRESS>"
push "block-outside-dns"
# Override the Client default gateway by using <IP_ADDRESS>/1 and
# <IP_ADDRESS>/1 rather than <IP_ADDRESS>/0. This has the benefit of
# overriding but not wiping out the original default gateway.
push "route <IP_ADDRESS> <IP_ADDRESS> net_gateway"
push "route <IP_ADDRESS> <IP_ADDRESS> net_gateway"
push "route <IP_ADDRESS> <IP_ADDRESS> net_gateway"
push "route <IP_ADDRESS> <IP_ADDRESS> net_gateway"
#comment out any network from above if it conflicts with local network
#change below to the local network ip for this device
push "route <IP_ADDRESS> <IP_ADDRESS>"
push "route <IP_ADDRESS> <IP_ADDRESS>"
push "route <IP_ADDRESS> <IP_ADDRESS>"
push "redirect-gateway def1"
client-to-client
keepalive 1800 3600
remote-cert-tls client
tls-version-min 1.2
tls-crypt /etc/openvpn/easy-rsa/pki/ta.key
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
crl-verify /etc/openvpn/crl.pem
log-append /var/log/openvpn-log.txt
status /var/log/openvpn-status.log
status-version 3
syslog
verb 3
auth-user-pass-verify /etc/openvpn/checkUser.sh via-file
username-as-common-name
duplicate-cn
#DuplicateCNs allow access control on a less-granular, per user basis.
#Remove # if you will manage access by user instead of device.
#duplicate-cn
# Generated for use by PiVPN.io
=============================================
::::  Client template file shown below   ::::
auth-user-pass
client
dev tun
proto tcp
remote REMOTE 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
tls-version-min 1.2
verify-x509-name plug_423aa96d-a5ef-46df-bc3c-a9587b933118 name
cipher AES-256-CBC
auth SHA256
auth-nocache
verb 3
=============================================
:::: 	Recursive list of files in	 ::::
::: /etc/openvpn/easy-rsa/pki shows below :::
/etc/openvpn/easy-rsa/pki/:
57WQ_QC.ovpn
ca.crt
crl.pem
Default.txt
ecparams
extensions.temp
gPlug_Backup_2020.ovpn
index.txt
index.txt.attr
index.txt.attr.old
index.txt.old
issued
openssl-easyrsa.cnf
private
renewed
revoked
safessl-easyrsa.cnf
serial
serial.old
ta.key

/etc/openvpn/easy-rsa/pki/ecparams:
prime256v1.pem

/etc/openvpn/easy-rsa/pki/issued:
57WQ_QC.crt
gPlug_Backup_2020.crt
plug_423aa96d-a5ef-46df-bc3c-a9587b933118.crt

/etc/openvpn/easy-rsa/pki/private:
57WQ_QC.key
ca.key
gPlug_Backup_2020.key
plug_423aa96d-a5ef-46df-bc3c-a9587b933118.key

/etc/openvpn/easy-rsa/pki/renewed:
private_by_serial
reqs_by_serial

/etc/openvpn/easy-rsa/pki/renewed/private_by_serial:

/etc/openvpn/easy-rsa/pki/renewed/reqs_by_serial:

/etc/openvpn/easy-rsa/pki/revoked:
private_by_serial
reqs_by_serial

/etc/openvpn/easy-rsa/pki/revoked/private_by_serial:
1A3B664F0BA2AFA28A7E4EEE3C86699D.key
1EFCE7BD50025B435EE7311FE2E7973B.key
1F9FD2209E63C0F283EFB7A80DB97BE7.key
270D286191EE7C19857991734F0AA4C5.key
2AC209E9CFEDF97013223A719103A165.key
2C36CEE612F5FF22C70154F5ED6FA632.key
44BF1F15C9200173ED8C75E8C337A428.key
70D80671887EEA3BD1096AC2B26C22DB.key
987B39AEEC85EE72B1F090100DBA86C8.key
BF57A68A9966EE5C588D99970F6DFAAF.key
C513CB8ECC488060D10EAF5666CAC39D.key
CD88F58B5D29A523C8DBBADAE6C5B36D.key
DE9366994F93CD5B4DB7062E736209F0.key
E3CB16C466C32C4CD48DD74BD5D20885.key
E73D93C36B6284B10A060752196AEAB5.key
EAB73C3E532ECC0ECB9A50BD5079160C.key
FDEF84E4D21BAFEFE6E1BBC655DD55E7.key

/etc/openvpn/easy-rsa/pki/revoked/reqs_by_serial:
1A3B664F0BA2AFA28A7E4EEE3C86699D.req
1EFCE7BD50025B435EE7311FE2E7973B.req
1F9FD2209E63C0F283EFB7A80DB97BE7.req
270D286191EE7C19857991734F0AA4C5.req
2AC209E9CFEDF97013223A719103A165.req
2C36CEE612F5FF22C70154F5ED6FA632.req
44BF1F15C9200173ED8C75E8C337A428.req
70D80671887EEA3BD1096AC2B26C22DB.req
987B39AEEC85EE72B1F090100DBA86C8.req
BF57A68A9966EE5C588D99970F6DFAAF.req
C513CB8ECC488060D10EAF5666CAC39D.req
CD88F58B5D29A523C8DBBADAE6C5B36D.req
DE9366994F93CD5B4DB7062E736209F0.req
E3CB16C466C32C4CD48DD74BD5D20885.req
E73D93C36B6284B10A060752196AEAB5.req
EAB73C3E532ECC0ECB9A50BD5079160C.req
FDEF84E4D21BAFEFE6E1BBC655DD55E7.req
=============================================
::::		Self check		 ::::
:: [OK] IP forwarding is enabled
:: [OK] Ufw is enabled
:: [OK] Iptables MASQUERADE rule set
:: [OK] Ufw input rule set
:: [OK] Ufw forwarding rule set
:: [OK] OpenVPN is running
:: [OK] OpenVPN is enabled (it will automatically start on reboot)
:: [OK] OpenVPN is listening on port 1194/tcp
=============================================
::::      Snippet of the server log      ::::
=============================================
::::		Debug complete		 ::::

@shelleycat485
Also, could this be the problem?

You can use iptables to dump current config; then delete the extra rules in FORWARD and OUTPUT.   I tend to rebuild from scratch if it is that different, and build up incrementally. Can you do that?  It depends on what else you have running on it - I've never tried explicitly putting UFW on but that could be the problem.

But even then I am unable to ssh to the box if I am not connected to the VPN!. I am confused, coz my understanding from the above IPTABLES is that my connection shouldn't be blocked.

Can you see what is happening on the pi when the VPN is not connected.  If it is headless can you write a script to run a set of diagnostics every minute on the pi, output to a file.  Include things that show iptables, netstat -ant, netstat -anu, what happens when you try to resolve a name nslookup, and trying to ping out to your local network, and of course ifconfig.  Then have this running with the VPN on and off, and see what changes.  You are looking for things not listening any more, or  ssh listening on the wrong interface, on ipv6 only etc.
e.g for netstat:
netstat -ant >> t.t
netstata -any >> t.t

I don't think disconnecting VPN changes anything in services listening. My RPI is the VPN server itself. Anyways, I'll try running these commands.

I agree, but I cannot see what is going on, so lets try to see what is listening when you have and have not got a VPN connected - they should be the same, but there has to be something.
The other thing to try, of course, is see what your routing, and dns lookup are like on the CLIENT box when you are connected and not connected.  For example, if you are connecting by name, do you have a dns server present on the client when you are connected to the VPN and when you are not connected (use nslookup for that), and is the route correct to the VPN pi when you are connected (must be, but you should be able to see it) and when you have no VPN connected (remember that you need a route to the listening address on the VPN box when you are not connected to the VPN box).
The next step I was going to suggest was to use tcpdump on the VPN pi, dumping to a file for a few minutes, then try disconnecting the VPN, and see what traffic is being seen.  It needs quite a bit of fiddling with switches to get it working right if you are not familiar with tcpdump, but you can see all packets coming on.
Are you familiar with virtual machines?

Meanwhile, I ran the commands. The output looks similar. The first minute was when VPN was connected. The rest when VPN was disconnected.
diag.txt

Also, I am not testing from a single machine. I am testing from multiple client machines on the same network. So definitely not a client issue.
nslookup should not be needed since it is not a DNS routing issue. IP connection itself is failing when VPN is off.
I'll try tcpdump but in the meantime, do you think the modem config I posted about is good? Maybe I missed something?

Well I'm scratching my head here.  I've lookat at your diag.txt
1 you are running ipv6 as well, you could try turning that off temporarily to disgnose, because it makes things more complicated.
2 you are running both wireguard and openvpn.  Try diagnosing only one at a time.  At least I am assuming that the tun0 is the openvpn and the wg0 is the wireguard.
3  see above about trying tcpdump
4  Agree with you about nslookup in you case.
5  Why is openvpn listening on tcp and udp?  I thought it should only be udp?

You modem setup looks fine to me, but you did not post the port forwarding - port 1194 should be forwarded to you Pi vpn machine.  Presumably your modem has port forwarding in two cases because you need forwarding for both wireguard and openvpn.  And you are forwarding the correct TCP/UDP

I have just checked with a VPN pi I am running, both wg and openvpn.  Its only listening 1194 (actually a changed port) on UDP.  I've looked at a second VPN pi running openvpn only, its only listening on 1194 UDP.   Your tcp listening is unusual.

I was testing WG a few weeks back. But it is already uninstalled. The interface exists, but nothing listens to it.
There is no forwarding setup for wg in my modem.
Also my openvpn is running on TCP on port 1194. BTW, where did you notice openvpn running on UDP? I can't seem to find it.

Sorry, I've looked at diag.txt again and you are right - cannot see the UDP.
However, the wg0 has traffic on it - why is that if you are not using it?
wg0: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1420
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  destination <IP_ADDRESS>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 101448  bytes 9964084 (9.5 MiB)
        RX errors 254  dropped 0  overruns 0  frame 254
        TX packets 103521  bytes 10001284 (9.5 MiB)
        TX errors 5  dropped 0 overruns 0  carrier 0  collisions 0

Finally... it was WG. I am so relieved.
I thought I had disabled WG at startup. But I had just stopped it. Now I've disabled it using systemctl disable.
And I removed the binary
Now it is working. Phew.

Thank you so much for your help.


Possible Bug in Exercise 26 of Practice Functional Programming

Challenge http://www.freecodecamp.com/challenges/waypoint-practice-functional-programming has an issue. Please describe how to reproduce it, and include links to screen shots if possible.
This issue probably comes under the category of "quasi bug".
For new programmers, this is a difficult tutorial but doable, for the most, part with a basic understanding of the native Java Script reduce(), map(), filter(), and concat() methods. The problem, or bug, is this: Some of the solutions to the exercises appear not to work when verified independently (using Chrome dev tools or repl.it, for example). For example, exercise 26 may appear to produce empty arrays.
The reason is bound to the author's use of custom functions. In the tutorial, the author demonstrates implementing custom concatAll(), concatMap() and zip() methods. The exercise solutions, as well as the author's custom implementations, rely on slightly tweaked versions of the native filter(), reduce(), map() methods. Thus, the exercises run in the author's UI but may not be replicable independently without the author's tweaked versions of map(), reduce(), and filter().
This issue is explored in the stackoverflow thread at http://stackoverflow.com/questions/31348805/mapping-data-from-multiple-arrays-of-objects-to-a-new-object-in-javascript-using/31365090#31365090. Jeremy Larter explains the problem and provides a full example of the solution for exercise 26 plus the working custom functions at http://jsbin.com/tolupe/edit?js,console.
I would suggest that this waypoint set the expectation that the author uses custom implementations of native JS methods to drive the exercises and the custom implementations of concatAll() and concatMap().

On my system (fully-updated Windows 7, using Chrome), none of the exercises which require .concatAll() will pass, even when running the author's solution accessed by the Show Answer button.

Closing this because that specific external resource has been removed from the curriculum.


Required field not comment in docs

Title:  Required field not comment in docs
Description:

What issue is being seen? Describe what should be happening instead of
the bug, for example: Envoy should not crash, the expected value isn't
returned, etc.

I find if no connection_timeout set, cluster config would raise an error.
In https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto#, it does not comment REQUIRED.
Some discuss is in slack.
I want to fix it while do not know how to do :(
Repro steps:

Include sample requests, environment, etc. All data and inputs
required to reproduce the bug.

Note: The Envoy_collect tool
gathers a tarball with debug logs, config and the following admin
endpoints: /stats, /clusters and /server_info. Please note if there are
privacy concerns, sanitize the data prior to sharing the tarball/pasting.

Admin and Stats Output:

Include the admin output for the following endpoints: /stats,
/clusters, /routes, /server_info. For more information, refer to the
admin endpoint documentation.

Note: If there are privacy concerns, sanitize the data prior to
sharing.

Config:

Include the config used to configure Envoy.

Logs:

Include the access logs and the Envoy logs.

Note: If there are privacy concerns, sanitize the data prior to
sharing.

Call Stack:

If the Envoy binary is crashing, a call stack is required.
Please refer to the Bazel Stack trace documentation.

I am taking a look at this.

@phlax  Would you mind to take a look on linked PR?  Thanks!.


Add Windows Support to the Rancher vSphere CPI and CSI charts for 2.6.x

https://github.com/rancher/vsphere-charts is where the new upstream charts will be maintained and then rancher/charts will simply pull them through by commit
https://github.com/rancher/charts/blob/dev-v2.6/charts/rancher-vsphere-cpi/100.1.0%2Bup1.0.100/values.yaml
vSphere CPI CCM should only require linux images (which are currently mirrored and present). This might work out of the box.
https://github.com/rancher/charts/blob/dev-v2.6/charts/rancher-vsphere-csi/100.1.0%2Bup2.3.0/values.yaml#L73-L83
vSphere CSI node has three containers listed and none of the mirrored images are windows images. This would 100% block this chart from working on a windows node.
There is the possibility of using the upstream vsphere csi chart as it may offer windows support. Additional research needs to be done on this subject.

https://github.com/rancher/dashboard/issues/5170
This issue discusses UX improvements for the Apps and Marketplace regarding experimental charts which the vsphere CPI/CSI charts would be when they first come out with Windows support.

This can be closed. I have added it.

https://github.com/rancher/vsphere-charts/pull/16
https://github.com/rancher/vsphere-charts/pull/18


Feature idea: Use other list properties besides "tags" as well.

Hi,
Thank you very much for writing and maintaining this great plugin.
I am trying to structure my notes as an internal knowledge graph. That is, a knowledge graph with labelled edges to account for different relationship types that a subject could have with an object in the spirit of a Triple store or other knowledge graphs.
With tags you can only emulate one relationship type, generic associations of the note to one or several tags, but not what those associations are. To go to knowledge graphs, you need to use a different list property for each edge type. For example, one list property could be is a and another used in.  For example a note about Obsidian could be:
---
is-a:
  - computer-program
used-in:
  - personal-knowledge-management
---

It would be awesome if you could then use tagfolder in the same way as of now but taking into account other (selected) list properties as well, displaying them in the same way as different tags are displayed right now:
Tag Folder

> is-a:#computer-program
    > used-in:#personal-knowledge-management
> used-in:#personal-knowledge-management
    > is-a:#personal-knowledge-management

That way you would get the full power of a knowledge graph with Obsidian. Is this something you consider feasible to do with tagfolder? Is there an alternative to get similar behavior?

I realize that this may need a setup more similar to what is implemented with Link Folder where list property elements are links to other files rather than neutral tags—and in addition also transitive links to allow for building a hierarchy as with nested tags.


Fix build step

WIP

I've figured that uglify-js went missing because of v3.0.0 was released and now it is called uglify-es
Now I get this error
[14:56:05] GulpUglifyError: unable to minify JavaScript
Caused by: TypeError: Cannot read property 'replace' of undefined
File: /Users/koruza/code/aegir-test-repo/dist/index.js

#129 is critical because no one is able to do npm run build on js-ipfs

The issue is this -> https://github.com/terinjokes/gulp-uglify/issues/287
Seems that we would have to wait for https://github.com/terinjokes/gulp-uglify/milestone/1 to happen.
Would you like to propose a path? Looks like we just have to downgrade uglify-js version. Unfortunately aegir was using a branch name instead of a commit, so know we need to do a git bisect to find which is the last commit that works, unless you happen to know it by chance :)

It's good now :)

@dignifiedquire ready for the merge

@dignifiedquire there you go

Thank you

you bet :)


Twitter text split at whitespace or punctuation

See https://twitter.com/myl107/status/1448251470369992704?s=20

Blockquote text may require special splitting policy that we should split at line break only other than whitespaces in quoteblock text

Kinda complicated. Currently ignore it and if there is someone really need it, please reopen the issue.


Behavior when no implementation is available

I've already suggested this on Twitter, but it seemed nice to report this here: what should be the behavior of this package when no compatible implementation is available? (i.e. fresh/empty project)
IMHO, the plugin should ask the user which library she would prefer, and fallback to a sensible default if Composer is in --no-interactive mode.
WDYT?

On a fresh new empty project, the plugin will do nothing, unless there is a require on one of the supported virtual packages.
Then, when a dep is added to this new project and this one needs one of those virtual packages, the plugin will look for the current deps of the project, so it will select what fits best to the set of deps. If there is no best fit, the plugin will select the first listed implementations, which are symfony/http-client and nyholm/psr7. The reason is that those are the most stable packages, in terms of long term maintenance policies.
About going interactive in this situation, that'd void the purpose of the plugin, which is to make it easy to install a 3rd party lib that relies only on virtual packages.
But if one doesn't like these defaults, adopting anything else is just a few composer commands away.


'Operand type clash: int is incompatible with date' when trying to use a Option with a date field

I allow nulls on the field. I think it's a bug since I can use Option with other data type. It works if I use unwrap_or(NaiveDate::from_ymd(1970, 1, 1)).
[date_req] [date] NULL

Server(TokenError { code: 206, state: 2, class: 16, message: "Operand type clash: int is incompatible with date", server: "some_server", procedure: "", line: 1 })

Do you have some code to reproduce, to me it's not quite clear what I need to do to trigger this.

Sorry for the late reply.
sql
CREATE TABLE [dbo].[test_date](
	[date] [date] NULL
) ON [PRIMARY]

code
extern crate chrono;
extern crate futures;
extern crate tiberius;

use chrono::naive::NaiveDate;
use futures::future::Future;
use tiberius::SqlConnection;

fn main() {
    let conn_str = std::env::var("MSSQL").unwrap();

    // works
    let some_date = Some(NaiveDate::from_ymd(1970, 1, 1));

    // doesn't works
    // let some_date: Option<NaiveDate> = None;

    SqlConnection::connect(conn_str.as_str())
        .and_then(move |conn| {
            conn.exec("INSERT INTO test_date (date) VALUES (@P1);", &[&some_date])
        })
        .wait()
        .unwrap();
}

Were you able to reproduce? Anything I can do to help?

Cannot reproduce, let me know if you still can reproduce that on latest master.


Make StringLiterals and HeritageClauses into TypeNodes.

Make StringLiterals and HeritageClauses into TypeNodes. It makes the checker much simpler and nicer.

:smile:

:+1:


coverage: use LLVM and bazel native coverage

Signed-off-by: Lizan Zhou<EMAIL_ADDRESS>Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:

This is ready, still using single binary though LLVM and bazel native coverage. CI fails because coverage is below threshold (96.94%). The report is here and should be compared to coverage report from #7566: https://248596-65214191-gh.circle-artifacts.com/0/coverage/index.html

@lizan agreed let's drop the % required for now and ship it. Looking through there is legit coverage missing so maybe we can raise it again one day.
Q: Which project(s) would we file issues against to get the ability to exclude lines back? It seems like something that shouldn't be that hard to do and maybe we could list as a starter project somewhere. (Either way let's open an issue to track further coverage improvements.)
/wait

@mattklein123 With #7568 I think 97.0% is the threshold we can use for now. It is 0.5% down from currently, which is the gap of excluded lines.

Q: Which project(s) would we file issues against to get the ability to exclude lines back? It seems like something that shouldn't be that hard to do and maybe we could list as a starter project somewhere. (Either way let's open an issue to track further coverage improvements.)

It is llvm-cov. Yeah from a quick glance it shouldn't be too hard to do.

/retest

There is already one in LLVM actually: https://bugs.llvm.org/show_bug.cgi?id=34277

@asraa FYI, this should change how coverage is done in OSS Envoy and it should make it faster to iterate around the nghttp2 coverage effort.


The icon and font does not appear when I am not connected to the Internet

My project is an intranet project and cannot access the external network. As a result, my font icons are not displayed.

Can fonts and graphics be deployed in the project?

@yingchy1996 you can change the icons. On the README now has a section for a workaround to change the icons:
Take a look in there please on the Changing the Icons section

I know，Thanks

@yingchy1996  the new version 1.1.6 should solve the font problem https://github.com/wfpena/angular-wysiwyg/pull/31


Add safety:mask:covid19 field.

This field would allow users to put down if a place requires you to wear a mask, or not. More info here.

This would also help us cases like McDonalds; Where even though mask regulations may vary by state, the fast food franchise requires all customers to wear a mask.

I have the impression that this tag didn't get much traction in the past year or so. I think it is not really worth to include at this point.


docs: add missing type exports

Codecov Report

Merging #69 (0f58221) into main (c6d02a7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #69   +/-   ##
=======================================
  Coverage   99.24%   99.24%
=======================================
  Files          46       46
  Lines        1199     1199
  Branches      253      253
=======================================
  Hits         1190     1190
  Misses          8        8
  Partials        1        1

Impacted Files
Coverage Δ

src/lib/Shapes.ts
100.00% <ø> (ø)

src/validators/ArrayValidator.ts
100.00% <ø> (ø)

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 c6d02a7...0f58221. Read the comment docs.


Update school confirmation email #WIP

Adds newly provided wording.

[x] Add link to training page once implemented

To be merged after #1231


added cifar10 dist script

Following up on this comment, adding a script with the complete code of the CIFAR10 Distributed tutorial.

Added the script in #26


Update uk-UA strings

Thanks! Can you update session snapshot description as well?

@JasonStein it is already in master :)

@JasonStein it is already in master :)

Yes, but I added a reminder at the end of the description to notify user that session snapshot is disabled in shadow instances :)

Oh, sorry, will do


Update the close button for Bootstrap 5

Why was this change made?
This is the prescribed way https://getbootstrap.com/docs/5.1/components/close-button/
How was this change tested?
It used to look like this:

Now it looks like:

Which documentation and/or configurations were updated?

i think just the X changed. looks fine and again, i'll double-check in DEV, thank you!

@ndushay I attached some screen shots above.


Skip fusing group convolutions

It passes the CI, but not the coverage because there is no test for tracing added. I am not sure if its necessary right now.

It passes the CI, but not the coverage because there is no test for tracing added. I am not sure if its necessary right now.

I am fine to merge it.


Cluster Configuration Support

Currently the plugin only supports a single string for cluster host config.
This should allow multiple hosts in order to leverage the cluster rather than a single node.
backend/datasource.go#L284
func (ds *CassandraDatasource) Connect(host, ...) (bool, error) {
        ...
	cluster := gocql.NewCluster(host)

Hi @elliottll, thank you for your contribution.
Most of the Cassandra drivers use the contact point only for the initial connection, load the cluster token ranges and then contact the proper replica nodes, so-called token-aware drivers. It's a common misunderstanding that Cassandra works only with the contact point (like some other DBMS do).
Although I'm not 100% sure about gocql driver, so I'll check if it's token-aware.

Right, GoCQL is token-aware https://github.com/gocql/gocql/blob/master/policies.go#L372
But it may be a good idea to support more than one contact point indeed, I won't close this issue right now. @futuarmo Do you think we have to support multiple contact points?

Implemented in #130, to be merged as soon as conflicts will be resolved.


Pill count and refill reminder

Can you please add a option to get the count of pills remaining and refill alert. It would be great if you could add this feature

This was already asked some time ago and would be a major new feature. I currently have no time to work on this, but I'll keep it open to track potential progress and discussion about it.

@Futsch1 could you perhaps outline the steps needed to implement this feature? From what I can gather, they would be:

[ ] Create a new database class for Pill Count Reminders. The properties are different enough that I don't think we can reuse the Reminder class (which is more time-based rather than counter-based)
[ ] Associate with medicine data using medicineRelId
[ ] Figure out a way to deal with custom units and dosages (or provide users with standard units and limit this feature to those)
[ ] Incorporate into UX flow (creation/deletion, updation, notification) (I'd appreciate more guidance on this)
[ ] Test the new class and associated helpers and modals (also in need of guidance)

@Blend3rman your points would summarize the basic ideas.
In terms of database, there would be two aspects to consider: One is the remaining amount of the medicine - this should be added to the Medicine table. To start easy, it might be enough to only have one refill reminder setting per medicine (like on/off and reminder threshold). This way, no new table is required and these settings can also be added to the Medicine table.
The decrement feature would be a bit more tricky. What I could think of is to have a second amount field where the user can add the actual value the medicine amount is decreased per dosage (like you would have the amount as "1 tbl spoon", you would set the decrease amount to "10" representing 10 ml). If the amount is a number, this decrease amount could be filled automatically. However, the alternative using units is also possible, albeit more complex I guess.
Regarding the UX, you would have to work with the layout XMLs. The app uses Android navigation (https://developer.android.com/guide/navigation) and fragments classes associated with each screen. I have not worked with ViewModels a lot, since most of the fragments are just pure configuration screens and the state of the data does not change by itself. So the classes corresponding to the fragments contain the logic to put the database fields into the UI fields and back.
Concerning testing, unit tests are used for the core business logic and some helpers. For UI centric features, Android test via Espresso is the way to go.

@Futsch1 Thank you for the details! I'll try figuring this out slowly.

As more and more medication trackers are switching to subscription models, I switched to this app and I really like the UI.
What I also miss is the reminder to buy new pills.
I think it needs a pack size, a current amount (which you can maintain manually please) and a threshold for when to buy a new pack. The threshold value should be individual. Because some medicines are difficult to get, others are not very important (vitamins).
Counting down is hopefully not complicated and should be done with the confirmation of intake. If something goes wrong, you can adjust the current amount manually.

Wow, fantastic. Thank you for your efforts. ❤


chore: add periodic task test coverage

Add freebsd implementation as well.

Codecov Report
Patch coverage: 100.00% and project coverage change: +1.17% :tada:

Comparison is base (debfbef) 76.47% compared to head (d1a8a9b) 77.64%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #139      +/-   ##
==========================================
+ Coverage   76.47%   77.64%   +1.17%
==========================================
  Files          98       98
  Lines        7106     7114       +8
==========================================
+ Hits         5434     5524      +90
+ Misses       1672     1590      -82

Files Changed
Coverage Δ

util/fibers/epoll_proactor.h
100.00% <ø> (ø)

util/fibers/proactor_base.h
92.53% <ø> (ø)

util/fibers/epoll_proactor.cc
88.15% <100.00%> (+11.48%)
:arrow_up:

util/fibers/fibers_test.cc
99.10% <100.00%> (+0.01%)
:arrow_up:

... and 3 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


⚠ Bofrost.fr has degraded performance

In f8f2e5e, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1748 ms

Resolved: Bofrost.fr performance has improved in 544f7f0 after 6 minutes.


Message dispatch rate policies support cross multiple clusters.

Master Issue: #13444
Motivation
Message dispatch rate policies support cross multiple clusters.
Documentation

[x] no-need-doc

@315157973 @codelipenghui PTAL

@Anonymitaet
Sorry, it's my fault to missing doc information.
Could i have a way to remove this tag?

/pulsarbot rerun-failure-checks

/pulsarbot rerun-failure-checks

/pulsarbot rerun-failure-checks

@mattisonchao You delete the backticks (``) so that Bot can not recognize the info and then labels the PR with doc-info-missing.
[x] doc-required  ✅
[x] doc-required ❌
Details: https://docs.google.com/document/d/1Qw7LHQdXWBW9t2-r-A7QdFDBwmZh6ytB4guwMoXHqc0/edit
I've labelled this PR with no-need-doc


UI needs a way to set the gap limit, or a special feature to do a one time scan with a higher gap limit for recovery.

Gap limit should be 1000 to make sure we get worst case scenarios.


Update Readme

Shorten the time of cloning by directly cloning the correct branch and not fetching the other branches. Also gets rid of the warnings regarding non-empty directories when switching the branch and of the need to execute git submodule update --init again afterwards.

Set all dependencies to a fixed version since we do not develop on OS3 actively and if only some versions are fixed, simple updates like this will fail because of some conflict in the requirements.

Also, as observed in #6403, breaking changes in dependencies which do not have a max version will break our code and make it impossible to set up new instances.


Github dark theme: flowchart difficult to follow

Github has announced official dark theme support yesterday, and unfortunately the flowchart is not all that visible with it:

Perhaps the connector lines could be grey?

added a colored background, it is readable now.
Even better would be to export an .svg file from the .dia file, accepting PR for improving the diagrams!


Instantiate an ES view from a Studio SPARQL query automatically

Feature request by @slhill
After a user wrote his or her SPARQL query, he or she can choose to generate an ES view for that query, in order to speed up the subsequent requests.

Parser for SPARQL -> ES would be really expensive to do, see https://github.com/BlueBrain/nexus/issues/1169 for alternative.


Accept amr block data as Array3D

If the block data is Array3D, the field's commit function will return here: https://github.com/ospray/anari-ospray/blob/main/scene/volume/spatial_field/AMRField.cpp#L55, which is a bug. The PR fixes this.

merged by hand


Allow for custom login/warn templates

Re this issue: https://github.com/jbittel/django-mama-cas/issues/38
Is this satisfactory? Currently passes the tox tests

Looks good, thanks!


Prevent password reset for migrated users  (fixes #1080)

Migrated user

Unmigrated user

r+wc

Definitely shouldn't have done the redirect. I was trying to avoid modifying the view but I could make the change in the form instead, so I did that.

nice, that looks more straight forward


about promotion default value

Hi, I wonder what is the default value of move.promotion? Can I decide whether the current move is a promotion by checking whether promotion === ''?

You can check the flags property on the move object: https://github.com/jhlywa/chess.js#moves-options-
const isPromotion = move.flags.includes('p')

Thanks for your response! I have read the doc, am I able to check this flags only in the verbose mode, or it doesn't matter?


type conversion, dangerous Int8 data

My .dta (STATA) file has some columns as Float32, others as Int8, etc. Especially the Int8 casuses lots of problems in the code (overflow...), so they must be converted to Int64.
Is there a simple way of telling readstat() to do that? (I prefer not to create a df.) If not, I would kindly ask for an option safe_types (or something) that would convert all Intx to Int64 and perhaps also all Floatx to Float64.

Hi! It sounds like the problems you mention occur after the file is loaded, right? Currently, the value types are determined based on the variable-specific metadata in the file. So, you are asking for type conversion at the time of reading the file, without building the columns based on the value types suggested by the metadata. I think this would be a feature to be implemented. It's viable although not readily available at this moment.

Yes, such a feature would be very useful.


Fails to launch .cmd files

As of version 0.4.5 (0.4.4 works correctly), on windows, batch/command files don't work unless you include the .bat/.cmd extension.  This causes problems with running scripts from npm packages in a way that is agnostic of Windows/Linux.  For example, if I have semver installed, there will be both a ./node_modules/.bin/semver (for Linux) and a ./node_modules/.bin/semver.cmd (for Windows).  At my actual command line I should just be able to run semver (without an extension) on either Windows or Linux.  As of 0.4.5, I have to launch it as semver.cmd when on Windows which means I have to switch my webpack code based on platform (which is less than ideal).
Just speculating, but could it have something to do with the switch to child_process.spawn from child_process.exec?

This might explain things:  https://nodejs.org/dist/latest-v6.x/docs/api/child_process.html#child_process_spawning_bat_and_cmd_files_on_windows

This probably came from switch to spawn instead of exec. I'll keep the spawn for unix operating systems, but for windows i'll use exec instead.

Could you try with version 0.4.7?

Getting the following error now:
`C:\src\health-buyflow\node_modules\webpack-shell-plugin\lib\index.js:196
this.spreadStdoutAndStdErr(exec(script, puts));
^
ReferenceError: puts is not defined
at WebpackShellPlugin.handleScript (C:\src\health-buyflow\node_modules\webpack-shell-plugin\lib\index.js:196:49)
at Compiler. (C:\src\health-buyflow\node_modules\webpack-shell-plugin\lib\index.js:254:19)
at Compiler.applyPluginsAsync (C:\src\health-buyflow\node_modules\tapable\lib\Tapable.js:71:13)
at Compiler.emitAssets (C:\src\health-buyflow\node_modules\webpack\lib\Compiler.js:226:7)
at Compiler. (C:\src\health-buyflow\node_modules\webpack\lib\Compiler.js:184:10)
at C:\src\health-buyflow\node_modules\webpack\lib\Compiler.js:403:12
at Compiler.next (C:\src\health-buyflow\node_modules\tapable\lib\Tapable.js:67:11)
at Compiler. (C:\src\health-buyflow\node_modules\webpack\lib\CachePlugin.js:40:4)
at Compiler.applyPluginsAsync (C:\src\health-buyflow\node_modules\tapable\lib\Tapable.js:71:13)
at Compiler. (C:\src\health-buyflow\node_modules\webpack\lib\Compiler.js:400:9)
at Compilation. (C:\src\health-buyflow\node_modules\webpack\lib\Compilation.js:577:13)
at Compilation.applyPluginsAsync (C:\src\health-buyflow\node_modules\tapable\lib\Tapable.js:60:69)
at Compilation. (C:\src\health-buyflow\node_modules\webpack\lib\Compilation.js:572:10)
at Compilation.applyPluginsAsync (C:\src\health-buyflow\node_modules\tapable\lib\Tapable.js:60:69)
at Compilation. (C:\src\health-buyflow\node_modules\webpack\lib\Compilation.js:567:9)
at Compilation.applyPluginsAsync (C:\src\health-buyflow\node_modules\tapable\lib\Tapable.js:60:69)
at Compilation. (C:\src\health-buyflow\node_modules\webpack\lib\Compilation.js:563:8)
at Compilation.applyPluginsAsync (C:\src\health-buyflow\node_modules\tapable\lib\Tapable.js:60:69)
at Compilation.seal (C:\src\health-buyflow\node_modules\webpack\lib\Compilation.js:525:7)
at Compiler. (C:\src\health-buyflow\node_modules\webpack\lib\Compiler.js:397:15)
at C:\src\health-buyflow\node_modules\tapable\lib\Tapable.js:103:11
at Compilation. (C:\src\health-buyflow\node_modules\webpack\lib\Compilation.js:445:10)
at C:\src\health-buyflow\node_modules\webpack\lib\Compilation.js:417:12
at C:\src\health-buyflow\node_modules\webpack\lib\Compilation.js:332:10
at C:\src\health-buyflow\node_modules\webpack\node_modules\async\lib\async.js:52:16
at done (C:\src\health-buyflow\node_modules\webpack\node_modules\async\lib\async.js:246:17)
at C:\src\health-buyflow\node_modules\webpack\node_modules\async\lib\async.js:44:16
at C:\src\health-buyflow\node_modules\webpack\lib\Compilation.js:332:10
at C:\src\health-buyflow\node_modules\webpack\node_modules\async\lib\async.js:52:16
at done (C:\src\health-buyflow\node_modules\webpack\node_modules\async\lib\async.js:246:17)`

This is a duplicate #23 closing.
But @szymonkudzia had made a fix #24 and has been released, see if that clears up the error and refer to #23


storage: collect flow statistics in batch_get_commands

What problem does this PR solve?
Issue Number: close https://github.com/pingcap/pd/issues/2499
Problem Summary:
Sometimes PD receives zero read bytes when running get or batch_get.
When enable_batch_commands is true, TiKV packs several get requests into a batch_get_commands if load is high. However, there was a mistake that the flow statistics of batch_get_commands are not collected.
What is changed and how it works?
What's Changed:
Collect statistics in batch_get_commands.
Related changes

Need to cherry-pick to the release branch

Check List
Tests

Manual test (add detailed scripts or steps below)

Previously, although there was lots of point selects, read bytes keep 0.

This PR:

Release note
Fix the bug that read statistics of point selects are inaccurate.

/merge

/merge

...

/run-all-tests

/merge

Wait a minute, let me also add the collection for raw_batch_commands

/merge

(@AndreMouche wants to debug the sre-bot)

/merge


[Feature Request] Provide Migrations API

Is your feature request related to a problem? Please describe.
Prisma itself does not offer programmatic access to its migration library, originally reported here: https://github.com/prisma/prisma/issues/4703
Describe the solution you'd like
It would be great if Zenstack provided a way to run migrations programmaticly.
Describe alternatives you've considered
Running the prisma command via a shell exec
Additional context
The main purpose of this for me is to allow applications to bootstrap itself without needing to run the prisma db push command or ship a preseeded DB

Hi @tylergets ,
ZenStack doesn't integrate with Prisma migrate in any way today. If it does that I think it should do it in a way that's integrated with other core features (access control etc.).
I'm keeping this issue in the backlog for now to collect more feedback.

I think having a good workflow around migrations, especially data migrations, are going to be necessary in order to use generated CRUD hooks in a production app.
As they stand now, version skew could cost queries to fail, if a client uses an old version of generated hooks tied to an old schema.
The best practice to handle version skew of APIs is to version your APIs, so you can maintain the same shape of response for older clients.
How do you do that with the auto-generated RPC-style APIs?
I know that I can still manually create my own API routes using tRPC for instance, and calling the enhance() function.
But for developer productivity, it would be nice if this versioning could be handled for me, since ZenStack knows about my schema and it knows how it changes over time.
Currently data migrations are a missing piece of the Prisma workflow. But Prisma doesn’t handle CRUD API generation. We’re expected to implement our own.
But with ZenStack, let's say we follow the “expand and contract”recommended by Prisma to migrate our data, and we drop the column in the “contract” step, wouldn’t  old clients break because the frontend hooks mirror the Prisma API which mirrors the database columns?
The way the frontend query code is coupled to the database schema is not ideal in this scenario, because it makes the API resistant to change.

Hey @andrictham , thanks for the wait! I think I don't fully understand the versioning scenario yet.
Here's my confusion. In the "expand and contract" process, when you take the "contract" step and finally remove the old column, there's supposed to be no one using that column anymore, right? In the context of ZenStack, the backend enhanced prisma should have been updated in previous deployments to cut over from reading/writing the old columns to the new ones. The frontend hooks should have been regenerated and redeployed, too.
Is this specifically about the browser windows that haven't been refreshed to load the new frontend bundle yet? Or is it about a general mechanism to run multiple API versions that serve different versions of schemas concurrently? So that you can have the client to keep running different versions of hooks for an extended period of time?

@ymc9

Is this specifically about the browser windows that haven't been refreshed to load the new frontend bundle yet?

Yes, mostly, that would be my biggest concern for a live production app, as there is no good way to guarantee users will not be using an older version, leading to version skew between client and server, unless we do a version check and force clients to refresh.
This is enough of a problem that Vercel specifically has a feature to handle this.
Vercel’s version skew wouldn’t work here, though, because the older backend code would break too since it’s tightly coupled to the database schema.
This could become a non-issue if I do a version check and/or wait long enough for clients to phase out of using older client code.
But that strategy would only work if we forgo any sort of offline capability with optimistic mutations, which Tanstack Query supports.

Or is it about a general mechanism to run multiple API versions that serve different versions of schemas concurrently? So that you can have the client to keep running different versions of hooks for an extended period of time?

I don’t know if there's an easier way to solve version skew, but if there’s an easier way, I’m all for it.
There seems to be two separate issues here:

Version skew between client and server (our RPC hooks)
Version skew between server and database (our Prisma client)

Since ZenStack uses a single schema to generate both, it also has the potential ability to resolve both types of version skew.
And at the same time, the ability to serve multiple backward-compatible API versions and handle deprecated or renamed fields gracefully would also be a win for developer productivity.
There are also migration issues where a schema change would require existing data or older requests to be migrated to the new schema, which Prisma doesn’t handle today.
Since ZenStack is schema-first and already a DSL for writing custom rules (now largely validation and access control rules), I can imagine it being able to also support data migration rules.
This could help simplify simple schema changes like renaming or combining/splitting fields, or complex tasks like relaxing or imposing new constraints on the data or changing data types.
Off the top of my head, this would be rules like how to:

Backfill newly-required columns that used to be optional with a default value
Reroute requests to a column or model that was renamed, using aliases to handle requests coming in that still refer to the column or model by its old name
Gracefully handle cases where a column in a previous schema had different validation rules or data type, and how to reformat it to be compatible with the new rules/type
Gracefully handle cases where one or more columns are merged into a single column, by writing rules to transform data, like a computed value (say firstName + lastName)
Gracefully handle cases where a single column is split into multiple columns, by writing rules to transform data (splitting by substring, for instance)

And for version skew between client and server in RPC code, perhaps older clients automatically send a version which signals what schema version they are querying or mutating, which would trigger the relevant data migration rules to run.


filtering arc plot contact distance on regional plot runs forever

Completes in about 5-10 seconds
plot = DMS.plot_arcs(interactions="pairprob", region=[6070,6120], title=False, colorbar=False)
Completes never (>10mins)
plot = DMS.plot_arcs(interactions="pairprob", region=[6070,6120], title=False, colorbar=False, interactions_filter={"cdBelow":600})
This is a subset region of a 7kb transcript.
The subset region contains incomplete arcs that either only begin or only end within the region.
I'm guessing this instance is not accounted for in some loop that causes it to run forever?
The same holds true for other subset regions as well:
Completes in ~20 seconds
plot = DMS.plot_arcs(interactions="pairprob", region=[5500,7000], title=False, colorbar=False)
Completes never
plot = DMS.plot_arcs(interactions="pairprob", region=[5500,7000], title=False, colorbar=False, interactions_filter={"cdBelow":600})

Thanks Scott! This is really helpful feedback. I will add a disclaimer to the documentation for the cdAbove/cdBelow filters.
To acheive what you're going for here, I highly recommend re-running partition with --maxdistance 600.
In the background, RNAvigate is computing the contact distance pairwise matrix for the entire RNA secondary structure. This implements a breadth first search spanning the tree for every possible starting node O(V(V+E)). V=nodes (nucleotides), E=edges (basepairs and backbone). This is probably the most intensive computation RNAvigate does. I've tested this on 18S ribosome, which takes about 1 minute on my computer. It scales roughly binomially with the length of your RNA (if 1000 nt takes 1 min, 10000 nt takes about 100 min). The good news is that once RNAvigate does this computation on a given structure in a given sample, the result is stored and any further filtering by contact distance is almost instant.

No prob! And okay, I will do the filtering step on partition then. Thanks
for the solution!
Cheers,
Scott
On Wed, Sep 14, 2022 at 2:36 PM Patrick Irving @.***>
wrote:

Thanks Scott! This is really helpful feedback. I will add a disclaimer to
the documentation for the cdAbove/cdBelow filters.
To acheive what you're going for here, I highly recommend re-running
partition with --maxdistance 600.
In the background, RNAvigate is computing the contact distance pairwise
matrix for the entire RNA secondary structure. This implements a breadth
first search spanning the tree for every possible starting node O(V(V+E)).
V=nodes (nucleotides), E=edges (basepairs and backbone). This is probably
the most intensive computation RNAvigate does. I've tested this on 18S
ribosome, which takes about 1 minute on my computer. It scales roughly
binomially with the length of your RNA (if 1000 nt takes 1 min, 10000 nt
takes about 100 min). The good news is that once RNAvigate does this
computation on a given structure in a given sample, the result is stored
and any further filtering by contact distance is almost instant.
—
Reply to this email directly, view it on GitHub
https://github.com/Weeks-UNC/RNAvigate/issues/5#issuecomment-1247157896,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3CJBGEDBO2ZSL7BT5VISGDV6ILKPANCNFSM6AAAAAAQMU6PFA
.
You are receiving this because you authored the thread.Message ID:
@.***>


vs2015 libeasypr 编译时候 C2275 'cv::ml::SVM': illegal use of this type as an expression	 plate_judge.cpp

vs2015 libeasypr 编译时候 C2275 'cv::ml::SVM': illegal use of this type as an expression	 plate_judge.cpp
请问如何解决这个 c2275 问题啊

modify config.h:
//#define CV_VERSION_THREE_ZERO
#define CV_VERSION_THREE_TWO
to solve it


Project Plan: ComfyChair Conference Management System

Project Overview
The ComfyChair project aims to develop a comprehensive system for managing scientific conferences, encompassing user registration, paper submission, review processes, and session management.
Project Phases
Phase 1: Initiation

No take into consideration.

Phase 2: Planning

Task 2.1: Detailed project scheduling and resource allocation.
Task 2.2: Risk management planning.
Duration: 1 day

Phase 3: Execution
3.1 System Design

Task 3.1.1: Architectural design.
Task 3.1.2: System modeling
Task 3.1.3: Integration of system components.
Duration: 2 weeks

3.2 Testing and Quality Assurance

Task 3.2.1: Unit testing.
Task 3.2.2: Integration testing.
Task 3.2.3: System testing.
Duration: 2 weeks

3.3 Deployment and Training

Task 3.3.1: System deployment on production servers.
Task 3.3.2: User training sessions.
Task 3.3.3: Documentation delivery.
Duration: 2 weeks

Phase 4: Closure

Task 4.1: Final project review.
Task 4.2: Post-mortem analysis.
Task 4.3: Project documentation and deliverables handover.
Duration: 1 week

Resources

Human Resources: Software engineer.
Technological Resources: Development tools for C++.

Communication Plan

Daily Team Communication: Status updates, task tracking, and issue resolution.
Weekly Meetings: Progress review and feedback collection.

Risk Management

Risk 1: Technology compatibility issues. Mitigation: Early prototype testing.
Risk 2: Delays in deliverables. Mitigation: Agile methodology to allow flexibility in task scheduling.
Risk 3: Budget overruns. Mitigation: Regular financial audits and contingency planning.

Approval
@GabrielEValenzuela  ✅
@marventu94

LGTM


MQTT connection restart every minute

Hmm. Again I see MQTT connection restarts,. almost exactly every minute, without obvious reason. Sadly I have nothing in the log to tell when this started.
I'll restart the adapter now and keep watching to hopefully get anything useful in the log when it starts this reconnection loop.

Hi,
I have observed this myself sometimes. Restarting the adapter fixed the issue every single time I had the issue. Very hard to reproduce. Not sure where to take it from here. If I ever find a way to debug this, I'll fix this. Closing this because of the tiny chance to fix this.


Lua unresolved symbol: lua_checkstack

Lua unresolved symbol: receiving an error loading a lua module lrexlib.
Description:
I'm trying to use the lua filter (fully understanding its experimental).  One of our users requires the use of libpcre but we're running into issues including the lrexlib lua library
error:
[2017-12-21 20:15:15.243][32732][error][lua] source/common/http/filter/lua/lua_filter.cc:485] script log: error loading module 'rex_pcre' from file '/usr/local/lib/lua/5.1/rex_pcre.so':
    /usr/local/lib/lua/5.1/rex_pcre.so: undefined symbol: lua_checkstack

The script in question could be summarized as
local rex = require "rex_pcre"
match = rex.match(referrerHeader, '^\\/search\\?.*category=.*')

Hmm. I'm going to guess this has something to do with either LuaJIT or the fact that we statically link LuaJIT, but I'm not really sure. I'm not going to have time to look into this for a while, so will mark this help wanted in case any Lua experts have an idea.

Your are using the lrexlib external library inside your lua script
http://rrthomas.github.io/lrexlib/manual.html
It is common for people to use this to do some string matching.
I am still trying to play with envoy lua but I think at this point it simply look for the library from a fixed location. So I guess you can simply compile lrexlib and make sure the generated shared object library is in /usr/local/lib/lua/5.1/ and try again.

Hello,
So I was able to fix this by adding -Wl,-E to the list of linker options.  I do not have a good explanation of why this works only that it does work in my case 🤔

Sorry i misunderstood the original problem a little.
The reason for the need of the above linker options are also somewhat explained here, too -
https://github.com/zdevito/terra/issues/6

Yeah, this has to do with static linking and the fact that the Envoy binary needs to export the symbols that the SOs need. @taion809 can you potentially do a doc update? https://github.com/envoyproxy/data-plane-api/blob/master/docs/root/configuration/http_filters/lua_filter.rst (Maybe an attention at the top). It would probably be worth it to make the link option settable via a bazel option and document that also.

@mattklein123 sure, could you assign it to me and ill look at it next week?

@taion809 done, thank you!


Mi Air Purifier 3/3H - Property polling not working - Call to device timed out

I have an issue with the device property polling for my Air Purifier.
Token is correct - i checked it multiple times.
Local IP is also correct.
It worked after I switched to this plugin some weeks ago - but it stopped some days in the past.
Here is the logfile:
`[10/3/2024, 10:40:59 AM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /var/lib/homebridge/node_modules --strict-plugin-resolution
[10/3/2024, 10:40:59 AM] [HB Supervisor] Started Homebridge v1.8.4 with PID: 2340
[10/3/2024, 10:40:59 AM] Loaded config.json with 0 accessories and 5 platforms.
[10/3/2024, 10:40:59 AM] Loaded 7 cached accessories from cachedAccessories.
[10/3/2024, 10:40:59 AM] ---
[10/3/2024, 10:41:00 AM] Loaded plugin<EMAIL_ADDRESS>[10/3/2024, 10:41:00 AM] Registering platform 'homebridge-miot.miot'
[10/3/2024, 10:41:00 AM] ---
[10/3/2024, 10:41:00 AM] Loading 5 platforms...
[10/3/2024, 10:41:00 AM] [miot] Initializing miot platform...
[10/3/2024, 10:41:00 AM] [miot] Initializing devices
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Got device configuration, initializing device with name: Mi Air Purifier 3/3H
Setup Payload:
X-HM://0023S1XTLYEVX
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
┌────────────┐
│ xxx-xx-xxx │
└────────────┘

[10/3/2024, 10:41:00 AM] Homebridge v1.8.4 (HAP v0.12.2) (Homebridge DD57) is running on port 51674.
[10/3/2024, 10:41:00 AM]
NOTICE TO USERS AND PLUGIN DEVELOPERS

Homebridge 2.0 is on the way and brings some breaking changes to existing plugins.
Please visit the following link to learn more about the changes and how to prepare:
https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0

[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Model known: zhimi.airpurifier.mb3!
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Initializing device!
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Initializing device services
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Device services: [
"air-purifier",
"environment",
"filter",
"alarm",
"indicator-light",
"physical-controls-locked",
"button",
"filter-time",
"motor-speed",
"use-time",
"aqi",
"rfid",
"others"
]
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Initializing device properties
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Device properties: [
"air-purifier:fault",
"air-purifier:on",
"air-purifier:fan-level",
"air-purifier:mode",
"environment:pm2.5-density",
"environment:relative-humidity",
"environment:temperature",
"filter:filter-life-level",
"filter:filter-used-time",
"alarm:alarm",
"indicator-light:brightness",
"indicator-light:on",
"physical-controls-locked:physical-controls-locked",
"button:button-pressed",
"filter-time:filter-max-time",
"filter-time:filter-hour-debug",
"motor-speed:motor-strong",
"motor-speed:motor-high",
"motor-speed:motor-med",
"motor-speed:motor-med-l",
"motor-speed:motor-low",
"motor-speed:motor-silent",
"motor-speed:motor-favorite",
"motor-speed:motor-speed",
"motor-speed:motor-set-speed",
"motor-speed:favorite-fan-level",
"use-time:use-time",
"aqi:purify-volume",
"aqi:average-aqi",
"aqi:average-aqi-cnt",
"aqi:aqi-zone",
"aqi:sensor-state",
"aqi:aqi-goodh",
"aqi:aqi-runstate",
"aqi:aqi-state",
"aqi:aqi-updata-heartbeat",
"rfid:rfid-tag",
"rfid:rfid-factory-id",
"rfid:rfid-product-id",
"rfid:rfid-time",
"rfid:rfid-serial-num",
"others:app-extra",
"others:main-channel",
"others:slave-channel",
"others:cola",
"others:buttom-door",
"others:reboot-cause",
"others:hw-version",
"others:iic-error-count",
"others:manual-level",
"others:country-code",
"others:temperature-unit",
"others:device-serial-number"
]
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Initializing device actions
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Device actions: [
"filter:reset-filter-life",
"button:toggle",
"button:toggle-mode"
]
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Successfully created a AirPurifier device! It is a Xiaomi Mi Air Purifier 3H.
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Initializing accessory!
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Accessory successfully initialized!
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Registering 1 accessories!
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Everything looks good! Initiating property polling!
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Device found! Setting up miot device from local connection!
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Connected to device: zhimi.airpurifier.mb3
[10/3/2024, 10:41:00 AM] [miot] [Mi Air Purifier 3/3H] Doing initial property fetch.
[10/3/2024, 10:41:12 AM] [miot] [Mi Air Purifier 3/3H] Starting property polling.
[10/3/2024, 10:42:04 AM] [miot] [Mi Air Purifier 3/3H] Poll failed 4 times in a row! Stopping polling and trying to reconnect! Reason: Error: Call to device timed out`
Any idea what the problem could be? Any hint what to do?

Reason: Error: Call to device timed out might have multiple reasons... if you are sure that your ip and token are correct then you should try to reset the device as that might help.

Do you mean a factory reset? Or what type of reset?
And yes, IP is correct and token is correct.

yes factory reset of the device.

A factory reset solved the problem (without knowing what the root cause was).
Thank you !!!

Solved


net/http: document response body close error handling

Documentation of the net/http package suggests in two examples https://pkg.go.dev/net/http#pkg-overview and https://pkg.go.dev/net/http#example-Get to use defer to close response body and thus ignore returned error:
resp, err := http.Get("http://example.com/")
if err != nil {
	// handle error
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
// ...

securego linter was recently changed to catch all unhandled errors of io.ReadCloser.Close and therefore it started to catch the very common defer resp.Body.Close() pattern, see discussion https://github.com/securego/gosec/issues/925.
It would be great to update package documentation examples with a proper error handling of resp.Body.Close() (or confirm that defer resp.Body.Close() is a safe and recommended pattern).

@neild can you give this a look?


github: set repo & namespace when forking

ogr-tests-rpm  : FAILURE in 7m 24s

ogr-tests-pip-deps  : FAILURE in 7m 23s

Try to regenerate the response file for the failed test.


Failing tests (and failing to install) again

501 Protocol scheme 'https' is only supported if IO::Socket::SSL is installed <URL:https://http.perl6.org/camelia-logo.png>

Since the latest change to https everywhere.

Hum. Then, back to deprecating this as in #32 ?

We can actually leave it like it is, although only testing http, I guess...


Implement carousel with basic functionality

Adds a basic carousel for use across the app. Currently takes two props:

items: an array of the items that the carousel should scroll across
size: the number of items that the carousel should display on the screen

Still to be implemented is the styling as well as a third prop direction which will dictate whether the carousel should be arranged in a row or a column.
Another improvement would be hiding the increment/decrement buttons at end of range states.

I did put it on the page and make sure that it works as expected. I haven't written tests for it yet, but I probably should. I'm wrapping up the basic functionality on another component and then I'll come back to add those. We can let these PRs sit until they have at least one test added.

sweet sounds good, no rush.

Looks pretty good. Not sure in which cases you'll need to show multiple items at once in the carousel, but all functionality and tests seem good, only some minor style nits that can be ignored if you want

Btw displaying more than one item is for a use case like this:


⚠ RbxVeri has degraded performance

In 28157cc, RbxVeri (https://verify.triza.dev) experienced degraded performance:

HTTP code: 200
Response time: 11278 ms

Resolved: RbxVeri performance has improved in 493f5d9.


pd-api: get regions with top size

What problem does this PR solve?

add HTTP API and pd-ctl to get the regions with the top size.

What is changed and how it works?

add HTTP API for getting regions with the top size.
add pd-ctl command.

Check List
Tests

Unit test
Manual test (add detailed scripts or steps below)

Code changes

Has HTTP API interfaces change

Side effects
no
Related changes

Need to update the documentation

Don't forget to update the api.raml file too.

PTAL @disksing


Multi-scale inference

Do the results in paper use the multi-scale inference or not？

The results in the paper are not with multi-scale inference (the multi-scale results are in the sup. mat.)

Noted. Thanks!


Add the ability to launch components in advance, as when using keep-alive, but immediately when you start the application.

What problem does this feature solve?
I have a SPA consisting of several heavy main sections. And between them there is a transition animation. At the first transition to any section, a hang occurs due to which the animation is twitching. I would like to be able to run these sections at the very beginning in advance and keep them alive.
What does the proposed API look like?
<keep-alive :always-on="true">
    <router-view/>
</keep-alive>

What you are looking for is not feasible by Vue because keep alive cannot guess all the possibilities to create the components before hand  and keep them alive. It would require you to pass an array of components and their props so Vue can mount them and then deactivate them. This would however make your application lag at the beginning

Possibly wrap all of them in a functional component accepting a prop to decide which to show, then use this functional component of all of the routes, but pass a different prop to decide which one to v-show:
{
  path: '/a',
  component: Wrapper,
  props: () => ({  show: 'a' })
},
{
  path: '/b',
  component: Wrapper,
  props: () => ({  show: 'b' })
}

// Wrapper.js
import A from './A.vue'
import B from './A.vue'
export default {
  functional: true,
  props: ['show'],
  render: (h, {props}) => {
    const CompA = h(A, { style: { display: props.show === 'a'} })
    const CompB = h(B, { style: { display: props.show === 'b'} })
    return [CompA, CompB]
  }
}

Just an idea, not tested.

Theoretically the best solution to this is some kind of ability to "pre-render trees in the background, using low priority". This is something that Vue 3 will potentially look into, but not necessarily in the way it is proposed here.


[MinGW64] ncurses crashes (memory leak?)

When trying to execute initscr() from the ncurses library (MinGW64)
It crashes the program.
#0  0x00007ffaa976771f in ntdll!RtlIsNonEmptyDirectoryReparsePointAllowed ()
   from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffaa976df0a in ntdll!RtlpNtSetValueKey ()
   from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ffaa9714f22 in wcstok_s () from C:\Windows\SYSTEM32\ntdll.dll
#3  0x00007ffaa9729048 in ntdll!memset () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x00007ffaa8bc995c in msvcrt!free () from C:\Windows\System32\msvcrt.dll
#5  0x00000000004309ed in really_free_termtype ()
#6  0x000000000041060f in _nc_setupterm_ex ()
#7  0x00000000004071da in newterm_sp ()
#8  0x00000000004075ab in newterm ()
#9  0x00000000004058c3 in initscr ()
#10 0x0000000000401582 in main () at CURHELLO.C:26

ncurses-devel is at the current version (6.0.20170708-2)
the MinGW64 package is at the current version (6.0.20170916-1).
The program was compiled using
gcc -g -I/mingw64/include/ncursesw/ CURHELLO.C -lncurses

from here:
http://www.paulgriffiths.net/program/c/srcs/curhellosrc.html
This also occurs with DosBox 0.74 in Debug Mode.

It seems this problem only occurs when starting a program from the shell.
This does not happen when a program gets started separately.


Add new quickstart for AMG and Streamlit with ECS, also fixed things in MSK/Snowpipe streaming quickstart

will resubmit


Subtract seconds instead of days to avoid problems with winter/summer…

…time.

Coverage remained the same at 91.473% when pulling e35a85460cc7d4b1eb8fe94fcc528cdb0bff359a on jansav:date-test-fix into 90d5f26594f5c65c62d4ab359c79d08b6d672cd0 on Houston-Inc:v1.0.5.

Coverage remained the same at 91.473% when pulling 9e9f9813c00ec356d6b1096467a953893e05884e on jansav:date-test-fix into 90d5f26594f5c65c62d4ab359c79d08b6d672cd0 on Houston-Inc:v1.0.5.


Compatibility with table sorting plugins ?

This plugin Tablesort allows dynamic sorting of columns on a traditional html table.
I imagine this may be highly problematic to integrate with floatThread although I'd love to be proven wrong.
Testing out the box Tablesort breaks when you then enable floatThread on the same table.   Tableshort attaches itself by default to your real table so the arrows for the table header scroll off the page and are not within the separated table header that floatThread has made in the DOM.
Is this worth pursuing?  Have others tried something like this?   Any feedback appreciated.

Any table sorting lib will work if that lib caches the table contents on init and does not attempt to reselect them every time you click a header.
You should also search past issues for 'sort'. I found this in one of them:
https://jsfiddle.net/xw4046pr/4/

Thanks for confirming.  I seem to have this running, should anyone want to use a nice table sorting plugin that I can recommend!
https://jsfiddle.net/arkid77/7r9zgsh3/15/


ZeroDivisionError: integer division or modulo by zero

I want to change the SSD backbone network to efficientnet_b3, and then change the Conv in efficiencynet_b3 to DOConv, but an error is reported, the error reported is:
Traceback (most recent call last):
File "train.py", line 120, in
main()
File "train.py", line 110, in main
model = train(cfg, args)
File "train.py", line 25, in train
model = build_detection_model(cfg)
File "/home/chengyuhong/SSDTK/ssd/modeling/detector/init.py", line 10, in build_detection_model
return meta_arch(cfg)
File "/home/chengyuhong/SSDTK/ssd/modeling/detector/ssd_detector.py", line 13, in init
self.backbone = build_backbone(cfg)
File "/home/chengyuhong/SSDTK/ssd/modeling/backbone/init.py", line 13, in build_backbone
return registry.BACKBONES[cfg.MODEL.BACKBONE.NAME](cfg, cfg.MODEL.BACKBONE.PRETRAINED)
File "/home/chengyuhong/SSDTK/ssd/modeling/backbone/efficient_net/init.py", line 10, in efficient_net_b3
model = EfficientNet.from_pretrained('efficientnet-b3')
File "/home/chengyuhong/SSDTK/ssd/modeling/backbone/efficient_net/efficient_net.py", line 215, in from_pretrained
model = EfficientNet.from_name(model_name)
File "/home/chengyuhong/SSDTK/ssd/modeling/backbone/efficient_net/efficient_net.py", line 211, in from_name
return EfficientNet(model_name, blocks_args, global_params)
File "/home/chengyuhong/SSDTK/ssd/modeling/backbone/efficient_net/efficient_net.py", line 148, in init
self._conv_stem = Conv2dSamePadding(in_channels, out_channels, kernel_size=3, stride=2, bias=False)
File "/home/chengyuhong/SSDTK/ssd/modeling/backbone/efficient_net/utils.py", line 81, in init
super().init(in_channels, out_channels, kernel_size, stride, 0, dilation, groups, bias)
File "/home/chengyuhong/SSDTK/ssd/modeling/backbone/efficient_net/DOConv2d.py", line 38, in init
if in_channels % groups != 0:
ZeroDivisionError: integer division or modulo by zero
Then I output the groups before the last error, and found that the last group value is False
I'm not sure where the problem is, do you have any ideas？

Please set the actual group value according to the different frameworks (do not set group to False), for example, you can set group=1 in the PyTorch implementation.


Support for new ChatGPT API?

Hi, I made https://magicbuddy.chat and I was wondering if you'll have support for the new ChatGPT API soon?

Great project @Illyism!
Btw, i've test magicbuddy, it seem the preformated not rendered properly in telegram


Add GHES support to Grant/Revoke Migrator Role commands

Closes #600
This PR adds the ability to specify a GHES API Url to the GrantMigratorRole and RevokeMigratorRole commands via the --ghes-api-url flag.

[x] Did you write/update appropriate tests
[x] Release notes updated (if appropriate)
[ ] Appropriate logging output
[x] Issue linked
[x] Docs updated (or issue created)

You also need to log the value of --ghes-api-url if provided in both of the handlers like this:
if (args.GhesApiUrl.HasValue())
{
    _log.LogInformation($"GHES API URL: {args.GhesApiUrl}";
}

P.S.: It's why we added that checkbox foe appropriate logging output 😉

Sounds good! I was planning on asking you tomorrow about this. Will add it in for sure 👍


replay continues when replayLimit counter is closed

We have the problem of polling and consuming uncommitted raft log when using AeronCluster and a service boundedReplaying archive of the cluster

In leader node, ConsensusModule is closed before archive, causing commitPosition counter is closed before archive

ReplaySession is still working since archive is alive. But as the commitPosition counter has been closed, ReplaySession will replay data to stop position, which can be later than commit position.

If the raft log in previous leader node is truncated later, the consumed data will be invalid.

This has been fixed with https://github.com/real-logic/aeron/commit/ee7c0ed1d4a95f9a0b68e5249b7b7338d340b3ea and https://github.com/real-logic/aeron/commit/c59bdb710a64f0de7d7afcf64bde8fa0a91ba3e7


chore: Update MLServer protobuf

Motivation
Related to updating the MLServer runtime image, the ModelRepository endpoint was deprecated.
References:
https://github.com/kserve/modelmesh-serving/issues/159
https://github.com/SeldonIO/MLServer/pull/616
Modifications

Updated protobuf
Updated mock server testing
Updated runtime-adapter code to call new endpoint

Result

MLServer runtime adapter no longer uses the deprecated model repository API

Thanks @rafvasq


TypeError: an integer is required (got type str)

Hi,
After upgrading to version 2022.04.03 (via @SmartHalls’ plugin), I get the following error message in the logs.
ecowitt2mqtt version
2022.04.3
Log output
ERROR:aiohttp.server:Error handling request
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
    resp = await request_handler(request)
  File "/usr/lib/python3.9/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
  File "/usr/lib/python3.9/site-packages/ecowitt2mqtt/mqtt.py", line 95, in async_publish_payload
    data = data_processor.generate_data()
  File "/usr/lib/python3.9/site-packages/ecowitt2mqtt/data.py", line 160, in generate_data
    output = calculate()
  File "/usr/lib/python3.9/site-packages/ecowitt2mqtt/util/time.py", line 7, in calculate_epoch
    return datetime.utcfromtimestamp(value).replace(tzinfo=timezone.utc)
TypeError: an integer is required (got type str)
INFO:aiohttp.access:<IP_ADDRESS>
[02/May/2022:04:26:15 +0000] "POST /data/report HTTP/1.1" 500 244 "-" "-"

Can you set your logs to DEBUG-level and share? I want to see what the raw value looks like.

I got the same error, here's the log output:
DEBUG:ecowitt2mqtt:Received data from Ecowitt device: {'PASSKEY': '--removed--', 'stationtype': 'GW2000A_V2.1.4', 'runtime': '3179', 'dateutc': '2022-05-18 18:17:37', 'tempinf': '71.2', 'humidityin': '49', 'baromrelin': '28.476', 'baromabsin': '28.476', 'tempf': '74.5', 'humidity': '47', 'winddir': '100', 'windspeedmph': '1.34', 'windgustmph': '2.24', 'maxdailygust': '2.24', 'solarradiation': '0.00', 'uv': '0', 'rrain_piezo': '0.000', 'erain_piezo': '0.000', 'hrain_piezo': '0.000', 'drain_piezo': '0.000', 'wrain_piezo': '0.000', 'mrain_piezo': '0.000', 'yrain_piezo': '0.000', 'ws90cap_volt': '0.6', 'ws90_ver': '119', 'lightning_num': '1', 'lightning': '27', 'lightning_time': '', 'wh57batt': '5', 'wh90batt': '3.16', 'freq': '868M', 'model': 'GW2000A'} ERROR:aiohttp.server:Error handling request Traceback (most recent call last):   File "/usr/local/lib/python3.8/dist-packages/aiohttp/web_protocol.py", line 435, in _handle_request     resp = await request_handler(request)   File "/usr/local/lib/python3.8/dist-packages/aiohttp/web_app.py", line 504, in _handle     resp = await handler(request)   File "/usr/local/lib/python3.8/dist-packages/ecowitt2mqtt/mqtt.py", line 95, in async_publish_payload     data = data_processor.generate_data()   File "/usr/local/lib/python3.8/dist-packages/ecowitt2mqtt/data.py", line 160, in generate_data     output = calculate()   File "/usr/local/lib/python3.8/dist-packages/ecowitt2mqtt/util/time.py", line 7, in calculate_epoch     return datetime.utcfromtimestamp(value).replace(tzinfo=timezone.utc) TypeError: an integer is required (got type str) INFO:aiohttp.access:<IP_ADDRESS> [18/May/2022:18:17:37 +0000] "POST /data/report HTTP/1.1" 500 244 "-" "-"

Thanks for the info, @moesizlag. The data in question is here:
'lightning_time': ''

This indicates that lightning sensors don't always return the time of the last strike; so, ecowitt2mqtt can't make that assumption.

Thanks for the prompt reply @bachya
I just received the weather station today and have no idea if / how accurate this field will be filled when strikes are recognized. And while I was typing my suggestion you already created a PR ;)
Thx !!

Happy to help, @moesizlag!

Thanks, @bachya! It’s appreciated. And apologies for the late feedback from me. I hadn’t yet got around to turn around verbose logging in the dockerized add on, but am happy that @moesizlag came to the rescue here. Thanks again and keep up the great work!


[AMBARI-24425] [Log Search UI] Create visible time histogram selection area

What changes were proposed in this pull request?
Correcting the colour and the dimension calculation of the invert drag area.
How was this patch tested?
It was tested manually and by unit tests:
PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 268 of 268 SUCCESS (11.821 secs / 11.659 secs)
✨  Done in 50.18s.

Please review Ambari Contributing Guide before opening a pull request.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/3544/
Test PASSed.


Add the missing test for ERC721Holder

This is one step towards #1147
🚀 Description
Add test coverage for ERC721Holder.

[x] 📘 I've reviewed the OpenZeppelin Contributor Guidelines
[x] ✅ I've added tests where applicable to test my new functionality.
[x] 📖 I've made sure that my contracts are well-documented.
[x] 🎨 I've run the JS/Solidity linters and fixed any issues (npm run lint:all:fix).

@nventuro one more time, please.


deps: update to newest poem lib

I updated the poem to the newest version. This current version is not supported for embbed static HTML file middleware, which we used in the other project.

@marverlous811 can you switch to 3.1 instead of 3.1.3?

@marverlous811 can you switch to 3.1 instead of 3.1.3?

@giangndm Yes, I have updated yet


Could not connect to postgres: Error: Client has already been connected. You cannot reuse a client.

Everytime I run npm run migrate up  all I get is
Could not connect to postgres: Error: Client has already been connected. You cannot reuse a client.
Could someone please provide a connection script example as to why the pool wouldn't be closed automatically running the command?

Everytime I run npm run migrate up all I get is
Could not connect to postgres: Error: Client has already been connected. You cannot reuse a client.
Could someone please provide a connection script example as to why the pool wouldn't be closed automatically running the command?

I use smth like this:
`const app = require("./bootstrap/app");
const {default: migrate} = require("node-pg-migrate");
const {Pool} = require("pg");
app.boot();
const pool = new Pool({
connectionString: process.env.POSTGRES_CONNECTION
});
let direction = process.argv[2] || "up";
async function main() {
migrate({
dbClient: await pool.connect(),
dir: __dirname+"/migrations",
direction: direction,
migrationsTable: "pgmigrations"
})
.then(() => {
console.log('Migrations complete!')
process.exit(0);
})
.catch(function(e){
console.error(e);
process.exit(0);
});
}
main();`

Client has already been connected. You cannot reuse a client. can be misleading. Look for more information in the whole error message

I fixed reporting of wrong error in v5.5.1, so the true cause of connection failure should be more visible.


MaterialCommunityIcons upgrade

upgrade MaterialCommunityIcons to v4.7.95

fixed the bug for glyph code larger than UTF-16 (65535) not showing up correctly. This is mainly due to the use of String.fromCharCode, which expect the code to be a UTF-16 value (0 ~ 65535):

Use the fromCodePoint() method if any of the Unicode values you wish to convert are not representable in a single UTF-16 code unit.

ping @oblador sorry to keep bugging you, please let us know is there any concern about this PR, which should be a pretty routine PR to bring icon set up to date with its source...

the requested change is done a while back, should have pin @szholdiyarov earlier... is there anything else I should address before rebase?
This PR has been sitting for a while so there is now a newer MaterialCommunityIcons version, I could update one more time to that version if you prefer.

Closing as a newer version has been merged


WIP - User managment backend - DB support & Register validation

fixes #55
fixes #45

Added Flask-SQLAlchemy to the project
Created database models and defined their tables schema.
Added validation to register form --wip
Restructured project

rename hello.py to run.py
added groot folder
moved template folder to groot folder
added static folder

Update deploy_flask.sh

flask can run on background
combine all the package installations in one line
use requirements.txt file as path for installations
created database

Co-Authored-By : @tomerguttman, @davidmdi, @ilanKushnir, @chenmal

Please split this MR apart - every line in your MR description should probably be a separate MR.

will be done.


Kafka source is disabled in the datahub-ingestion docker image for the tag v0.9.5 and later

Describe the bug
The kafka source is disabled in the datahub-ingestion image for the tag v0.9.5.
This was probably introduced by #6783 which imports ResourceType, https://github.com/datahub-project/datahub/blob/0fded4d40287c4ada540c707f0853638b011972c/metadata-ingestion/src/datahub/ingestion/source/kafka.py#L11-L15, which was introduced in confluent-kafka version 1.9.0, while the docker image has confluent-kafka version 1.8.2.
To Reproduce
Just run datahub check plugins in the docker image
$ docker run --rm -it acryldata/datahub-ingestion:v0.9.5 check plugins | grep disabled
kafka          (disabled)
For details on why a plugin is disabled, rerun with '--verbose'
If a plugin is disabled, try running: pip install 'acryl-datahub[<plugin>]'

Expected behavior
kafka source should be enabled by default.
Desktop (please complete the following information):
OS: Linux
Additional context
Partial stacktrace when trying to use the kafka source with the docker image acryldata/datahub-ingestion:v0.9.5:
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/datahub/ingestion/api/registry.py", line 97, in _ensure_not_lazy
    plugin_class = import_path(path)
  File "/usr/local/lib/python3.10/site-packages/datahub/ingestion/api/registry.py", line 32, in import_path
    item = importlib.import_module(module_name)
  File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/local/lib/python3.10/site-packages/datahub/ingestion/source/kafka.py", line 11, in <module>
    from confluent_kafka.admin import (
ImportError: cannot import name 'ResourceType' from 'confluent_kafka.admin' (/usr/local/lib/python3.10/site-packages/confluent_kafka/admin/__init__.py)

hey @daha ! just wanted to let you know this is on our radar and something we're looking into


Can’t report the results in your paper on S3DIS

Thanks for your brilliant work. I have training the network for S3DIS. But when I test the model, I can not report your result. Can you   provide your weight on S3DIS, so I can test the model. Thanks in advance.

Hi @lixincheng4026,
There is a pretrained models link in the readme.
Best,
Hugues

Hi @lixincheng4026,
There is a pretrained models link in the readme.
Best,
Hugues

Hi, can you tell me how many points there exists in each point cloud on S3DIS dataset during training and inference? Thanks!

Hi @sshan-zhao ,
I have no idea. You probably could find such information on the dataset website, or just by downloading it to see.
Best,
Hugues

Thank you for your reply. So, you use all points of a room as the input, right?
2020年10月7日 +1100 PM11:57 Hugues THOMAS<EMAIL_ADDRESS>
Hi @sshan-zhao ,
I have no idea. You probably could find such information on the dataset website, or just by downloading it to see.
Best,
Hugues
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thank you for your reply. So, you use all points of a room as the input, right?

No I use input spheres and not rooms as input. It is all explained in the paper.


Run Functional Tests: Test run stops with TaskCanceledException

I can't get the Run Functional Tests task to work with our real-life test suites.

On-premise TFS 2015 Update 3
VS Test Agent Deployment task deploys agent version 14.0.25420.1
Run Functional Tests task: Test Selection is Test Plan
Test Suite: Multiple selected

In total there are 400+ automated tests spanning three assemblies (5 tests + 19 tests + the vast majority of tests). The tests from the two smaller assemblies are successfully executed and their results are uploaded to TFS, then the test run stops.
Error in DTAExecutionHost.exe.log is:
E, 5568, 4, 2016/08/19, 17:16:03.450, MYTESTMACHINE\DTAExecutionHost, TestExecutionServiceCommandQueueListener.SendStopCommandToHandleException : An exception occured in queue listener. System.Threading.Tasks.TaskCanceledException: A task was canceled.
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Microsoft.VisualStudio.TestService.AgentExecutionHost.TestExecutionServiceCommandQueueListener.d__7.MoveNext() Sending Stop command...
Please find attached an anonymized DTAExecutionHost.exe.log excerpt for some more context (I could provide the full log to a supporter but not in a public forum).
test_log.txt

Hi,
You can send DTAExecutionHost.exe.log, build definition logs and a snapshot of your run functional test task to<EMAIL_ADDRESS>.

What do you mean by "snapshot" of the task?

I think I found the root cause. Nothing to do with number of assemblies nor number of tests. Some test cases in the test plan contained the same automated test ID (accidentally of course) -- once I corrected the associated test automation, the test run started running all tests.
All tests with duplicate IDs happen to be in the "main" assembly, so I guess that a misconfiguration as described prevents test execution of all tests in the affected assembly.
There is a very, very subtle hint in DTAExecutionHost.exe.log which brought me on the right track in the end:
I, 5568, 9, 2016/08/19, 17:14:23.726, MYTESTMACHINE\DTAExecutionHost, DefaultTestRunEvenHandler.OnTestRunMessage : VstestAdapter.Execution - RunMessage : An item with the same key has already been added.
Bottom line: I think this should actually not prevent from tests to run at all. At the very least, a clear error message must be logged.

Good to see that you are unblocked. We will look into it further at our end.


google.protobuf.text_format.ParseError: 65:3 : Message type "caffe.LayerParameter" has no field named "bn_param".

Hello, when i try to draw the picture of network structure as the follow :
python /caffe-master/python/draw_net.py deploy_p3d_resnet_sports1m.prototxt deploy_p3d_resnet_sports1m.jpg --rankdir=TB
there has a error that google.protobuf.text_format.ParseError: 65:3 : Message type "caffe.LayerParameter" has no field named "bn_param".
Thanks~

https://github.com/ZhaofanQiu/pseudo-3d-residual-networks/issues/13

@tak-wah You can get this issue fixed by following the instructions here: https://zhuanlan.zhihu.com/p/35359709


ControlMap needs to be redone with 'final' controls/control scheme

Dependant on #147

See #151

Why isn't automation closing this?


Produce MP wards layer

https://github.com/acteng/atip/issues/285 has two asks involving wards: "MP's wards" and "district ward boundaries".
I think I've at least got the first in this PR. You can use https://protomaps.github.io/PMTiles/ to view the output, using the URL https://atip.uk/layers/v1/wards.pmtiles.
Questions:

Do "MP wards" = parliamentary constituencies?
Do you know a table somewhere that maps each constituency to the current MP (or better yet, contact details)? An example census code is E14000954.
From my understanding, district wards make up these constituencies. These wards change more frequently? Where should we source this data -- something like https://geoportal.statistics.gov.uk/datasets/ons::wards-may-2023-boundaries-uk-bsc/about?

Background
Per https://www.parliament.uk/about/how/elections-and-voting/constituencies/, there are 533 parliamentary constituencies in England, with one MP each. (And the output file here has 533 areas covering England, so that's a good sign!)
I went down a rabbit hole trying to track down these boundaries. There's a recent review of these boundaries, described at https://boundarycommissionforengland.independent.gov.uk/data-and-resources/. They pointed to https://www.ordnancesurvey.co.uk/election-maps/gb/ and https://www.ordnancesurvey.co.uk/products/boundary-line for current constituencies, so that's how I wound up there. These're released under OS Open Data.
I think ONS republishes these boundaries too, based on OS Boundary Lines: https://geoportal.statistics.gov.uk/datasets/ons::wards-may-2023-boundaries-uk-bsc/about. Scripting the download straight from OS is easier than this site, and it looks like the results are the same.

As an absolute last resort, Wiki has the list: https://en.wikipedia.org/wiki/List_of_MPs_for_constituencies_in_England_(2019–present)

Do "MP wards" = parliamentary constituencies?

Correct

Thanks for the review. A separate repo could be fine. If something like https://github.com/martinjc/UK-GeoJSON was both up-to-date and authoritative, it would be an amazing productivity boost. Locating the correct datasets on the geoportals, transforming coordinate systems, and converting to other formats is effort worth deduplicating.

Because there are "MP" and "district" wards, I'm renaming these to "parliamentary constituencies," because that's what the actual boundary is called


Fix #11438 - 2nd run should reuse cache from the 1st run

Please, read the description and comments of #11438 to know what is the problem. This PR fixes it.

I also see that some of the CI builds are broken.

@radarek ping :-)

I'm closing this PR due to no recent activity. Feel free to re-open it if you ever come back to it.


Is there a way to specify a default validation rule?

I've also asked this question on StackOverflow - https://stackoverflow.com/questions/50125735/is-there-a-way-to-specify-a-default-validation-rule-in-fluentvalidation
Let's say I have the following class:
class MyClass
{
    public string Foo { get; set; }
    public string Bar { get; set; }
    public string Baz { get; set; }
}

and validation rules like this:
RuleFor(c => c.Foo).NotEmpty();
RuleFor(c => c.Bar).NotNull();  // Bar is allowed to be empty string
RuleFor(c => c.Baz).NotEmpty();

Is there a way to express a default rule that is used to validate any properties that don't have a specific rule specified? Something like this that should give the same validation result as above?
RuleFor(c => c.Bar).NotNull();
DefaultRule().NotEmpty();

No that's not possible I'm afraid. The idea behind FluentValidation is to provide a way to explicitly define strongly-typed rules against specific properties. This kind of defeats the purpose of that, so isn't something I'd be keen on including.
That being said, if you really want this functionality you may be able to build it. You'd have to do the following:

Use reflection to find all properties on the target object
Check if there are already rules defined in the validator for that property
For properties that don't have rules, construct a PropertyRule instance
For each rule, apply the validators you want in the default

Here's a quick example. You'd need to introduce caching to prevent the reflection on every instantiation of the validator:
public static class DefaultRuleExtension {
	public static void DefaultRule<T>(this AbstractValidator<T> validator, Action<IRuleBuilder<T, object>> defaultRuleBuilder) {
		var existingPropertiesWithRules = validator.OfType<PropertyRule>().Select(x => x.PropertyName).ToList();

		var properties = typeof(T).GetProperties(BindingFlags.Instance | BindingFlags.Public).Where(x => !existingPropertiesWithRules.Contains(x.Name));

		//TODO: Make sure you cache the properties and the expression tree so the reflection isn't performed on every instantiation.
		foreach (var property in properties) {
			var expression = BuildGetterExpression<T>(property);
			var rule = PropertyRule.Create(expression);

			validator.AddRule(rule);
			var ruleBuilder = new RuleBuilder<T, object>(rule, validator);
			defaultRuleBuilder(ruleBuilder);
		}
	}

	private static Expression<Func<T, object>> BuildGetterExpression<T>(PropertyInfo prop) {
		var param = Expression.Parameter(typeof(T), "x");
		Expression expression = Expression.PropertyOrField(param, prop.Name);

		if (prop.PropertyType.IsValueType)
			expression = Expression.Convert(expression, typeof(object));

		return Expression.Lambda<Func<T, object>>(expression, param);
	}
}

Usable like this:
public class DemoValidator : AbstractValidator<Person> {
	public DemoValidator() {
		this.DefaultRule(r => {
			r.NotEmpty();
		});
	}
}

Wow, thanks for an awesome answer.  Do you mind if I cross post it to my SO question, with credit to you of course, so others seeing my question there can benefit?
I may end up creating an extension package that includes this functionality.  I'll let you know how it goes.

Sure, that's fine