Cannot access published ports from remote hosts

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description

Start a container and publish port, attempt to access to port from another host on the same network and the connection attempt fails.
Steps to reproduce the issue:

podman run -d -p 80:80 nginx:latest

curl http://container-host/ (from another host)

Describe the results you received:
curl: (7) Failed to connect to container-host port 80: No route to host
Describe the results you expected:
Nginx welcome page html printed to stdout
Additional information you deem important (e.g. issue happens only occasionally):
When I turn on iptables logging getting these messages
FINAL_REJECT: IN=enp5s0 OUT=cni-podman0 MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=xx.xx.xx.xx DST=<IP_ADDRESS> LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=4085 DF PROTO=TCP SPT=58926 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0

Port mapping is working if the request is coming from the host that the container is running on.
The bridge seems to be starting correctly, have forced br_netfilter module to load.
Have attached the output of iptables -t -nvL and iptables -nvL before and after container start.
iptables.txt
Output of podman version:
Version:            1.6.1
RemoteAPI Version:  1
Go Version:         go1.12.9
OS/Arch:            linux/amd64

Output of podman info --debug:
debug:
  compiler: gc
  git commit: ""
  go version: go1.12.9
  podman version: 1.6.1
host:
  BuildahVersion: 1.11.2
  CgroupVersion: v1
  Conmon:
    package: conmon-2.0.1-1.fc30.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.1, commit: 4346fbe0b2634b05857973bdf663598081240374'
  Distribution:
    distribution: fedora
    version: "30"
  MemFree:<PHONE_NUMBER>0
  MemTotal:<PHONE_NUMBER>4
  OCIRuntime:
    package: runc-1.0.0-93.dev.gitb9b6cc6.fc30.x86_64
    path: /usr/bin/runc
    version: |-
      runc version 1.0.0-rc8+dev
      commit: e3b4c1108f7d1bf0d09ab612ea09927d9b59b4e3
      spec: 1.0.1-dev
  SwapFree:<PHONE_NUMBER>2
  SwapTotal:<PHONE_NUMBER>2
  arch: amd64
  cpus: 8
  eventlogger: journald
  hostname: container-host
  kernel: 5.2.18-200.fc30.x86_64
  os: linux
  rootless: false
  uptime: 10h 26m 49.05s (Approximately 0.42 days)
registries:
  blocked: null
  insecure:
  search:
  - docker.io
  - registry.fedoraproject.org
  - quay.io
  - registry.access.redhat.com
  - registry.centos.org
store:
  ConfigFile: /etc/containers/storage.conf
  ContainerStore:
    number: 4
  GraphDriverName: overlay
  GraphOptions:
    overlay.mountopt: nodev,metacopy=on
  GraphRoot: /var/mnt/podman/lib/containers/storage
  GraphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "true"
  ImageStore:
    number: 4
  RunRoot: /var/mnt/podman/run/containers/storage
  VolumePath: /var/mnt/podman/lib/containers/storage/volumes

Package info (e.g. output of rpm -q podman or apt list podman):
podman-1.6.1-2.fc30.x86_64

Additional environment details (AWS, VirtualBox, physical, etc.):
Running on a physical box
OS Fedora Sliverblue 30
Kernel 5.2.18-200.fc30.x86_64

we dont set up rules to allow external traffic to access your host ... we believe that is the job of the user.

@baude He's not rootless, so CNI should be doing this automatically, I think.

Evidently, it's not...
@st1971 Can you get the output of iptables -nvL --table nat and iptables -nvL?

Sorry should have mentioned that this is rooted container only (rootless work fine) and that if I run something like ncat listening on port 80 can connect without a problem so the traffic is getting to the host but its not getting through to the container
output of iptables -nvL --table nat
Chain PREROUTING (policy ACCEPT 7 packets, 1819 bytes)
 pkts bytes target     prot opt in     out     source               destination
25781 6812K PREROUTING_direct  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
25781 6812K PREROUTING_ZONES  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    7   424 CNI-HOSTPORT-DNAT  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT 2 packets, 179 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 12 packets, 720 bytes)
 pkts bytes target     prot opt in     out     source               destination
16493 1019K OUTPUT_direct  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
  751 46888 CNI-HOSTPORT-DNAT  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT 12 packets, 720 bytes)
 pkts bytes target     prot opt in     out     source               destination
 9110  559K CNI-HOSTPORT-MASQ  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* CNI portfwd requiring masquerade */
16491 1019K POSTROUTING_direct  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
16491 1019K POSTROUTING_ZONES  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    0     0 CNI-8129993faf51451c334704ce  all  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>/0            /* name: "podman" id: "a02c014f56f89cc5860582803b2473162cee18e718e8f9ec268fcf00233f0e23" */

Chain CNI-8129993faf51451c334704ce (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/16         /* name: "podman" id: "a02c014f56f89cc5860582803b2473162cee18e718e8f9ec268fcf00233f0e23" */
    0     0 MASQUERADE  all  --  *      *       <IP_ADDRESS>/0           !<IP_ADDRESS>/4          /* name: "podman" id: "a02c014f56f89cc5860582803b2473162cee18e718e8f9ec268fcf00233f0e23" */

Chain CNI-DN-8129993faf51451c33470 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 CNI-HOSTPORT-SETMARK  tcp  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>/0            tcp dpt:80
    0     0 CNI-HOSTPORT-SETMARK  tcp  --  *      *       <IP_ADDRESS>            <IP_ADDRESS>/0            tcp dpt:80
    0     0 DNAT       tcp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:80 to:<IP_ADDRESS>:80

Chain CNI-HOSTPORT-DNAT (2 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 CNI-DN-8129993faf51451c33470  tcp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* dnat name: "podman" id: "a02c014f56f89cc5860582803b2473162cee18e718e8f9ec268fcf00233f0e23" */ multiport dports 80

Chain CNI-HOSTPORT-MASQ (1 references)
 pkts bytes target     prot opt in     out     source               destination
    2   120 MASQUERADE  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            mark match 0x2000/0x2000

Chain CNI-HOSTPORT-SETMARK (2 references)
 pkts bytes target     prot opt in     out     source               destination
    2   120 MARK       all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* CNI portfwd masquerade mark */ MARK or 0x2000

Chain OUTPUT_direct (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING_ZONES (1 references)
 pkts bytes target     prot opt in     out     source               destination
 5955  362K POST_FedoraWorkstation  all  --  *      enp5s0  <IP_ADDRESS>/0            <IP_ADDRESS>/0           [goto]
 1004 62733 POST_FedoraWorkstation  all  --  *      +       <IP_ADDRESS>/0            <IP_ADDRESS>/0           [goto]

Chain POSTROUTING_direct (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain POST_FedoraWorkstation (2 references)
 pkts bytes target     prot opt in     out     source               destination
16491 1019K POST_FedoraWorkstation_log  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
16491 1019K POST_FedoraWorkstation_deny  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
16491 1019K POST_FedoraWorkstation_allow  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0

Chain POST_FedoraWorkstation_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain POST_FedoraWorkstation_deny (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain POST_FedoraWorkstation_log (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain PREROUTING_ZONES (1 references)
 pkts bytes target     prot opt in     out     source               destination
 9939 2603K PRE_FedoraWorkstation  all  --  enp5s0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0           [goto]
    0     0 PRE_FedoraWorkstation  all  --  +      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0           [goto]

Chain PREROUTING_direct (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain PRE_FedoraWorkstation (2 references)
 pkts bytes target     prot opt in     out     source               destination
25781 6812K PRE_FedoraWorkstation_log  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
25781 6812K PRE_FedoraWorkstation_deny  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
25781 6812K PRE_FedoraWorkstation_allow  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0

Chain PRE_FedoraWorkstation_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain PRE_FedoraWorkstation_deny (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain PRE_FedoraWorkstation_log (1 references)
 pkts bytes target     prot opt in     out     source               destination

output of iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
 103K  275M ACCEPT     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ctstate RELATED,ESTABLISHED
 1163 73144 ACCEPT     all  --  lo     *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
38243 9297K INPUT_direct  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
38243 9297K INPUT_ZONES  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    2    80 LOG        all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ctstate INVALID LOG flags 0 level 4 prefix "STATE_INVALID_DROP: "
    2    80 DROP       all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ctstate INVALID
18760 6154K LOG        all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            LOG flags 0 level 4 prefix "FINAL_REJECT: "
18760 6154K REJECT     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    7   424 CNI-FORWARD  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* CNI firewall plugin rules */
    0     0 ACCEPT     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  lo     *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    7   424 FORWARD_direct  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    7   424 FORWARD_IN_ZONES  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    7   424 FORWARD_OUT_ZONES  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    0     0 LOG        all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ctstate INVALID LOG flags 0 level 4 prefix "STATE_INVALID_DROP: "
    0     0 DROP       all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ctstate INVALID
    7   424 LOG        all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            LOG flags 0 level 4 prefix "FINAL_REJECT: "
    7   424 REJECT     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 155 packets, 15017 bytes)
 pkts bytes target     prot opt in     out     source               destination
 3076  212K ACCEPT     all  --  *      lo      <IP_ADDRESS>/0            <IP_ADDRESS>/0
85904 8005K OUTPUT_direct  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0

Chain CNI-ADMIN (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain CNI-FORWARD (1 references)
 pkts bytes target     prot opt in     out     source               destination
    7   424 CNI-ADMIN  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* CNI firewall plugin rules */
    0     0 ACCEPT     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>           ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>/0

Chain FORWARD_IN_ZONES (1 references)
 pkts bytes target     prot opt in     out     source               destination
    1    64 FWDI_FedoraWorkstation  all  --  enp5s0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0           [goto]
    0     0 FWDI_FedoraWorkstation  all  --  +      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0           [goto]

Chain FORWARD_OUT_ZONES (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 FWDO_FedoraWorkstation  all  --  *      enp5s0  <IP_ADDRESS>/0            <IP_ADDRESS>/0           [goto]
    7   424 FWDO_FedoraWorkstation  all  --  *      +       <IP_ADDRESS>/0            <IP_ADDRESS>/0           [goto]

Chain FORWARD_direct (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain FWDI_FedoraWorkstation (2 references)
 pkts bytes target     prot opt in     out     source               destination
    7   424 FWDI_FedoraWorkstation_log  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    7   424 FWDI_FedoraWorkstation_deny  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    7   424 FWDI_FedoraWorkstation_allow  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    0     0 ACCEPT     icmp --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0

Chain FWDI_FedoraWorkstation_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain FWDI_FedoraWorkstation_deny (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain FWDI_FedoraWorkstation_log (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain FWDO_FedoraWorkstation (2 references)
 pkts bytes target     prot opt in     out     source               destination
    7   424 FWDO_FedoraWorkstation_log  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    7   424 FWDO_FedoraWorkstation_deny  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    7   424 FWDO_FedoraWorkstation_allow  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0

Chain FWDO_FedoraWorkstation_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain FWDO_FedoraWorkstation_deny (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain FWDO_FedoraWorkstation_log (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT_ZONES (1 references)
 pkts bytes target     prot opt in     out     source               destination
14478 3602K IN_FedoraWorkstation  all  --  enp5s0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0           [goto]
   29  3868 IN_FedoraWorkstation  all  --  +      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0           [goto]

Chain INPUT_direct (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain IN_FedoraWorkstation (2 references)
 pkts bytes target     prot opt in     out     source               destination
38243 9297K IN_FedoraWorkstation_log  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
38243 9297K IN_FedoraWorkstation_deny  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
38243 9297K IN_FedoraWorkstation_allow  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    0     0 ACCEPT     icmp --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0

Chain IN_FedoraWorkstation_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:22 ctstate NEW,UNTRACKED
  688 56310 ACCEPT     udp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            udp dpt:137 ctstate NEW,UNTRACKED
  377 88149 ACCEPT     udp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            udp dpt:138 ctstate NEW,UNTRACKED
18415 2999K ACCEPT     udp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            udp dpts:1025:65535 ctstate NEW,UNTRACKED
    1    82 ACCEPT     tcp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpts:1025:65535 ctstate NEW,UNTRACKED

Chain IN_FedoraWorkstation_deny (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain IN_FedoraWorkstation_log (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT_direct (1 references)
 pkts bytes target     prot opt in     out     source               destination

    0     0 CNI-HOSTPORT-SETMARK  tcp  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>/0            tcp dpt:80
    0     0 CNI-HOSTPORT-SETMARK  tcp  --  *      *       <IP_ADDRESS>            <IP_ADDRESS>/0            tcp dpt:80
    0     0 DNAT       tcp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:80 to:<IP_ADDRESS>:80

This looks correct - the portmap plugin is making rules to forward the ports in question

@mccv1r0 Any ideas here? The IPTables setup looks sane, nearest I can tell

On my fedora 30 system, things work for me.  Note:  this server is not using nftables
$ podman version
Version:            1.5.1
RemoteAPI Version:  1
Go Version:         go1.12.7
OS/Arch:            linux/amd64
$

If the FORWARD chain default policy were DROP, iptables would drop.
In the iptables rules show above I see REJECT rules:

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    7   424 CNI-FORWARD  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* CNI firewall plugin rules */
    0     0 ACCEPT     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  lo     *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    7   424 FORWARD_direct  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    7   424 FORWARD_IN_ZONES  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    7   424 FORWARD_OUT_ZONES  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    0     0 LOG        all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ctstate INVALID LOG flags 0 level 4 prefix "STATE_INVALID_DROP: "
    0     0 DROP       all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ctstate INVALID
    7   424 LOG        all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            LOG flags 0 level 4 prefix "FINAL_REJECT: "
    7   424 REJECT     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0

with counters that are non zero.Where did these come from?

@mccv1r0 @mheon @baude thank you for pointing me in the right direction.  when i configured iptables tracing the FORWARD chain was dropping through to REJECT hence the error from curl.
added the following rules to the filter table and all is good now.
Chain FWDI_FedoraWorkstation_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination
    1    60 ACCEPT     tcp  --  *      *       xx.xx.xx.xx/24       <IP_ADDRESS>/16         tcp ctstate NEW,UNTRACKED
    0     0 ACCEPT     udp  --  *      *       xx.xx.xx.xx/24       <IP_ADDRESS>/16         udp ctstate NEW,UNTRACKED

guessing that there must have been a change to firewalld that's cause this, as it used to work out of the box.

looked at this again last night, switch the firewall backend from iptables to firewalld make this work without custom forward rules.  when using firewalld as the backend the rules setup by CNI respect the IN__allow rules.
Should firewalld be the default firewall backend in  87-podman-bridge.conflist?

Umm. IPTables is safer across many installs (lots of distros don't use it),
but you're right that it's a lot better when it's available. Would be nice
to autoselect if it's installed and running and use IPTables otherwise.
On Wed, Oct 16, 2019, 03:15 Steven Taylor<EMAIL_ADDRESS>wrote:

looked at this again last night, switch the firewall backend from iptables
to firewalld make this work without custom forward rules. when using
firewalld as the backend the rules setup by CNI respect the IN__allow rules.
Should firewalld be the default firewall backend in
87-podman-bridge.conflist?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/containers/libpod/issues/4260?email_source=notifications&email_token=AB3AOCCY64BAZLWULRRLBXLQO25PRA5CNFSM4JARYWN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBLMRMI#issuecomment-542558385,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3AOCHORKAR7WXWTQV7ZU3QO25PRANCNFSM4JARYWNQ
.

that's a very fair point, but i know this is there now and have learnt a load about tracing iptables / nftables so all good.  should i close this issue down?

nftables should work the same as iptables.

I think the issue was firewalld versus iptables

Sorry, I meant firewalld.  firewalld should work the same as iptables.
The FORWARD default policy should be ACCEPT and none of the rules should drop the packet.

the forward chain i have on 2 machines running silverblue 30 with firewalld both end with a reject rule, so if there is nothing before that to accept the packet it will not connect.  in my case there was a rule in the IN_FedoraWorkstation_allow to let port 80 through but this was never being hit so it fell through to an explicit reject.
with the exception of enabling http service via firewall-cmd it's a default fedora workstation rule set.
happy to revert it back to iptables and provide some trace if it will help to clarify.

I don't see anyone working on this. so I am going to close.  Re-open if you believe this should be fixed.


Signature minor fix

The fix addresses email bodies where the salutation begins with "Thank you" or similar that might be mistaken for a signature. The regex has been adjusted to ensure it does not match if this pattern appears at the beginning of the email body.

Looks good. Thanks for contributing and for including tests. 👍🏼


Need to do to tidy up the code

Remove the code from that method which resets the mine and teleports the player to it
Instead, Write a method in your PrivateMine class, That has access to the region and such, So write a reset method, The reset method should set all the blocks in the mine, And teleport any players that are under the mine to the top.

All this has been sorted out in the latest updates of which fixes a lot of things.


fix dependabot

Which issue does this PR close?

try to fix dependabot
Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

Thanks @xudong963

It works😹


I have a question: How do you user FB.ui for open new window?

In your example you are using the FB.ui method and you have a new window opens with URL:
https://www.facebook.com/dialog/feed?app_id=...

I tried to make the same realization on his website, but instead of a new window I get an interactive element #fb-root

What am I doing wrong?

I'm curious why you don't want the interactive element? I see the opposite - it starts to expand the interactive element and then it opens a new window instead.
I haven't investigated, but I'm guessing it may depend on how you've configured your app's settings in Facebook's dashboard. For security reasons, you might need to indicate the domain(s) where you'll embed this.

@mahemoff is on the right track, I'm personally not familiar enough with the Facebook SDK/dashboard to provide more help but definitely start looking there. The sharebutton just uses the SDK if provided, take a look at the settings from facebook.


How to finetune DistilBERT on custom data?

❓ Questions & Help
I want to build classifier by using DistillBERT. I would like to know how to finetune it on the custom dataset and build classifier on it.
Thansk!

Hello @008karan,
There is the class DistilBertForSequenceClassification for classification tasks. Its used is really similar to BertForSequenceClassification: the main difference is that DistilBertForSequenceClassification does not need token_type_ids as inputs.


Fix #1934 [DON'T MERGE]

Hello!

Type: bug fix
Link to issue: https://github.com/phalcon/zephir/issues/1934

In raising this pull request, I confirm the following:

[ ] I have checked that another pull request for this purpose does not exist
[ ] I wrote some tests for this PR
[ ] I updated the CHANGELOG

Small description of change:
Thanks

@sergeyklay Please check, test phalcon


Building stripped down version, what is the best way to use bootstrap?

I am building a stripped down version of this repo.
I want to be able to use bootstrap and not the modular class styles that you have. What is the most efficient way to do this? Thanks!

Add the stylesheet you want to app/helmconfig.js
Then in app/components/Meta.jxs, do something to this line...
if (__DEVSERVER__) {
  config.link = config.link.filter(l => l.rel !== 'stylesheet');
}

You can remove that line completely.....let me know if this works for you.

Trying to do the same thing and add Bootstrap. Not getting it to work. Meta.jsx is already altered to reflect your suggested change. Here's now I modified helmconfig.js:
link: [
// Add to homescreen for Chrome on Android
{ rel: 'icon', href: favicon },
{ rel: 'icon', sizes: '192x192', href: chromecon },
// Add to homescreen for Safari on IOS
{ rel: 'apple-touch-icon', sizes: '152x152', applecon },
{ rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Roboto+Condensed', type: 'text/css' },
**    { rel: 'stylesheet', href: 'https://cdn.rawgit.com/twbs/bootstrap/v4-dev/dist/css/bootstrap.css'},**
{ rel: 'stylesheet', href: '/assets/styles/main.css' }
// SEO: If your mobile URL is different from the desktop URL,
// add a canonical link to the desktop page https://developers.google.com/webmasters/smartphone-sites/feature-phones
// { 'rel': 'canonical', 'href': 'http://www.example.com/' }
],

it looks good, seems like it should work.
The line that is removed from Meta.jsx should stop it from filtering the stylesheet in development.
(all of this is assuming you're grabbing bootstrap from a cdn, which is the easiest way, which you are)

Couldn't get that to work. Monkey around a fair bit. Wound up just adding it in to server.jsx:
        <head>
          ${header.title.toString()}
          ${header.meta.toString()}
          ${header.link.toString()}
          <link rel="stylesheet" href="https://cdn.rawgit.com/twbs/bootstrap/v4-dev/dist/css/bootstrap.css">
        </head>

BTW: This repo is amazing. Well done.

This wont work if your css is delivered via npm, any suggestions how to use that?


require is not defined in ES module scope, you can use import instead

Please provide the complete log output and/or the config file of your project...
Anyway, according to the error message, it seems that your project has next.config.mjs file that calls require function, which can be used only in CommonJS.
If you use next.confg.mjs, please use import statement instead to use nextjs-obfuscator, like:
import nextJsObfuscatorFactory from "nextjs-obfuscator";

const withNextJsObfuscator = nextJsObfuscatorFactory({
  // your obfuscation options here
});

/** @type {import("next").NextConfig} */
const nextConfig = {
  // your Next.js options here
};

export default withNextJsObfuscator(nextConfig);

Closing for housekeeping purpose. If you still have been experiencing the problem, please reopen this.


running gitrob with no options presents the somewhat cryptic message "Cannot find Github organization with that name"

/opt/rubies/2.1.2/bin/gitrob
      _ _           _
  ___|_| |_ ___ ___| |_
 | . | |  _|  _| . | . |
 |_  |_|_| |_| |___|___|
 |___| By @michenriksen

 [*] Starting Gitrob version 0.0.2 at 2015-01-13 03:12 PST
 [*] Loading configuration... done
 [*] Preparing SQL database... done
 [*] Loading file patterns... done
 [!] Cannot find GitHub organization with that name; exiting.

I'm assuming it's looking for  (empty string).

Yes, that is probably what is happening. I'll get that fixed up. Thanks for reporting!

I'm seeing the same thing from 0.0.3 as well:
_ _           _
|| | ___ | |
| . | |  |  | . | . |
|  ||| || |||
|__| By @michenriksen
[] Starting Gitrob version 0.0.3 at 2015-01-15 12:16 PST
[] Loading configuration... done
[] Preparing SQL database... done
[] Loading file patterns... done
[!] Cannot find GitHub organization with that name; exiting.

Fixed in the newest version.


(Godot 3.5 beta 3) Navigation2D.get_simple_path() generate unnecessary points

Godot version
3.5 beta 3
System information
Windows 7 and 10, GLES2 and GLES 3
Issue description
Since the new navigation changes in godot 3, Navigation2D.get_simple_path() generate a lot of points, no mathers if "optimized" is true or false...  a linear path between two points has several points, some of them too close to be discriminated if you filter the PoolVector2Array with Vector2.is_equal_approx().
In the old system, a linear path with no obstacles consists in 2 points, init point and end point. In the new system, sometimes a linear path with no obstacles has 2 points, sometimes 10, 20, 100...
Steps to reproduce
Run attached project in Godot 3.4.x and in Godot 3.5.x
Minimal reproduction project
NavigationMeshBug.zip

I actualized the bug report. In the example the 2 points linear paths have more than 2 points, but if the mesh is more complex and have more paths, the unnecesary points get increased, i can´t reproduce easily that scenario, but i think the idea get´s clear with the attached project.

Possibly duplicate of #56852, could you test 3.5 beta 4 which was just released?

I tested... bug persists. It´s not a duplicate.
I see that probably the unnecessary points are added in the border of the internal polygons of the mesh. I upload an actualiced project in which it is clearly seen.
NavigationMeshBug2.zip
Not all internal borders are affected, but if you see the added points, and mentaly continue the line, this points are tracing the border of one triangle of the mesh.

Godot 3.4.3:

Godot 3.5 beta 4:

CC @Scony @AndreaCatania

I have a fix to the problem with GdScript, filtering the added points:
func simplify_path(p: PoolVector2Array): 	var i = 1 	while i < p.size() -1: 		if is_equal_approx(p[i-1].angle_to(p[i]), p[i].angle_to(p[i+1]) ): 			p.remove(i) 			i -= 1 		i += 1 	return p
I think that in godot/modules/navigation/nav_map.cpp Vector NavMap::get_path can be do something similar, it´s a bit clunky, but is a solution (I don´t feel capable of that...). I don´t know if this operation add too much overhead to navigation... but in GDScript works fairly well... but obviously best solution is prevously not adding that "border points"

I've investigated this issue a bit and the first thing I've confirmed is: that's not true that a linear path with no obstacles consists in 2 points (always). E.g. See below image (red circles) which is exactly the same for 3.2.2, 3.4.5, and 3.5:

As one can see, redundant points are there. This is because the path finding algorithm basically gathers points from edges of neighboring convex polygons as per algorithm depicted here: https://www.gamedev.net/tutorials/programming/artificial-intelligence/navigation-meshes-and-pathfinding-r4880/
I haven't exactly checked what's the source of the problem described by OP, but given the assumption there was no (<=3.4) and there is no (3.x+) straight path point filtering mechanism, it's likely that in the past, some polygons were not triangulated just by chances (implementation details).
So, IMO the problem described by OP is neither a regression nor a bug - it's just different behavior of implementation-specific stuff.

Specific "problem" i detected was in my game, exactly in the map generation, that is done proceduraly (Polygon2D) and have a Navigation2D triangulated by code with the code i put in my reproduction project. I can say that in linear paths, in NavigationPolygon triangulated with "that code", I never see a linear path with more that 2 points. In 3.5 every edge put a point in the path. I don´t know if it is cosiderated a regression or not, or expected, or not, warever... I open the issue to communicate the behavior change. With the GDscript code i put in my last post i fixed the problem (For my is a problem because every 2 points in the path have a Raycast, so the node count was multiplied by 10, 20, 100, depends of the map...). I think that this issue is useful for googling pourposes.  I don´t know if i will have the time to add the "simplify path" to NavMap::get_path, writting C++ takes days on me, and keeping in mind that I have found a shortcut to return to the previous behavior, I'm not going to oposse if the new behavior goes standard to Godot. So if someone want to close the issue, it´s right.

I think it may be a good idea to introduce a filtering mechanism, but IMO we should treat it as a nice-to-have feature.
@Calinou can we change bug label to feature or so?

Maybe as an option but I don't think additional points should be removed on straight path lines by default because stuff like e.g. agent avoidance and custom curve / steering needs point detail at certain distances to calculate or fall back.
Picture a small sidewalk with an agent that wants to walk to the end of the housing block. The agents "avoids" another person on the sidewalk and steps on the street. You would expect the agent to go back on the sidewalk after the avoidance. If you remove all pathpoints to the end of the block the agent will stay on the street for a long time cause it only has the endpoint. So removing all points in a straight, linear line would fix one specific use while breaking many others.

Fair point. Therefore, we should introduce filtering at most on the path getter function level (which would not be used by internal logic).

This is also the same issue in 2D as is #19011 for 3D.

Afaik, godot currently doesn't guarantee returning equally subdivided paths; so it doesn't explicitly address the sidewalk example, so it may still fail or work but by chance, so the benefits (less data passed around, especially desired in .net/mono builds & less detouring) outweigh this specific potential usecase.
But having these available as post-process filters would in my opinion be the best way to deal with all those problems. This way users can choose to optimize, subdivide, smooth etc. as their specific usecase requires. The popular astar pathfinding project addon in unity does it this way and it's what makes it so flexible.

Yes currently path points are not equally subdivided. Godot currently adds a path point everytime the pathfinding crosses a polygon edge that is why this is very depending on the navmesh layout.
A large 3D navmesh with polygons that span from real geometry corner to corner will experience few or no issues but TileMaps/GridMaps with a ton of artificial polygon edges (as each cell is its own navigation region) get a ton of extra pathpoints. Corners where many polygons can connect in a single vertex can add a ton of path points at very small distances.


Enable Collective admins and host admins to reject or unapprove expense after approval

User story
As a Collective admin, I want to be able to reject or unapprove an approved expense that has not been paid out, because sometimes an expense is approved by mistake.
As a host admin, I want to unapprove an expense if it is lacking valid documentation. Currently expense submitters cannot edit an approved expense, so we constantly have to make small edits to fake it back to unapproved status so they can make changes.
Best solution for this problem
Reject button should continue to be available to Collective admins even after the expense has been approved. 'Approve' button should turn into 'unapprove' instead of disappearing, so they can decide whether to fully reject it or just send it back to unapproved status. Unapprove button should be available to host admins.

This still comes up constantly. @raulgrafico will this be fixed in the expense improvements project?
One thought.... why not allow expense submitters to edit the expense any time, and just make it go back to unapproved status if they do? Why disallow them from editing approved expenses at all?

@alanna reject an approved expense is already on our scope for the new Expense Flow.
Re the edit at anytime feature, we only need to create a real flow to make sure we don't have logic gaps, because that is a delicate subject, maybe we can start working on those requirements on our weekly call.

This issue specifies the ability to unapprove expenses. That's the part I want to make sure is in the design.
Regarding changes to approved expenses, it would work the same as when an admin makes a change now - it would go back to unapproved status.

Closed in https://github.com/opencollective/opencollective-frontend/pull/2783 &  https://github.com/opencollective/opencollective-api/pull/2695


matches_attribute was not being used in tag_match_type

addresses https://github.com/mbleigh/acts-as-taggable-on/issues/869

I ran into #869 on upgrading to 5.0.0, and can confirm this patch fixed it for me, as well. Suggest merging,  and releasing a 5.0.1?


Add pom.xml and OSGi manifests to the jars in our repo

[@FroMage]
[Migrated from ceylon/ceylon-dist#39]

@davidfestal @FroMage is this still an issue or has it been fixed?

Probably done


"Unable to get audio stream" on age restricted video

System OS
Linux
Python Version
3.9 (CPython)
Install Source
pip / PyPi
Install version / commit hash
v3.7.2
Expected Behavior vs Actual Behavior
spotdl is failing to download videos which youtube flags as age-restricted.
Steps to reproduce

spotdl 'https://open.spotify.com/track/1nB6VmrPybx4xwkL80OqdA?si=abc500761dca4084'

Traceback
Fetching Song...
Gathering Spotify Metadata for:
https://open.spotify.com/track/1nB6VmrPybx4xwkL80OqdA?si=abc500761dca4084
Found YouTube URL for "Ghostemane - Nihil" :
https://www.youtube.com/watch?v=9FltPGypAdM

Unable to get audio stream for "Nihil" by "Ghostemane" from video
"https://www.youtube.com/watch?v=9FltPGypAdM"

Other details
youtube-dl -f bestaudio ''https://www.youtube.com/watch?v=9FltPGypAdM'

[youtube] 9FltPGypAdM: Downloading webpage
[youtube] 9FltPGypAdM: Refetching age-gated info webpage
WARNING: unable to download video info webpage: HTTP Error 410: Gone
ERROR: Sign in to confirm your age
This video may be inappropriate for some users.

The fork yt-dlp does not have this issue:
yt-dlp -f bestaudio ''https://www.youtube.com/watch?v=9FltPGypAdM'

[youtube] 9FltPGypAdM: Downloading webpage
[youtube] 9FltPGypAdM: Downloading android player API JSON
[youtube] 9FltPGypAdM: Downloading android agegate player API JSON
[youtube] 9FltPGypAdM: Downloading web agegate player API JSON
[info] 9FltPGypAdM: Downloading 1 format(s): 251
[download] Destination: Nihil [9FltPGypAdM].webm
[download] 100% of 2.19MiB in 00:00

There was an issue open about this, but the moment I commented on it disappeared

yt-dlp appear to work as a drop in replacement.
changing the import  from youtube-dl to yt-dlp in spotdl/download/downloader.py
The example from 'reproduce' now works.

Seems like a good idea
If you want you can open a PR that replaces youtube-dl with yt-dlp
/cc @Silverarmor

Resolved in v3.8.0 release


Triple Search Results in 0.30.0 After Upgrade from 0.29.4

Before Submitting Your Bug Report

[X] I have verified that there isn't already an issue reporting the same bug to prevent duplication.
[X] I have seen the FAQ.

Maccy Version (see 'About' window)
0.30.0
macOS Version
macOS 10.15.7
Maccy Settings
{
    "KeyboardShortcuts_delete" = "{\\"carbonModifiers\\":2048,\\"carbonKeyCode\\":51}";
    "KeyboardShortcuts_pin" = "{\\"carbonModifiers\\":2048,\\"carbonKeyCode\\":35}";
    "KeyboardShortcuts_popup" = "{\\"carbonModifiers\\":768,\\"carbonKeyCode\\":8}";
    "NSWindow Frame com.sindresorhus.Preferences.FrameAutosaveName" = "694 837 532 253 0 0 1920 1200 ";
    "NSWindow Frame com.sindresorhus.Settings.FrameAutosaveName" = "689 666 542 424 0 0 1920 1200 ";
    SUEnableAutomaticChecks = 0;
    SUHasLaunchedBefore = 1;
    SUSendProfileInfo = 0;
    avoidTakingFocus = 0;
    clearOnQuit = 0;
    enabledPasteboardTypes =     (
        "public.utf8-plain-text",
        "public.html",
        "public.rtf"
    );
    history = {length = 42, bytes = 0x62706c69 73743030 a0080000 00000000 ... 00000000 00000009 };
    historySize = 250;
    ignoreEvents = false;
    ignoredPasteboardTypes =     (
        "de.petermaurer.TransientPasteboardType",
        "com.typeit4me.clipping",
        "Pasteboard generator type",
        "com.agilebits.onepassword"
    );
    migrations =     {
        "2020-04-25-allow-custom-ignored-types" = 1;
        "2020-06-19-use-keyboardshortcuts" = 1;
        "2020-09-01-ignore-keeweb" = 1;
        "2021-02-20-allow-to-customize-supported-types" = 1;
        "2021-06-28-add-title-to-history-item" = 1;
        "2021-10-16-remove-dynamic-pasteboard-types" = 1;
        "2022-08-01-rename-suppress-clear-alert" = 1;
        "2022-11-14-add-html-rtf-to-supported-types" = 1;
        "2023-01-22-add-regexp-search-mode" = 1;
    };
    pasteByDefault = 1;
    removeFormattingByDefault = 1;
    searchMode = exact;
    showSpecialSymbols = 0;
}

Description
Issue
After upgrading from 0.29.4 to 0.30.0, I see the same string listed three times when I search for it.
Even after completely uninstalling Maccy with:
brew uninstall --cask --zap maccy

and then reinstalling it with
brew install --cask maccy

the issue persisted.

Workaround
Use Maccy version 0.29.4
Steps to Reproduce

Open Maccy and start searching for a string
Notice the list shows each result three times

See video below for more clarity
https://github.com/p0deje/Maccy/assets/92653266/66ac28a9-0a18-454e-9ce1-210d76f03517

Looks like it's a regression in https://github.com/p0deje/Maccy/commit/52a54798033e09e02cc28a377bd37e585ce8b302. Of course, it worked for a newer macOS and not for an older one :) I'll guard this to only be done on Sonoma.

Of course, it worked for a newer macOS and not for an older one :) I'll guard this to only be done on Sonoma.

Thank you for continuing to support Catalina for a bit longer.
Have you thought about discontinuing support for older macOS versions to reduce the maintenance
burden, assuming that most users have moved to a more recent macOS version?

I like to keep things backward compatible and if there is nothing forcing me to drop the old OS - I wouldn't do so. There used to be a case when I had to drop pre-Mojave because of a macOS bug related to the app sandbox, but apart from that I always managed to find a way to keep things working. Maccy has contributors like you and I would not want to break it just because I want to try something fancy.
That said, there are many issues related to NSMenu that I cannot work around. After years of developing Maccy as a menu application and dozens of hacks I had to implement to support the use cases, I am considering rewriting from NSMenu to NSPopover/NSWindow. There are just too many problems with using NSMenu and trying to create a good UX. If I start doing it, I would likely use SwiftUI and it might force me to drop support for some older OSes unless they have the necessary APIs. I am not sure when I would embark on this journey though.


fix Usage example

This PR contains:

[x] bugfix
[ ] feature
[ ] refactor
[x] tests
[x] documentation
[ ] metadata

Breaking Changes?

[ ] yes
[x no

Please Describe Your Changes
ref #126, fix example to match expected output.

thanks for the PR 🍺
Unfortunately the change you made is functionally equivalent to what is already present.
({ "NAME": "batman" }).NAME
// -> "batman"
({ NAME: "batman" }).NAME
// -> "batman"

Closing citing last reply, with no response from author.


VTOL standard preserve PWM_MIN and PWM_MAX

VTOL standard was disabling multicopter motors by setting the PWM_MAX to 900us, and then re-enabling by setting back to 2000us. This PR preserves the motors PWM_MIN and PWM_MAX.
Longer term it would be better to have an API to do this without directly dealing with PWM.
The PWM changes have been bench tested and the other misc changes have been tested in SITL.
This was split out of some larger changes I've been playing with and needs careful review and more testing.

Do we need VT_IDLE_PWM_MC? What isn't covered by the existing PWM_MIN, PWM_MAX if they worked properly?

TODO:

initialize _max_mc_pwm_values struct to default MAX PWM

@dagar Can we merge this before 1.7?

I've only bench tested it and it needs a rebase.

@dagar Could you rebase? I would love to get this in.

I'm going to strip this down to keep the PWM_MIN/PWM_MAX fixes, but otherwise ignore the other VTOL refactoring for now. @RomanBapst FYI

Continued in https://github.com/PX4/Firmware/pull/9028


Add support for language-babel

The scopes are all the same with exception of the top scope of source.js.jsx and the activation hook.

Resolved by 5c010ba2701c57b24134c4a45945a8444ccdf08c


Attachments from fd_embedded_json are not correctly parsed after Gmail update

After the Gmail internal API update I've noticed that attachments are not correctly parsed due to the exception:

parse_fd_embedded_json_attachments() should be updated to use new property indexes.

I'm also having this error.

A new version with a fix for this issue has now been released as version 1.1.5.


Fix method parsing inconsistency

This patch addresses two issues with parsing RPC Methods.
The first issue is an incorrect size of the method.flag during the read. In the master branch it is stated as a Uint16, however it is an Uint32. This is already corrected in the V2 branch. Comments were adjusted to represent the correct memory alignment (also corrected in V2).
The second patch uses the RPC method length as the ending position before continuing parsing the method array. If for some reason the data structure adds any additional information beyond the method.parameters value, it would offset the reads creating invalid parsing of the structure. (This was found while connecting to a Beckhoff 4026.8 host)

Thank you very much @icon-bobk!
I found that issue with flag size during v2 development, but probably forgot that it should be fixed in v1 too...
The second one: The fix makes sense. I'm going to develop the RPC to v2 soon, so I will check it out and then merge this pull request too. So will be backported to v1 also.
By checking TwinCAT.Ads.dll from nuget, we can see that RPC methods seem to have possibility for attributes after parameters (this is new I think). So you are absolutely right.
/// <summary>Parameters Collection</summary>
internal AdsMethodParaEntry[] parameters = Array.Empty<AdsMethodParaEntry>();
internal AdsAttributeEntry[]? attributes;

int start18 = start17 + SubStructureReader<AdsMethodParaEntry>.Unmarshal((uint) this.parameterCount, marshaler, span.Slice(start17, num2 - start17), out this.parameters);
if (this.flags.HasFlag((Enum) AdsMethodFlags.Attributes))
{
  ushort elementCount = BinaryPrimitives.ReadUInt16LittleEndian(span.Slice(start18));
  int start19 = start18 + 2;
  start18 = start19 + SubStructureReader<AdsAttributeEntry>.Unmarshal((uint) elementCount, marshaler, span.Slice(start19, num2 - start19), out this.attributes);
}

Parsing attributes should now work in v2, however I don't have TC 4026 yet installed for testing.

Hi @icon-bobk!
Would you be interested to run v2 test suite against your 4026 PLC?
I don't have access to 4026 at the moment and I haven't yet installed it to my PC as many people I know have had issues.

Merged and tested. Sorry for delay!


 I'm very sorry @tas50
This commit fix the typo and add a basic chefspec test to catch that kind of issues.
Cc. @aboten

@tas50 do you think it would be possible to quickly merge and release this?
thanks in advance

Sorry for the delay. It's Thanksgiving over here so everyone is out and about with family

Oh that's true, sorry to have been a bit pushy.
Enjoy this family time and thanks again for the release :)


Got four basic examples working in Scala.

Also bug fixes to Scala to make them actually work.

This begins to address #141


Add Clickhouse connector

Is your feature request related to a problem? Please describe.
Based on community feedback so far, looks like Clickhouse is popular connector
Describe the solution you'd like
Clickhouse has python lib along with sqlalchemy implementation as well https://github.com/xzkostyan/clickhouse-sqlalchemy
Describe alternatives you've considered
Additional context

clickhouse-sqlalchemy library doesn't have get_view_defenition method (like as vertica-sqlalchemy). Don't forget about it,  please, this feature is important for us.

Yes, we can use reflection to get those details. cc @ulixius9 @ayush-shah


fix(mini.files): correct optional type hint for go_in

Since we do check for opts below, the hint here should be optional
as go_in() or go_in {close_on_file = true} will work here

[x] I have read CONTRIBUTING.md
[x] I have read CODE_OF_CONDUCT.md

Thanks again for spotting this! It should be resolved on latest main.

nice thanks a bunch


Convenience method for adding single chat participant

Changes:

Added addChatParticipant() for adding just one chat member
Added corresponding request interface and options
Added unit test

Hi @knvsl nice to meet you again :-)
I remember a discussion where @bterlson and @xirzec made the point that an overload for single items in JavaScript isn't worth it because it's very simple to construct arrays in JS.
So [participant] isn't really much more effort than passing participant, the conclusion was to not add additional overloads.
Brian, Jeff: do I paraphrase you correctly?

I remember a discussion where @bterlson and @xirzec made the point that an overload for single items in JavaScript isn't worth it because it's very simple to construct arrays in JS.
So [participant] isn't really much more effort than passing participant, the conclusion was to not add additional overloads.
Brian, Jeff: do I paraphrase you correctly?

Yes, in cases where a user may want to pass a single item, but the operation itself takes a list of items, it's not useful to expose an overload since internally you'd end up allocating an array anyway. As you say, the syntactic burden of surrounding an object with [] is low enough that we don't think it causes enough friction to justify the overload.

Hello :D
Sounds good - just to clarify I can scrap this change then? I know there is some work done on the other sdks to add the method, unsure if its a requirement to be consistent across the languages or not?

Sounds good - just to clarify I can scrap this change then? I know there is some work done on the other sdks to add the method, unsure if its a requirement to be consistent across the languages or not?

Consistency is valued, but only after we first are idiomatic to each language. There are other divergences like this, for example .NET has both sync and async methods, so they have to suffix with async, but everything is async in JS, so we don't suffix.
So yes, you can close this PR, though I do appreciate your efforts in helping us stay as consistent as possible! 😄

@xirzec Sounds good, thanks for clarifying! :)


Drag and Drop

Feature request: Is it possible to make drag and drop possible in array items?

Are you asking for drag-and-drop re-ordering?

Yes.
I did try using jquery UI to tag the item tbody as sortable, but I guess the library is constantly recomputing the index positions so the rows end up coming back to their original position.
The sortable feature did work on the fields themselves, so I was able to reorder member fields up and down by drag-drop

any pointers on this?

https://github.com/brutusin/json-forms/blob/master/README.md#status


FIX: start zeitwerk structure

Zeitwerk heavily relies on folder structure.
In file lib/modules/ai_bot/open_ai_bot.rb it would expect to find Modules::AiBot::OpenAi class. Instead, we are defining DiscourseAi::AiBot::OpenAiBot

closing this in favor of https://github.com/discourse/discourse-ai/pull/319


Highlight areas with more/less sea ice compared to recent historical mean

The concentration maps are great, but at a first glance it would be useful to know where there is more or less sea ice compared to the past few (2?) years.
e.g., add an optional layer on top of the concentration plot. This would be a binary image, orange for less sea ice and green for more?

This is an interesting idea. What I'm keen not to do is scope-creep the dashboard designed for specific use-cases into a general purpose tool for GIS style layer display.
That said, this idea as well as Tom's idea for OSISAF plotting got me thinking that these functionalities do belong somewhere, likely as preparation in icenet-event-processor for asset production and the accessible via the API/tile service that is intended to be expanded on herein.
How this looks from a UI / UX perspective is a slightly different matter, so expect more issues to link in with this and build upon both issues.

Nice idea @scotthosking. Comparing with the last 2 years would be quite noisy though. More common would be to plot the daily climatological mean ice edge (SIC=15% contour) and compare this with the predicted ice edge. This would warrant a separate plot.
I can totally see how bespoke plots like this can create scope creep @JimCircadian. It's hard to not get too excited about this tool!

No worries @tom-andersson, I'm keen to do something! That said, there're other endpoints in here, so anything "layered" is best being fed into a GIS application, and we have more than one API sat behind this infrastructure.
Let's keep these ideas coming and we'll get some dev in place, this all feeds into the "grander plans" so please don't take my techno realism as a dampener to the enthusiasm! 😉


Powerfull and quiet options do not show up

The eco mode does show up, but when I switch in settings, it does not show up, my remote does not have eco, but quiet and powerful are, so I guess I should use them:

This seems to be correct.. ?
You can change ECO for QUITE in the settings.
@sockless-coding i would like to ask if you can make a Button for ECO like Nanoe has?
I made my own but the tap does not always work and it's very slow on response and icon change.

How is this correct that when I activate the switch, the options disappear?

Yes, I did restart home assistant.

@cleveHEX what language are you running HA in?

Yes, it is, I have tried updating the lang file, but no luck.

That is probably the reason...
Try setting the cs.json to and restarting HA
{
  "config": {
    "step": {
      "user": {
        "title": "Panasonic Comfort Cloud",
        "description": "Zadejte vaše Panasonic ID a heslo",
        "data": {
          "username": "Panasonic ID",
          "password": "Heslo"
        }
      }
    },
    "abort": {
      "device_timeout": "Vypršel čas pro připojení k zařízení.",
      "device_fail": "Neočekávaná chyba při vytváření zařízení.",
      "already_configured": "Zařízení je již nastavené"
    }
  },
  "options": {
    "step": {
      "init": {
        "data": {
          "force_outside_sensor": "Vynutit povolení venkovního teploměru",
          "enable_daily_energy_sensor": "Povolit měření denní energie (vyžaduje restart)"
        }
      }
    }
  },
  "entity": {
    "climate": {
      "climate": {
        "state_attributes": {
          "preset_mode": {
            "state": {
              "+8/15": "+8/15°C",
              "none": "None",
              "quiet": "Quiet",
              "powerful": "Powerful"
            }
          },
          "swing_mode": {
            "state": {
              "Auto": "Auto",
              "Up": "Top",
              "UpMid": "Mid-top",
              "Mid": "Middle",
              "DownMid": "Mid-bottom",
              "Down": "Bottom",
              "Swing": "Swing"
            }
          },
          "fan_mode": {
            "state": {
              "Auto": "Auto",
              "Low": "Low",
              "LowMid": "Medium-Low",
              "Mid": "Medium",
              "HighMid": "Medium-High",
              "High": "High"
            }
          }
        }
      }
    }
  }
}

This did not fix it, I have tried already by #304 , still the same

I switched to Czech
Under Devices:

On a dashboard:

So then it's not related to the language, what else could it be?

Have you tried the "reload resources" feature in HA? It might just be the front end...
Also, the screenshot you provided is from a phone, are you using the app or a browser?
How does it look if you access it from the Settings Devices page?

I have tried reloading frontend and no change.
Same behavior in desktop browser and mobile app.
Wow, this is strange:

When I select it: "Preset is not valid, valid presets are..."

Still didn't solve


Stopping motion after runForward() or   runBackward()

Hi there. Thanks for a great library. I have one quick question: is stopMove() the intended method for ending the continuous motion initiated by runForward() or runBackward()?

stopMove() similarly like runForward() or runBackward() do not take care for the current or any intended target position of the stepper motor. Based on this it fits to ending the continuous motion.
Nevertheless it depends on the use case. Here are a few ideas for illustration:

If the absolute stepper position is not known in the application, but there is a zero position sensor, then there is the possibility to initiate runBackward()with slow speed and if the zero position sensor is triggered, then to use stopMove() (stop with deceleration) or even forceStopAndNewPosition(0) (immediate stop).
If the position sensor is placed at position 1000, then the continuous motion initiated by runBackward() could be stopped with a call to move(-1000);setPositionAfterCommandsCompleted(0);. The stepper will still run approximately (!) to zero position and the absolute stepper position is set to 0.
Another use case: The stepper should run for a while at slow speed (100 steps/s) until e.g. the user presses a "zero" button and then the stepper should return with high speed (10000 steps/s)  to zero position. In this case the continuous movement could be stopped by just setSpeedInHz(10000);moveTo(0);setSpeedInHz(100);. Note: The last setSpeedInHz() will not be applied to the moveTo()!

In other words, the continuous motion is stopped with one of:

move()
moveTo()
stopMove()
forceStopAndNewPosition()

Great. That all makes sense. Thank you for the quick reply!


"Learn Visual C++" link at the bottom of the page is misleading

The "Learn Visual C++" link at the end of the page under "More resources" is misleading and sends you to https://msdn.microsoft.com/en-us/library/aa187916.aspx which looks like old documentation on tools?
Anyways, it's definitely not a link that teaches you Visual C++.
Would be nice to have some official documentation and tutorials directly from Microsoft on how to use C++ and C with the Visual Studio compiler specifically. I've been begging for this for years.
Thanks!
Phidler

Oh in case this wasn't clear I was referring to this page: https://docs.microsoft.com/en-us/cpp/visual-cpp-in-visual-studio
Thanks

No not necessarily it's just convenient to have everything in one place and I like how everything is explained on Microsoft docs, the examples, and its open source nature and how quickly you guys respond, wow!
I find it very cool and useful. I'm just a student and the docs have been crucial to my learning.
If I were to suggest something it would be to add some nice tutorials for C and C++. Learning through those is a lot of fun and essential ice breakers for learning different languages, etc.
But I understand that it's against your policy.
Thank you so much for you quick response!
Phidler

I just had an Idea. If you really don't want to write your own tutorials or instructions then maybe we could get some links to some books and/or online tutorials officially recognized by Microsoft as good learning material.
Phidler

@Phidler The specific link you mentioned now goes to the right starting point for Visual C++. Thanks for noticing that and letting us know! Your suggestion for other links to C++ educational content is interesting and we'll be adding additional links here in the next few months as we do some general site improvements.


Make Images Mobile Responsive 1st test failing

FreeCodeCamp Issue template
To Use this Template:

Fill out what you can
Delete what you do not fill out

NOTE: ISSUES ARE NOT FOR CODE HELP - Ask for Help at https://gitter.im/FreeCodeCamp/Help
Issue Description
1st test is failing even if the code is correct.
Browser Information
firefox, win7
Screenshot

@seasickmonkey Thanks for creating the issue. Will you please help us with the code as well, it would be easier for anyone to check this, that way.
you can use code formatting like:
```
Your code here
```

<link href="http://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">

CatPhotoApp

Click here for cat photos.

Things cats love:

cat nip

laser pointers

lasagna

Top 3 things cats hate:

flea treatment

thunder

other cats

  <form action="/submit-cat-photo">
    <input type="radio" name="indoor-outdoor"> Indoor
    <input type="radio" name="indoor-outdoor"> Outdoor
    <input type="checkbox" name="personality"> Loving
    <input type="checkbox" name="personality"> Lazy
    <input type="checkbox" name="personality"> Crazy
    <input type="text" placeholder="cat photo URL" required>
    <button type="submit">Submit</button>
  </form>

@seasickmonkey I can't reproduce the issue with code above. Are you still stuck? I am confused, after you logged in from your mobile did the issue disappear from all devices that you have been using?

yes, the issue went away when I logged in from the iOS. it was very weird, it seemed that the parser counted 1 images as 2.

Closing as confirmed solved. Thanks @seasickmonkey !


2.0.17 still doesn't work on Android SDK 19

shell@lt01wifi:/data/local/tmp $ ./dnscrypt-proxy
CANNOT LINK EXECUTABLE: cannot locate symbol "sigfillset" referenced by "./dnscrypt-proxy"...
1|shell@lt01wifi:/data/local/tmp $ getprop ro.build.version.sdk
19

Ah, sorry, I see that there is commit https://github.com/jedisct1/dnscrypt-proxy/commit/c53b28d1f1093f1dccc372cd2e4462e5a377d712 that removed -D__ANDROID_API__=19 flag again.
Can you please add it for armeabi arch to support older devices?
Also seems that arm64 arch builds only with -D__ANDROID_API__=21 because it wasn't existed earlier.

It doesn't compile any more if I add it back. Maybe this is not the way to add it?
Since you obviously know Android way better than I do, can you submit a pull request with the required changes to the travis.yml file?
Thank you!

I've created a PR.

Thank you!


Fix nested countdown test sometimes fail on appveyor

See: https://ci.appveyor.com/project/peter50216/pwntools-ruby/builds/20779755/job/fgtlfa551ryj982x

This change is

:LGTM:

Has rebuilt on AppVeyor for 5 times and all passed :+1:

:lgtm:


[Featurev]UseContext API depricate using LocalStorage.

We will be using cookie and context API for state management.

@archiejain28 please review it!

Hi @anmode , I've reviewed it, PR looks fine


Normalize directory before splitting it

This PR could fix http://www.concrete5.org/developers/bugs/5-7-3-1/cant-update-or-download-add-ons/

No, this PR doesn't fix that bug, but normalizing paths doesn't hurt BTW ...


python311Packages.referencing: 0.29.1 -> 0.30.0

Diff: https://github.com/python-jsonschema/referencing/compare/refs/tags/v0.29.1...v0.30.0
Changelog: https://github.com/python-jsonschema/referencing/blob/0.30.0/CHANGELOG.rst
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 244518 run on x86_64-linux 1

4 packages built:

python310Packages.referencing
python310Packages.referencing.dist
python311Packages.referencing
python311Packages.referencing.dist


Use persistent names for config files

There is a problem when you stop and start the container again, nginx will complain that there is duplicate config for any path you have configured. This causes the container to die immediately. It is due to the random naming of nginx config files that get included after templating the acls.
This patch changes the file names to be generated with a reasonable name based on the rules in each acl so the files will be overwritten on start up. Sherpa should probably have a handler to remove them on shut down so rules that have been deleted from sherpa's acls no longer take effect.

I guess the remove handler could also run at start up to remove everything other than default.conf then render the acls.

Example output file names:
# ls -1 /etc/nginx/conf.d/
allow+_info+GET+<IP_ADDRESS>_0.conf
allow+_services+GET+<IP_ADDRESS>_0.conf
allow+_services_+GET+<IP_ADDRESS>_24.conf
allow+_services_update+POST+<IP_ADDRESS>_24.conf
default.conf
deny+_services_+GET+<IP_ADDRESS>_0.conf

Ah, great catch @waddles. Thanks for submitting the PR!


An error occurs when you hit the  Button if you have just one page with items

An unhandled exception occurred while processing the request.
SqlException: The offset specified in a OFFSET clause may not be negative.
Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, bool breakConnection, Action<Action> wrapCloseInAction)

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

ID: 15e2038b-fa1b-897c-32ee-7173c7d1d909
Version Independent ID: 000c5a97-c1b2-9a48-289d-83ec4f0c0c98
Content: Tutorial: Add sorting, filtering, and paging - ASP.NET MVC with EF Core
Content Source: aspnetcore/data/ef-mvc/sort-filter-page.md
Product: aspnet-core
Technology: aspnetcore-data
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

There's code that doesn't enable previous button for that reason. There are things you can do to get around that.


Add setting to disable reuploading to reflector

LGTM

merged as part of https://github.com/lbryio/lbry/pull/339


Add resolveTypeReference helper

Implementation issue for https://github.com/microsoft/cadl/issues/1065

[ ] Create new checker function resolveTypeReference(string fullyQualifiedName): Type

input should include fully qualified type id foo.bar.baz and may include metainfo syntax (e.g. model.propertyName::type)

[ ] Add helper function resolveTypeReference in Program
[ ] Add tests
[ ] Add documentation to emitter developer docs

validate:

[ ] cannot instantiate a template that is not already created

est: 8


Image description: Hipposideros lankadiva 1.jpg

Which image is this for?
Hipposideros lankadiva 1.jpg
What is your suggested image description?
A brown bat hangs from a rock surface, possibly in a cave.  It is has a long and thick body, approximately the length of an adult human hand, and its wings are folded in against its body.  It has very short but pointed and lightly ridged wide ears which fold over slightly, and very small brown eyes.  Its large nose is leaf shaped with some visibile ridges where it meets the upper lip.

Accepted with some reworking for brevity.

A brown bat hangs from a rock surface. It has a long and thick body, and its wings are folded in against its body. It has short but wide ridged ears that fold over slightly at the tips and very small brown eyes. Its large nose is leaf-shaped, with some visible ridges where it meets the upper lip.


Add a .formatter.exs configuration file

The only change from the default configuration is the inclusion of the
bench/ directory to the list of inputs.
Also, apply the formatter to the bench/*.exs source files.

Alternatively, we could drop the current benchmark scripts entirely because they're based on the Apache Thrift Erlang library, which we're attempting to move away from. What do you think, @fishcakez?

We can drop the benchmarks after #350

Yes, that’s while I’ve been holding this. I’ll work up a new PR that just removes them.

Dropping this in favor of #351.


update zoom to 5.1.2

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

Microsoft Reviewers: Open in CodeFlow

@alanlima I got "Installer failed with exit code: 1603". When I looked at the log:

MSI (s) (A0:18) [11:17:07:442]: Product: Zoom -- Error 1925. You do not have sufficient privileges to complete this installation for all users of the machine.  Log on as administrator and then retry this installation.
Error 1925. You do not have sufficient privileges to complete this installation for all users of the machine.  Log on as administrator and then retry this installation.

Is there a user based install rather than a machine based install?

@denelon yeah, there is an exe installer (https://zoom.us/client/5.1.28642.0705/ZoomInstaller.exe).
I tried it here and it works without admin. However, the Zoom client will automatically start after the installation finishes.
I could not find any switches that can prevent that on EXE installer (only on MSI). I will try to contact Zoom support to check, or if someone knows what to do, I can update the manifest. 🤗
If there is no problem to let the zoom auto-start, I can submit my changes. 😁

@alanlima I think we will stick with the .msi over the .exe. I just wish the error message regarding admin mode was a bit more clear. This will probably show up as a bug in the future, but I'll go ahead and approve this for now.

@alanlima I think we will stick with the .msi over the .exe. I just wish the error message regarding admin mode was a bit more clear. This will probably show up as a bug in the future, but I'll go ahead and approve this for now.

I agree with that. Not sure if it will be better to show a message when fails like "Some installers may required admin level, try to run again as administrator".


feat: add python package

this python package exposes the catppuccin palette with just enough default features to be useful. you can pick colours from the four flavours, convert those colours to a hex string or their r/g/b components, and iterate over the flavours to get the full palette.
the project is managed by poetry and supports python >= 3.7.2.
future PRs will cover integration with third-party packages such as pygments and pygame. these will be gated behind optional package feature switches as with the rust crate. these integrations will also allow us to put some more flashy examples in the readme.

closing in favour of separate repo


Set up CI for submodules

Use https://raw.githubusercontent.com/f-tischler/RaftLib/9cbea22a1dd613889485be31be047d2c87c632c4/.github/workflows/main.yml as an example.

Need to setup for

Affinity
Demangle
ROCV
SHM
cmdargs
QThreads - for this one we probably need to test only Linux, there's also the disabling of the one benchmark that seems to fail, likely due to the exception issue @jonathan-beard mentioned.

Build status set up for

affinity
SHM
cmdargs

Still to go

ROCV
demangle

Not going to do
Qthreads

Seems to be done. Closing.


[feature] Add batching to pp.mean_variance

Most of the underlying code used by pp.mean_variance already supports batching. Therefore, it will be easy enough to add batching support to the method itself, e.g. by adding a batch_key parameter. This will allow users to compute mean and variance per batch without doing multiple passes on the API.

Some extra context. Batching has a bit of a different connotation here as compared to highly variable genes, in highly variable genes average/variance are calculated per batch and the results are aggregated to retrieve batch-corrected variable genes. In this case the functionality that we want to enable (which I believe would be enabled by this option) is a "group_by" functionality to save user the hassle to call this function in a for loop.
Specifically, as an example a user may want perform an axis query to obtain all cells from a tissue and then perform average gene expression for each cell types a.k.a "group by".
I don't see a use case for "batch-corrected" mean and variance calculations.

The primary use case is performance (read once rather than read many times), as used by HVG code.  Agree that "grouped" is a better terminology.


[Suggestion] Liquid Coolers spreading Liquid or inserting without direct insertion

I would like to have an Option that makes the Liquid Coolers spread out fluids to other Coolers.
At the moment we got 4 14x14 reactors cooled by liquid Water. To get Water to every Block om the walls we Need hundreds of Pipes. That causes Standing even near One reactor to become an fps lagfest. Despite xnet no Pipes seem to be able to not lag in this amount in one chunk. Unfortunately xnet will only be a solution until enderio is back and can provide multiple conduits per block again, then we samt to remove it again.

I guess something like that would be possible (perhaps a configurable mechanic), but could I ask how exactly you are getting the water to the coolers?  With the latest update, by default, you should only need one buffer for every ~800 active coolers.

Sure. I'm using 2 of them per reactor at the moment. They sit diagonally near two of the edges. With one Buffer i had another meltdown as of Running put of fuel before. As i need to fully cover all sides with cooling blocks to sustain 60000 RFt, i need to put Pipes to nearly every cooler Block.
I could think of spreading the Liquid could be a Problem when using different Liquids in different Coolers. But to be honest, i don't See how such a Build is viable, as you loose much space für the insulated pipes of the Second Fluid. Also, even you did recommend to only use Water. Maybe there also is another possibility to fix this. That was just my idea.

I recommended water in that video, but that was before I changed the amount of coolant the active coolers used - using the more expensive coolers is now definitely a viable option, as the active cooler now uses coolant very slowly.
Using different coolers shouldn't be a problem, as I can just check for whether the active cooler is already filled with a different type.

Water seems the most viable option for us, as for reality concerns and no TE installed. It would be great if we could save on some pipes :D

Yeh, I'll look into adding the 'spreading' mechanic, and I'll make it a configurable effect :)

Great, thank you.
I do in now way want to nag you, but as i had posted many Posts in the other issue one after the other:
Did you see my request that i can not find any disabling of Zirconium or Manganese and that oxidized manganese cannot be created out of manganese dust in the oxidizer, what causes your maganese based Things to not work when dropping of rhodo-something has been disabled (as soon as it is possible?).

Yeh, I did - I just replied to that :)
Which mod is it that's adding the Manganese dust? Because if the oxidising recipe isn't working, then I don't think they've added their manganese to the ore dictionary.

It's the *Metals Suite again. ModernMetals to be exact. It has an OreDict entry. dustManganese.

Works now. I'm dumb or the last update of *Metals fixed it. Sorry. :(

Don't worry - at least it works now :)

Another vote of support for this.
IIRC in the video you mentioned that the coolers were more effective (about 250%? water bumped from 20 to 50?) but still needed to satisfy their other requirements (e.g. water against the casing). Since pipes take up block space, that means that despite the boost, you're losing space where other coolers could be. In the case of water, one active cooler at 50H/t takes the space of two passive coolers at 40H/t. The effective bonus is thus dramatically reduced.
I'd much prefer to just pipe my fluids into a reactor port and let the reactor figure out how to get them to the coolers.


templater true silently ignores templates when Templater is not installed

I didn't realize I didn't have Templater installed (or rather, I had it turned off), and I couldn't understand why the Templater commands in my button weren't doing anything. It would be great to have some sort of feedback to say that Templater must be installed. It would also probably be best to abort the entire button click, since running it without filling in the template is probably never what you wanted to happen.

Yeah should probably show a notification.


Typo on Tutorial Two Python

In Fair Dispatch section, under the image, basic.qos should be basiq_qos

In order to defeat that we can use the basic.qos method with the prefetch_count=1 setting

This is not a typo. basic.qos is a protocol method, not a Python class one.


Missing information about Audience Composition

Issue in ./help/profile/computed-attributes/ui.md
In the section "Using Computed Attributes" is not specified if Computed Attributes can be used in Audience Composition. Can you please add this information?
Thanks

Thank you for submitting this issue. We will review the documentation and make the necessary updates as quickly as possible. Tracking internally in PLAT-178615.

We've reviewed the documentation and added a note in this page https://experienceleague.adobe.com/docs/experience-platform/profile/computed-attributes/ui.html?lang=en related to computed attributes support. Closing this issue.


Feature x

If you agree, this won't be merged ;-)
Nevertheless, PR are welcomed - this can be discussed in dedicated issue.


Feature Request: Support for Command Line images

Expected Behavior
Similar to code images, there can be a feature for generating an image of command line.

Maybe something like the pic above, keeping the window as it is and changing color of some text. For e.g. The text "kaustubhdamania@kaustubhdamania-X510UNR" could be green like #00ffbe and the current directory text could be a blue color like #0277bd.
Actual Behavior

Browser:

Code Snippet (If Applicable)

@KaustubhDamania you can actually select specific sections of text and apply individual styles to each.
E.g.

To do so:

Select text
Click palette button (🎨)
Select your color, bold, italics, underline

I think this is the best option for your use case while being able to support many variations, not just terminal prompts.
Does this work for you?

Okay, I did not know that specific text could also be styled :sweat_smile:
Yeah, this works for me, although I'd still suggest to add an extra option for Terminal in syntax highlight drop-down because it'll be easier and faster to highlight required text that way.

Awesome!
Also, there are a couple terminal languages available, Bash and PowerShell, just ICYMI 🙂


add more information to net log messages

Enhance elog messages and exception reports.

Note FC_CAPTURE_AND_LOG macro can be very useful for this.

@pmesnier is this issue still relevant?

no


findPlayer called from plex.sessions() failing on missing port in /status/sessions

I have some code that access current active sessions.
sessions = plex.sessions()
The session field 'player' is always 'None'.
Digging into it a bit I found that there is a util method findPlayer invoked:
def findPlayer(server, data):
    """ Returns the :class:`~plexapi.client.PlexClient` object found in the specified data.

        Parameters:
            server (:class:`~plexapi.server.PlexServer`): PlexServer object this is from.
            data (ElementTree): XML data to find Player in.
    """
    elem = data.find('Player')
    if elem is not None:
        from plexapi.client import PlexClient
        baseurl = 'http://%s:%s' % (elem.attrib.get('address'), elem.attrib.get('port'))
        return PlexClient(baseurl, server=server, data=elem)
    return None

It turns out that /status/sessions - Player section of the MediaContainer/Video does not contain a 'port' number.

So, in findPlayer where it builds the baseurl the port is None. This cause the PlexClient() to fail.
Let me know if I'm missing something.

I just pushed a branch to github where i have "fixed" this. You can find the pr here: https://github.com/mjs7231/python-plexapi/pull/115

@Hellowlol - not sure that this solves my problem.
Looks like you are querying the server /clients using server.clients().
For my setup /clients doesn't return the list of players. I find /clients very unpredictable.
Here's what I get today for /clients -
<MediaContainer size="1">
<Server name="Plex Web (Chrome)" host=<PMS_IP> address=<PMS_IP> port="32400" machineIdentifier=<ID1> version="2.13.0" protocol="plex" product="Plex Web" deviceClass="pc" protocolVersion="1" protocolCapabilities="timeline,playback,navigation,mirror,playqueues"/>
</MediaContainer>

If I look at /status/sessions I get -
<MediaContainer>
  <Video>
  ...
<Player address=<ROKU_IP> device="Roku 4" machineIdentifier=<ID2> model="4400X" platform="Roku" platformVersion="7.x" product="Plex for Roku" profile="Roku-7.x" state="playing" title="Roku 4 - ..." vendor="Roku" version="<IP_ADDRESS>85-a10af3f-Plex"/>
<Session id=<SESSION_ID> bandwidth="6359" location="lan"/>
  ...
  </Video>
</MediaContainer>

So, the Player listed in /status/sessions does not exist in /clients.
It does exist in plex.tv/devices.

/clients is the best way to port.. What client is missing and is it connected to have same LAN as pms?

findPlayer is about to go away tonight as well.

More about this; I think we should be building the PlexClient when parsing sessions, but not actually connecting to the PlexClient at this point. Perhaps reload() or connect() should do that (at which point we can do as Hellowlol mentioned and parse /clients at that point to build the full object. It's a little tricky, but should work.

@mjs7231 - I agree. It seems like there should be a separate connect() method.

This should be fixed on the 3.0.0 branch with commit c0958a0e. Basically, stop auto-connecting to Players unless we pass both a baseurl and token to PlexClient. We'll never have the information needed to make a successful connection anyway.

Closing this one. @Hellowlol wants to add a bit more functionality around connecting to clients, but the regression and bugs are gone (per the above comment). Everything else we do is an enhancement.


fix(reactmultiemail): account for emails being entered as "Name <name…

<EMAIL_ADDRESS>account for emails being entered as "Name<EMAIL_ADDRESS>The reason why it is helpful to be able to enter emails in this format is when copying a list of emails from Google or most email providers, the format is "Name<EMAIL_ADDRESS>

If you enter the value and enter the Enter key as shown in the picture, it doesn't work.

@thomasJang Copy and Paste works but something is definitely broken when trying to type emails in that format. I will fix it and let you know when I have it working so you can try again. Thank you for reviewing!

@jhaltercmu2020
Thank you for your effort.
And if possible, I think it would be good to use regular expressions to check if 'value' is an email pattern.
And furthermore, I thought it would be better to provide email patterns as an option for users to choose from.

@thomasJang I made some updates based on your comments. Can you take a look? Thank you!

@thomasJang Would you be able to tag 2 other colleagues to review this?

@hwonda @thomasJang When is the next release scheduled to happen? We are wondering if this can get deployed so we can install the new dependency in our project?

It 1.0.17 is just out, sorry for late, Thank you for your effort.


doctest 0.11 not supported

Closed by 40db5d775ad340ff16897a11957a25a79647659d.

It would be great to get a new release on Hackage that contains this fix. Or, you might also edit the existing release.

@peti Done - the existing ed25519-<IP_ADDRESS> on Hackage has been updated, so if you update the index you'll get a new version.
A new ed25519-<IP_ADDRESS> with rewritten docs (see #12) and some improved/deprecated APIs will be released probably within the week hopefully.


Add Spark dependencies explicitly following scope change in core module

This pull request is to declare spark dependencies explicitly following recent change made in core module.

looks good


what is the query to fill in the query field when the dialog box opens

its not completing 100% and what to fill in the query box please help


GetProcessUtilization says: Insufficient Size

I run pytorch in a docker container, with the 4th gpu.
I run go-nvml in host environment.
Code:
_, ret := dev.GetProcessUtilization(ts)
if ret != nvml.SUCCESS {
	log.Printf("[x] Unable to call GetProcessUtilization", nvml.ErrorString(ret))
}

OUTPUTS:
   Unable to call GetProcessUtilization%!(EXTRA string=Insufficient Size)

I modify the code, and this code works:
var ProcessSamplesCount uint32 = 100
Utilization := make([]ProcessUtilizationSample, 100)
ret := nvmlDeviceGetProcessUtilization(Device, &Utilization[0], &ProcessSamplesCount, LastSeenTimeStamp)

Thanks @qisikai. It seems as if the first call to nvmlDeviceGetProcessUtilization which should be setting the number of samples is not returning the expected value in ProcessSamplesCount. Could you check what value ProcessSamplesCount after the first call?
As a matter of interest, what is the timestamp value that you pass?

@elezar
1
value: ProcessSamplesCount =100 （same value on all the gpus, It's the same with or without load).
2
I have tried:  timestamp=0, timestamp = current second * 1000, timestamp = (current second - 10s) * 1000 microseconds,
But none of them work
3
I find :

when calling ret := nvmlDeviceGetProcessUtilization(Device, &Utilization[0], &ProcessSamplesCount, LastSeenTimeStamp), ProcessSamplesCount must be 100,  0 or 10 don't work.

&Utilization[0] must not be nil.

4
Follow code works:
// nvml.DeviceGetProcessUtilization()
func DeviceGetProcessUtilization(Device Device, LastSeenTimeStamp uint64) ([]ProcessUtilizationSample, Return) {
	var ProcessSamplesCount uint32 = 100
	Utilization := make([]ProcessUtilizationSample, 100)

	ret := nvmlDeviceGetProcessUtilization(Device, &Utilization[0], &ProcessSamplesCount, LastSeenTimeStamp)
	if ret != SUCCESS {
		return nil, ret
	}
	if ProcessSamplesCount >= 100 || ProcessSamplesCount == 0 {
		return []ProcessUtilizationSample{}, ret
	}
	UtilizationRes := make([]ProcessUtilizationSample, 0)
	var i uint32 = 0
	for ; i < ProcessSamplesCount; i++ {
		UtilizationRes = append(UtilizationRes, Utilization[i])
	}
	return UtilizationRes, ret
}

I check with the NVML maintainer last night on this.
Apparently, the first call to get the sample size is meant to return an NVML_ERROR_INSUFFICIENT_SIZE  and not an NVML_SUCCESS.
So we need to change the code to:
func DeviceGetProcessUtilization(Device Device, LastSeenTimeStamp uint64) ([]ProcessUtilizationSample, Return) {
	var ProcessSamplesCount uint32
	ret := nvmlDeviceGetProcessUtilization(Device, nil, &ProcessSamplesCount, LastSeenTimeStamp)
	if ret != NVML_ERROR_INSUFFICIENT_SIZE {
		return nil, ret
	}
	if ProcessSamplesCount == 0 {
		return []ProcessUtilizationSample{}, ret
	}
	Utilization := make([]ProcessUtilizationSample, ProcessSamplesCount)
	ret = nvmlDeviceGetProcessUtilization(Device, &Utilization[0], &ProcessSamplesCount, LastSeenTimeStamp)
	return Utilization[:ProcessUtilizationSample], ret
}

Unfortunately,  this isn't obvious from the documentation:
https://github.com/NVIDIA/go-nvml/blob/master/gen/nvml/nvml.h#L5855
Which is why we missed it the first time around.

@qisikai Can you run the variant of the function above and make sure it fixes things for you.

@qisikai Can you run the variant of the function above and make sure it fixes things for you.

@qisikai Did you mean to write more in your comment above?

@qisikai Can you run the variant of the function above and make sure it fixes things for you.
@elezar @klueska  The code works, it can get process info. but  I met follows situation：

**I add  a Printf statement **
func DeviceGetProcessUtilization(Device Device, LastSeenTimeStamp uint64) ([]ProcessUtilizationSample, Return) {
	var ProcessSamplesCount uint32
	ret := nvmlDeviceGetProcessUtilization(Device, nil, &ProcessSamplesCount, LastSeenTimeStamp)
	if ret != ERROR_INSUFFICIENT_SIZE {
		return nil, ret
	}
	if ProcessSamplesCount == 0 {
		return []ProcessUtilizationSample{}, ret
	}
	log.Printf("ProcessSamplesCount= %d \n", ProcessSamplesCount)
	Utilization := make([]ProcessUtilizationSample, ProcessSamplesCount)
	ret = nvmlDeviceGetProcessUtilization(Device, &Utilization[0], &ProcessSamplesCount, LastSeenTimeStamp)
	return Utilization[:ProcessSamplesCount], ret
}

Output
2021/03/01 17:24:19 ProcessSamplesCount= 100

when there is no process running on certain gpu, DeviceGetProcessUtilization will return a slice with 100 items.

Thanks for the quick test @qisikai. With regards to:

when there is no process running on certain gpu, DeviceGetProcessUtilization will return a slice with 100 items.

Is this not expected? According to the docs:

One utilization sample structure is returned per process running, that had some non-zero utilization during the last sample period.

Could it be that these are old samples that are being returned?

I don't have a good answer as to why the API returns 100 if nothing is running, but I just did a quick check on the underlying C API, and it returns that same thing:
#include <stdio.h>
#include <stdint.h>
#include <unistd.h>
#include <sys/types.h>

#include <nvml.h>

int main()
{
    nvmlReturn_t ret;
    nvmlDevice_t device;
    char uuid[NVML_DEVICE_UUID_BUFFER_SIZE];
    uint32_t processSamplesCount;

    ret = nvmlInit();
    printf("nvmlInit: %s\n", nvmlErrorString(ret));

    ret = nvmlDeviceGetHandleByIndex(0, &device);
    printf("nvmlDeviceGetHandleByIndex: %s\n", nvmlErrorString(ret));

    ret = nvmlDeviceGetProcessUtilization(device, NULL, &processSamplesCount, 0);
    printf("nvmlDeviceGetProcessUtilization: %d, %s\n", processSamplesCount, nvmlErrorString(ret));

    ret = nvmlShutdown();
    printf("nvmlShutdown: %s\n", nvmlErrorString(ret));
}

$ gcc nvml.c -o nvml -lnvidia-ml
l$ ./nvml
nvmlInit: Success
nvmlDeviceGetHandleByIndex: Success
nvmlDeviceGetProcessUtilization: 100, Insufficient Size
nvmlShutdown: Success

Yes， It's a strange behaiver.
So I add a if statement:
if ProcessSamplesCount >= 100 || ProcessSamplesCount == 0 {
    return []ProcessUtilizationSample{}, ret
 }

As bindings, our job is to simply pass through the values returned by the underlying C API. So will will make the change to adhere to the ERROR_INSUFFICIENT_SIZE issue, but we don't be adding that if statement you have above. I would recommend adding that to your application code for now if you need it, i.e.:
utilization, ret := device.GetProcessUtilization(0)
if ret != nvml.SUCCESS {
    .....
}
if len(utilization) >= 100 || len(utilization) == 0 {
    ....
}

I will check with the NVML team in the meantime, to see what they say about this.

@klueska  Ok, Thanks. That is enough. I will add a check statement after calling GetProcessUtilization.


Added support for motion sensors and contact sensors

I couldn't wait until the weekend so here are my changes for adding motion sensors and contact sensors support. I tested this and things appear correctly in HomeKit apps.
In a future PR I will explore adding support for battery status. That information does not seem to be that accurate in my zwave sensors so it is low priority for now.
If you want me to create 2 PRs, one for motion sensor and one for contact sensor let me know.
Thanks,
Gaston

Awesome - looks great. Thanks for the contribution!


Remove blurb from Challenge wizard #93

I removed blurb from the JS and html in the challenge wizard
related to https://github.com/maproulette/maproulette2/issues/93

I think I incorrectly stated in issue #93 that the blurb was not being used, however as shown in your commit it was being used in at least one place. So currently if this was merged you would not see the blurb in the map challenge view. So we might want to rethink this one a bit.


Erro ao Abrir

Versão atual ao abrir apresenta janela com log de erro e o TSH não abre.

Hi, I have a question, did you extract/unzip the program before trying to run it, and if so, can you make sure you have write access to the folder you've extracted it to?

This issue has not been responded to in almost a year and does appear to be running from a zipped file, so this appears to be more user error than TSH error. Closing issue.


how do i change to a different api key?

anyone know how to change to a different API key? i dont see an option anywhere to change it.

You have to use: Remove API Key and then SET API Key
Check the documentation:
https://www.codegpt.co/docs/tutorial-basics/installation#use-your-api-key


The MD5/SHA256 does not match..

I have two errors after downloading the software..
1.- The MD5 and SHA256 does not match with this page.
PS C:\Local\Lab\AzureMigrateInstaller> CertUtil -HashFile AzureMigrateInstaller.ps1 SHA256
SHA256 hash of AzureMigrateInstaller.ps1:
51419777fa6d00d0146b69841ee835a1cad850f3900bf063b0288ddc55310207
CertUtil: -hashfile command completed successfully.
PS C:\Local\Lab\AzureMigrateInstaller> CertUtil -HashFile AzureMigrateInstaller.ps1 MD5
MD5 hash of AzureMigrateInstaller.ps1:
9e9355a32993bc385116686c2b776de5
CertUtil: -hashfile command completed successfully.
2.- Windows complains that is not digitally signed.
The file C:\Local\Lab\AzureMigrateInstaller\AzureMigrateInstaller.ps1 is not digitally signed.

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

ID: a404cbd4-359b-b4e7-aa77-af31c1782452
Version Independent ID: fffe880a-86b7-f914-0042-74622bbc8b65
Content: Assess physical servers for migration to Azure with Azure Migrate Server Assessment - Azure Migrate
Content Source: articles/migrate/tutorial-assess-physical.md
Service: azure-migrate
GitHub Login: @rayne-wiselman
Microsoft Alias: raynew

Thanks for your feedback! This is fixed and fix will show up later today.
#please-close


Using python library with dependencies from another application

Issue description
I want to use a neovim plugin, written in Python. The plugin has a dependency on https://github.com/dpallot/simple-websocket-server.
How can I make the dependency available at runtime to the plugin?
Simply installing the dependency using pip failed with an error about setuptools.
The only solution I can think of is starting neovim from a nix-shell. Is there a more elegant way to do this?

You can override extraPython(3)Packages: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/neovim/wrapper.nix

Thanks!