[etcd Version: 3.2.0+git] goreman start etcdmain: forgot to set Type=notify in systemd service file?

Hello People,
I am getting etcdmain: forgot to set Type=notify in systemd service file? by starting etcd using 'goreman start' command. Is it normal?
Thanks
~/etcd$ goreman start
13:00:16 etcd2 | Starting etcd2 on port 5001
13:00:16 etcd3 | Starting etcd3 on port 5002
13:00:16 etcd1 | Starting etcd1 on port 5000
13:00:17 etcd3 | 2017-10-26 13:00:17.625874 I | etcdmain: etcd Version: 3.2.0+git
13:00:17 etcd3 | 2017-10-26 13:00:17.625919 I | etcdmain: Git SHA: fdaa04e
13:00:17 etcd3 | 2017-10-26 13:00:17.625926 I | etcdmain: Go Version: go1.9
13:00:17 etcd3 | 2017-10-26 13:00:17.625934 I | etcdmain: Go OS/Arch: linux/amd64
13:00:17 etcd3 | 2017-10-26 13:00:17.625944 I | etcdmain: setting maximum number of CPUs to 4, total number of available CPUs is 4
13:00:17 etcd3 | 2017-10-26 13:00:17.625961 W | etcdmain: no data-dir provided, using default data-dir ./infra3.etcd
13:00:17 etcd3 | 2017-10-26 13:00:17.626014 N | etcdmain: the server is already initialized as member before, starting as etcd member...
13:00:17 etcd3 | 2017-10-26 13:00:17.626064 I | embed: listening for peers on http://<IP_ADDRESS>:32380
13:00:17 etcd3 | 2017-10-26 13:00:17.626072 I | embed: pprof is enabled under /debug/pprof
13:00:17 etcd3 | 2017-10-26 13:00:17.626095 I | embed: listening for client requests on <IP_ADDRESS>:32379
13:00:17 etcd2 | 2017-10-26 13:00:17.625831 I | etcdmain: etcd Version: 3.2.0+git
13:00:17 etcd2 | 2017-10-26 13:00:17.625892 I | etcdmain: Git SHA: fdaa04e
13:00:17 etcd2 | 2017-10-26 13:00:17.625898 I | etcdmain: Go Version: go1.9
13:00:17 etcd2 | 2017-10-26 13:00:17.625903 I | etcdmain: Go OS/Arch: linux/amd64
13:00:17 etcd2 | 2017-10-26 13:00:17.625909 I | etcdmain: setting maximum number of CPUs to 4, total number of available CPUs is 4
13:00:17 etcd2 | 2017-10-26 13:00:17.625920 W | etcdmain: no data-dir provided, using default data-dir ./infra2.etcd
13:00:17 etcd1 | 2017-10-26 13:00:17.625827 I | etcdmain: etcd Version: 3.2.0+git
13:00:17 etcd1 | 2017-10-26 13:00:17.625892 I | etcdmain: Git SHA: fdaa04e
13:00:17 etcd1 | 2017-10-26 13:00:17.625898 I | etcdmain: Go Version: go1.9
13:00:17 etcd1 | 2017-10-26 13:00:17.625903 I | etcdmain: Go OS/Arch: linux/amd64
13:00:17 etcd1 | 2017-10-26 13:00:17.625909 I | etcdmain: setting maximum number of CPUs to 4, total number of available CPUs is 4
13:00:17 etcd1 | 2017-10-26 13:00:17.625920 W | etcdmain: no data-dir provided, using default data-dir ./infra1.etcd
13:00:17 etcd1 | 2017-10-26 13:00:17.625988 N | etcdmain: the server is already initialized as member before, starting as etcd member...
13:00:17 etcd1 | 2017-10-26 13:00:17.626060 I | embed: listening for peers on http://<IP_ADDRESS>:12380
13:00:17 etcd1 | 2017-10-26 13:00:17.626070 I | embed: pprof is enabled under /debug/pprof
13:00:17 etcd1 | 2017-10-26 13:00:17.626095 I | embed: listening for client requests on <IP_ADDRESS>:2379
13:00:17 etcd2 | 2017-10-26 13:00:17.645534 N | etcdmain: the server is already initialized as member before, starting as etcd member...
13:00:17 etcd2 | 2017-10-26 13:00:17.645678 I | embed: listening for peers on http://<IP_ADDRESS>:22380
13:00:17 etcd2 | 2017-10-26 13:00:17.645690 I | embed: pprof is enabled under /debug/pprof
13:00:17 etcd2 | 2017-10-26 13:00:17.645725 I | embed: listening for client requests on <IP_ADDRESS>:22379
13:00:17 etcd3 | 2017-10-26 13:00:17.717296 I | etcdserver: name = infra3
13:00:17 etcd3 | 2017-10-26 13:00:17.717318 I | etcdserver: data dir = infra3.etcd
13:00:17 etcd3 | 2017-10-26 13:00:17.717326 I | etcdserver: member dir = infra3.etcd/member
13:00:17 etcd3 | 2017-10-26 13:00:17.717331 I | etcdserver: heartbeat = 100ms
13:00:17 etcd3 | 2017-10-26 13:00:17.717337 I | etcdserver: election = 1000ms
13:00:17 etcd3 | 2017-10-26 13:00:17.717343 I | etcdserver: snapshot count = 100000
13:00:17 etcd3 | 2017-10-26 13:00:17.717359 I | etcdserver: advertise client URLs = http://<IP_ADDRESS>:32379
13:00:17 etcd1 | 2017-10-26 13:00:17.755590 I | etcdserver: name = infra1
13:00:17 etcd1 | 2017-10-26 13:00:17.755612 I | etcdserver: data dir = infra1.etcd
13:00:17 etcd1 | 2017-10-26 13:00:17.755626 I | etcdserver: member dir = infra1.etcd/member
13:00:17 etcd1 | 2017-10-26 13:00:17.755632 I | etcdserver: heartbeat = 100ms
13:00:17 etcd1 | 2017-10-26 13:00:17.755637 I | etcdserver: election = 1000ms
13:00:17 etcd1 | 2017-10-26 13:00:17.755642 I | etcdserver: snapshot count = 100000
13:00:17 etcd1 | 2017-10-26 13:00:17.755658 I | etcdserver: advertise client URLs = http://<IP_ADDRESS>:2379
13:00:17 etcd1 | 2017-10-26 13:00:17.867052 I | etcdserver: restarting member 8211f1d0f64f3269 in cluster ef37ad9dc622a7c4 at commit index 596
13:00:17 etcd1 | 2017-10-26 13:00:17.867162 I | raft: 8211f1d0f64f3269 became follower at term 4
13:00:17 etcd1 | 2017-10-26 13:00:17.867182 I | raft: newRaft 8211f1d0f64f3269 [peers: [], term: 4, commit: 596, applied: 0, lastindex: 597, lastterm: 4]
13:00:17 etcd3 | 2017-10-26 13:00:17.999472 I | etcdserver: restarting member fd422379fda50e48 in cluster ef37ad9dc622a7c4 at commit index 596
13:00:17 etcd3 | 2017-10-26 13:00:17.999602 I | raft: fd422379fda50e48 became follower at term 4
13:00:17 etcd3 | 2017-10-26 13:00:17.999616 I | raft: newRaft fd422379fda50e48 [peers: [], term: 4, commit: 596, applied: 0, lastindex: 597, lastterm: 4]
13:00:18 etcd2 | 2017-10-26 13:00:18.076480 I | etcdserver: name = infra2
13:00:18 etcd2 | 2017-10-26 13:00:18.076504 I | etcdserver: data dir = infra2.etcd
13:00:18 etcd2 | 2017-10-26 13:00:18.076513 I | etcdserver: member dir = infra2.etcd/member
13:00:18 etcd2 | 2017-10-26 13:00:18.076519 I | etcdserver: heartbeat = 100ms
13:00:18 etcd2 | 2017-10-26 13:00:18.076524 I | etcdserver: election = 1000ms
13:00:18 etcd2 | 2017-10-26 13:00:18.076529 I | etcdserver: snapshot count = 100000
13:00:18 etcd2 | 2017-10-26 13:00:18.076546 I | etcdserver: advertise client URLs = http://<IP_ADDRESS>:22379
13:00:18 etcd1 | 2017-10-26 13:00:18.094920 W | auth: simple token is not cryptographically signed
13:00:18 etcd3 | 2017-10-26 13:00:18.094979 W | auth: simple token is not cryptographically signed
13:00:18 etcd1 | 2017-10-26 13:00:18.173057 I | etcdserver: starting server... [version: 3.2.0+git, cluster version: to_be_decided]
13:00:18 etcd3 | 2017-10-26 13:00:18.227938 I | etcdserver: starting server... [version: 3.2.0+git, cluster version: to_be_decided]
13:00:18 etcd3 | 2017-10-26 13:00:18.248353 I | etcdserver/membership: added member 8211f1d0f64f3269 [http://<IP_ADDRESS>:12380] to cluster ef37ad9dc622a7c4
13:00:18 etcd3 | 2017-10-26 13:00:18.248394 I | rafthttp: starting peer 8211f1d0f64f3269...
13:00:18 etcd3 | 2017-10-26 13:00:18.248434 I | rafthttp: started HTTP pipelining with peer 8211f1d0f64f3269
13:00:18 etcd2 | 2017-10-26 13:00:18.265027 I | etcdserver: restarting member 91bc3c398fb3c146 in cluster ef37ad9dc622a7c4 at commit index 596
13:00:18 etcd2 | 2017-10-26 13:00:18.265122 I | raft: 91bc3c398fb3c146 became follower at term 4
13:00:18 etcd2 | 2017-10-26 13:00:18.265136 I | raft: newRaft 91bc3c398fb3c146 [peers: [], term: 4, commit: 596, applied: 0, lastindex: 597, lastterm: 4]
13:00:18 etcd3 | 2017-10-26 13:00:18.360864 I | rafthttp: started streaming with peer 8211f1d0f64f3269 (writer)
13:00:18 etcd3 | 2017-10-26 13:00:18.361303 I | rafthttp: started streaming with peer 8211f1d0f64f3269 (writer)
13:00:18 etcd1 | 2017-10-26 13:00:18.378795 I | etcdserver/membership: added member 8211f1d0f64f3269 [http://<IP_ADDRESS>:12380] to cluster ef37ad9dc622a7c4
13:00:18 etcd1 | 2017-10-26 13:00:18.378919 I | etcdserver/membership: added member 91bc3c398fb3c146 [http://<IP_ADDRESS>:22380] to cluster ef37ad9dc622a7c4
13:00:18 etcd1 | 2017-10-26 13:00:18.378939 I | rafthttp: starting peer 91bc3c398fb3c146...
13:00:18 etcd1 | 2017-10-26 13:00:18.378977 I | rafthttp: started HTTP pipelining with peer 91bc3c398fb3c146
13:00:18 etcd1 | 2017-10-26 13:00:18.383994 I | rafthttp: started streaming with peer 91bc3c398fb3c146 (writer)
13:00:18 etcd1 | 2017-10-26 13:00:18.384222 I | rafthttp: started streaming with peer 91bc3c398fb3c146 (writer)
13:00:18 etcd1 | 2017-10-26 13:00:18.396959 I | rafthttp: started peer 91bc3c398fb3c146
13:00:18 etcd1 | 2017-10-26 13:00:18.397006 I | rafthttp: added peer 91bc3c398fb3c146
13:00:18 etcd1 | 2017-10-26 13:00:18.397204 I | etcdserver/membership: added member fd422379fda50e48 [http://<IP_ADDRESS>:32380] to cluster ef37ad9dc622a7c4
13:00:18 etcd3 | 2017-10-26 13:00:18.398508 I | rafthttp: started peer 8211f1d0f64f3269
13:00:18 etcd3 | 2017-10-26 13:00:18.398547 I | rafthttp: added peer 8211f1d0f64f3269
13:00:18 etcd3 | 2017-10-26 13:00:18.398750 I | rafthttp: started streaming with peer 8211f1d0f64f3269 (stream MsgApp v2 reader)
13:00:18 etcd3 | 2017-10-26 13:00:18.399094 I | rafthttp: started streaming with peer 8211f1d0f64f3269 (stream Message reader)
13:00:18 etcd1 | 2017-10-26 13:00:18.400015 I | rafthttp: starting peer fd422379fda50e48...
13:00:18 etcd1 | 2017-10-26 13:00:18.400067 I | rafthttp: started HTTP pipelining with peer fd422379fda50e48
13:00:18 etcd1 | 2017-10-26 13:00:18.402042 I | rafthttp: started streaming with peer 91bc3c398fb3c146 (stream MsgApp v2 reader)
13:00:18 etcd1 | 2017-10-26 13:00:18.402267 I | rafthttp: started streaming with peer 91bc3c398fb3c146 (stream Message reader)
13:00:18 etcd1 | 2017-10-26 13:00:18.404294 I | rafthttp: started streaming with peer fd422379fda50e48 (writer)
13:00:18 etcd1 | 2017-10-26 13:00:18.405411 I | rafthttp: started streaming with peer fd422379fda50e48 (writer)
13:00:18 etcd1 | 2017-10-26 13:00:18.407796 I | rafthttp: started peer fd422379fda50e48
13:00:18 etcd1 | 2017-10-26 13:00:18.407833 I | rafthttp: added peer fd422379fda50e48
13:00:18 etcd1 | 2017-10-26 13:00:18.408074 N | etcdserver/membership: set the initial cluster version to 3.2
13:00:18 etcd1 | 2017-10-26 13:00:18.408136 I | etcdserver/api: enabled capabilities for version 3.2
13:00:18 etcd1 | 2017-10-26 13:00:18.409140 I | rafthttp: started streaming with peer fd422379fda50e48 (stream Message reader)
13:00:18 etcd1 | 2017-10-26 13:00:18.409163 I | rafthttp: started streaming with peer fd422379fda50e48 (stream MsgApp v2 reader)
13:00:18 etcd1 | 2017-10-26 13:00:18.409465 I | rafthttp: peer fd422379fda50e48 became active
13:00:18 etcd1 | 2017-10-26 13:00:18.409478 I | rafthttp: established a TCP streaming connection with peer fd422379fda50e48 (stream Message writer)
13:00:18 etcd3 | 2017-10-26 13:00:18.409622 I | rafthttp: peer 8211f1d0f64f3269 became active
13:00:18 etcd3 | 2017-10-26 13:00:18.409637 I | rafthttp: established a TCP streaming connection with peer 8211f1d0f64f3269 (stream Message reader)
13:00:18 etcd3 | 2017-10-26 13:00:18.409685 I | rafthttp: established a TCP streaming connection with peer 8211f1d0f64f3269 (stream MsgApp v2 reader)
13:00:18 etcd1 | 2017-10-26 13:00:18.413933 I | rafthttp: established a TCP streaming connection with peer fd422379fda50e48 (stream MsgApp v2 writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.439870 W | auth: simple token is not cryptographically signed
13:00:18 etcd3 | 2017-10-26 13:00:18.448631 I | etcdserver/membership: added member 91bc3c398fb3c146 [http://<IP_ADDRESS>:22380] to cluster ef37ad9dc622a7c4
13:00:18 etcd3 | 2017-10-26 13:00:18.448675 I | rafthttp: starting peer 91bc3c398fb3c146...
13:00:18 etcd3 | 2017-10-26 13:00:18.448697 I | rafthttp: started HTTP pipelining with peer 91bc3c398fb3c146
13:00:18 etcd3 | 2017-10-26 13:00:18.449072 I | rafthttp: started streaming with peer 91bc3c398fb3c146 (writer)
13:00:18 etcd3 | 2017-10-26 13:00:18.449316 I | rafthttp: started streaming with peer 91bc3c398fb3c146 (writer)
13:00:18 etcd3 | 2017-10-26 13:00:18.449733 I | rafthttp: started peer 91bc3c398fb3c146
13:00:18 etcd3 | 2017-10-26 13:00:18.449748 I | rafthttp: added peer 91bc3c398fb3c146
13:00:18 etcd3 | 2017-10-26 13:00:18.449803 I | rafthttp: started streaming with peer 91bc3c398fb3c146 (stream Message reader)
13:00:18 etcd3 | 2017-10-26 13:00:18.449905 I | etcdserver/membership: added member fd422379fda50e48 [http://<IP_ADDRESS>:32380] to cluster ef37ad9dc622a7c4
13:00:18 etcd3 | 2017-10-26 13:00:18.450085 I | rafthttp: started streaming with peer 91bc3c398fb3c146 (stream MsgApp v2 reader)
13:00:18 etcd3 | 2017-10-26 13:00:18.450114 N | etcdserver/membership: set the initial cluster version to 3.2
13:00:18 etcd3 | 2017-10-26 13:00:18.450181 I | etcdserver/api: enabled capabilities for version 3.2
13:00:18 etcd3 | 2017-10-26 13:00:18.450315 I | rafthttp: established a TCP streaming connection with peer 8211f1d0f64f3269 (stream Message writer)
13:00:18 etcd1 | 2017-10-26 13:00:18.450505 I | rafthttp: established a TCP streaming connection with peer fd422379fda50e48 (stream MsgApp v2 reader)
13:00:18 etcd1 | 2017-10-26 13:00:18.450517 I | rafthttp: established a TCP streaming connection with peer fd422379fda50e48 (stream Message reader)
13:00:18 etcd3 | 2017-10-26 13:00:18.451343 I | rafthttp: established a TCP streaming connection with peer 8211f1d0f64f3269 (stream MsgApp v2 writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.482029 I | etcdserver: starting server... [version: 3.2.0+git, cluster version: to_be_decided]
13:00:18 etcd2 | 2017-10-26 13:00:18.483182 I | etcdserver/membership: added member 8211f1d0f64f3269 [http://<IP_ADDRESS>:12380] to cluster ef37ad9dc622a7c4
13:00:18 etcd2 | 2017-10-26 13:00:18.483216 I | rafthttp: starting peer 8211f1d0f64f3269...
13:00:18 etcd2 | 2017-10-26 13:00:18.483258 I | rafthttp: started HTTP pipelining with peer 8211f1d0f64f3269
13:00:18 etcd2 | 2017-10-26 13:00:18.484316 I | rafthttp: started streaming with peer 8211f1d0f64f3269 (writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.485517 I | rafthttp: started streaming with peer 8211f1d0f64f3269 (writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.486702 I | rafthttp: started peer 8211f1d0f64f3269
13:00:18 etcd1 | 2017-10-26 13:00:18.488424 I | rafthttp: peer 91bc3c398fb3c146 became active
13:00:18 etcd1 | 2017-10-26 13:00:18.488440 I | rafthttp: established a TCP streaming connection with peer 91bc3c398fb3c146 (stream Message reader)
13:00:18 etcd1 | 2017-10-26 13:00:18.488458 I | rafthttp: established a TCP streaming connection with peer 91bc3c398fb3c146 (stream MsgApp v2 reader)
13:00:18 etcd2 | 2017-10-26 13:00:18.487042 I | rafthttp: started streaming with peer 8211f1d0f64f3269 (stream Message reader)
13:00:18 etcd2 | 2017-10-26 13:00:18.487110 I | rafthttp: added peer 8211f1d0f64f3269
13:00:18 etcd2 | 2017-10-26 13:00:18.487530 I | rafthttp: started streaming with peer 8211f1d0f64f3269 (stream MsgApp v2 reader)
13:00:18 etcd2 | 2017-10-26 13:00:18.487754 I | etcdserver/membership: added member 91bc3c398fb3c146 [http://<IP_ADDRESS>:22380] to cluster ef37ad9dc622a7c4
13:00:18 etcd2 | 2017-10-26 13:00:18.487817 I | rafthttp: peer 8211f1d0f64f3269 became active
13:00:18 etcd2 | 2017-10-26 13:00:18.487841 I | rafthttp: established a TCP streaming connection with peer 8211f1d0f64f3269 (stream Message writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.488008 I | etcdserver/membership: added member fd422379fda50e48 [http://<IP_ADDRESS>:32380] to cluster ef37ad9dc622a7c4
13:00:18 etcd2 | 2017-10-26 13:00:18.488201 I | rafthttp: starting peer fd422379fda50e48...
13:00:18 etcd2 | 2017-10-26 13:00:18.488234 I | rafthttp: started HTTP pipelining with peer fd422379fda50e48
13:00:18 etcd1 | 2017-10-26 13:00:18.490177 I | rafthttp: established a TCP streaming connection with peer 91bc3c398fb3c146 (stream Message writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.490063 I | rafthttp: established a TCP streaming connection with peer 8211f1d0f64f3269 (stream MsgApp v2 writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.490385 I | rafthttp: established a TCP streaming connection with peer 8211f1d0f64f3269 (stream MsgApp v2 reader)
13:00:18 etcd2 | 2017-10-26 13:00:18.490424 I | rafthttp: established a TCP streaming connection with peer 8211f1d0f64f3269 (stream Message reader)
13:00:18 etcd1 | 2017-10-26 13:00:18.490697 I | rafthttp: established a TCP streaming connection with peer 91bc3c398fb3c146 (stream MsgApp v2 writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.495032 I | rafthttp: started streaming with peer fd422379fda50e48 (writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.495259 I | rafthttp: started streaming with peer fd422379fda50e48 (writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.495654 I | rafthttp: started peer fd422379fda50e48
13:00:18 etcd2 | 2017-10-26 13:00:18.495683 I | rafthttp: started streaming with peer fd422379fda50e48 (stream MsgApp v2 reader)
13:00:18 etcd2 | 2017-10-26 13:00:18.495697 I | rafthttp: added peer fd422379fda50e48
13:00:18 etcd2 | 2017-10-26 13:00:18.496412 I | rafthttp: started streaming with peer fd422379fda50e48 (stream Message reader)
13:00:18 etcd2 | 2017-10-26 13:00:18.496970 E | rafthttp: failed to find member fd422379fda50e48 in cluster ef37ad9dc622a7c4
13:00:18 etcd2 | 2017-10-26 13:00:18.497249 E | rafthttp: failed to find member fd422379fda50e48 in cluster ef37ad9dc622a7c4
13:00:18 etcd3 | 2017-10-26 13:00:18.497988 I | rafthttp: peer 91bc3c398fb3c146 became active
13:00:18 etcd3 | 2017-10-26 13:00:18.498014 I | rafthttp: established a TCP streaming connection with peer 91bc3c398fb3c146 (stream MsgApp v2 writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.498267 I | rafthttp: peer fd422379fda50e48 became active
13:00:18 etcd2 | 2017-10-26 13:00:18.498300 I | rafthttp: established a TCP streaming connection with peer fd422379fda50e48 (stream MsgApp v2 reader)
13:00:18 etcd2 | 2017-10-26 13:00:18.499088 N | etcdserver/membership: set the initial cluster version to 3.2
13:00:18 etcd2 | 2017-10-26 13:00:18.499214 I | etcdserver/api: enabled capabilities for version 3.2
13:00:18 etcd2 | 2017-10-26 13:00:18.499670 I | rafthttp: established a TCP streaming connection with peer fd422379fda50e48 (stream Message writer)
13:00:18 etcd3 | 2017-10-26 13:00:18.500231 I | rafthttp: established a TCP streaming connection with peer 91bc3c398fb3c146 (stream MsgApp v2 reader)
13:00:18 etcd3 | 2017-10-26 13:00:18.500315 I | rafthttp: established a TCP streaming connection with peer 91bc3c398fb3c146 (stream Message reader)
13:00:18 etcd2 | 2017-10-26 13:00:18.500475 I | rafthttp: established a TCP streaming connection with peer fd422379fda50e48 (stream MsgApp v2 writer)
13:00:18 etcd3 | 2017-10-26 13:00:18.508753 I | rafthttp: established a TCP streaming connection with peer 91bc3c398fb3c146 (stream Message writer)
13:00:18 etcd2 | 2017-10-26 13:00:18.508975 I | rafthttp: established a TCP streaming connection with peer fd422379fda50e48 (stream Message reader)
13:00:18 etcd1 | 2017-10-26 13:00:18.567459 I | raft: 8211f1d0f64f3269 is starting a new election at term 4
13:00:18 etcd1 | 2017-10-26 13:00:18.567553 I | raft: 8211f1d0f64f3269 became candidate at term 5
13:00:18 etcd1 | 2017-10-26 13:00:18.567580 I | raft: 8211f1d0f64f3269 received MsgVoteResp from 8211f1d0f64f3269 at term 5
13:00:18 etcd1 | 2017-10-26 13:00:18.567718 I | raft: 8211f1d0f64f3269 [logterm: 4, index: 597] sent MsgVote request to 91bc3c398fb3c146 at term 5
13:00:18 etcd1 | 2017-10-26 13:00:18.567737 I | raft: 8211f1d0f64f3269 [logterm: 4, index: 597] sent MsgVote request to fd422379fda50e48 at term 5
13:00:18 etcd2 | 2017-10-26 13:00:18.594276 I | raft: 91bc3c398fb3c146 [term: 4] received a MsgVote message with higher term from 8211f1d0f64f3269 [term: 5]
13:00:18 etcd2 | 2017-10-26 13:00:18.594320 I | raft: 91bc3c398fb3c146 became follower at term 5
13:00:18 etcd2 | 2017-10-26 13:00:18.594336 I | raft: 91bc3c398fb3c146 [logterm: 4, index: 597, vote: 0] cast MsgVote for 8211f1d0f64f3269 [logterm: 4, index: 597] at term 5
13:00:18 etcd3 | 2017-10-26 13:00:18.594318 I | raft: fd422379fda50e48 [term: 4] received a MsgVote message with higher term from 8211f1d0f64f3269 [term: 5]
13:00:18 etcd3 | 2017-10-26 13:00:18.594349 I | raft: fd422379fda50e48 became follower at term 5
13:00:18 etcd3 | 2017-10-26 13:00:18.594368 I | raft: fd422379fda50e48 [logterm: 4, index: 597, vote: 0] cast MsgVote for 8211f1d0f64f3269 [logterm: 4, index: 597] at term 5
13:00:18 etcd1 | 2017-10-26 13:00:18.607187 I | raft: 8211f1d0f64f3269 received MsgVoteResp from 91bc3c398fb3c146 at term 5
13:00:18 etcd1 | 2017-10-26 13:00:18.607213 I | raft: 8211f1d0f64f3269 [quorum:2] has received 2 MsgVoteResp votes and 0 vote rejections
13:00:18 etcd1 | 2017-10-26 13:00:18.607241 I | raft: 8211f1d0f64f3269 became leader at term 5
13:00:18 etcd1 | 2017-10-26 13:00:18.607258 I | raft: raft.node: 8211f1d0f64f3269 elected leader 8211f1d0f64f3269 at term 5
13:00:18 etcd2 | 2017-10-26 13:00:18.607604 I | raft: raft.node: 91bc3c398fb3c146 elected leader 8211f1d0f64f3269 at term 5
13:00:18 etcd3 | 2017-10-26 13:00:18.607652 I | raft: raft.node: fd422379fda50e48 elected leader 8211f1d0f64f3269 at term 5
13:00:18 etcd1 | 2017-10-26 13:00:18.674141 I | etcdserver: published {Name:infra1 ClientURLs:[http://<IP_ADDRESS>:2379]} to cluster ef37ad9dc622a7c4
13:00:18 etcd1 | 2017-10-26 13:00:18.674293 I | embed: ready to serve client requests
13:00:18 etcd1 | 2017-10-26 13:00:18.674497 E | etcdmain: forgot to set Type=notify in systemd service file?
13:00:18 etcd2 | 2017-10-26 13:00:18.674244 I | etcdserver: published {Name:infra2 ClientURLs:[http://<IP_ADDRESS>:22379]} to cluster ef37ad9dc622a7c4
13:00:18 etcd2 | 2017-10-26 13:00:18.674345 I | embed: ready to serve client requests
13:00:18 etcd2 | 2017-10-26 13:00:18.674529 E | etcdmain: forgot to set Type=notify in systemd service file?
13:00:18 etcd3 | 2017-10-26 13:00:18.674193 I | etcdserver: published {Name:infra3 ClientURLs:[http://<IP_ADDRESS>:32379]} to cluster ef37ad9dc622a7c4
13:00:18 etcd3 | 2017-10-26 13:00:18.674253 I | embed: ready to serve client requests
13:00:18 etcd3 | 2017-10-26 13:00:18.674497 E | etcdmain: forgot to set Type=notify in systemd service file?
13:00:18 etcd2 | 2017-10-26 13:00:18.699717 N | embed: serving insecure client requests on <IP_ADDRESS>:22379, this is strongly discouraged!
13:00:18 etcd1 | 2017-10-26 13:00:18.699703 N | embed: serving insecure client requests on <IP_ADDRESS>:2379, this is strongly discouraged!
13:00:18 etcd3 | 2017-10-26 13:00:18.699703 N | embed: serving insecure client requests on <IP_ADDRESS>:32379, this is strongly discouraged!

Procfile:
# Use goreman to run `go get github.com/mattn/goreman`
#etcd1: bin/etcd --name infra1 --listen-client-urls http://<IP_ADDRESS>:2379 --advertise-client-urls http://<IP_ADDRESS>:2379 --listen-peer-urls http://<IP_ADDRESS>:12380 --initial-advertise-peer-urls http://<IP_ADDRESS>:12380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://<IP_ADDRESS>:12380,infra2=http://<IP_ADDRESS>:22380,infra3=http://<IP_ADDRESS>:32380' --initial-cluster-state new --enable-pprof
#etcd2: bin/etcd --name infra2 --listen-client-urls http://<IP_ADDRESS>:22379 --advertise-client-urls http://<IP_ADDRESS>:22379 --listen-peer-urls http://<IP_ADDRESS>:22380 --initial-advertise-peer-urls http://<IP_ADDRESS>:22380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://<IP_ADDRESS>:12380,infra2=http://<IP_ADDRESS>:22380,infra3=http://<IP_ADDRESS>:32380' --initial-cluster-state new --enable-pprof
#etcd3: bin/etcd --name infra3 --listen-client-urls http://<IP_ADDRESS>:32379 --advertise-client-urls http://<IP_ADDRESS>:32379 --listen-peer-urls http://<IP_ADDRESS>:32380 --initial-advertise-peer-urls http://<IP_ADDRESS>:32380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://<IP_ADDRESS>:12380,infra2=http://<IP_ADDRESS>:22380,infra3=http://<IP_ADDRESS>:32380' --initial-cluster-state new --enable-pprof
etcd1: bin/etcd --name infra1 --listen-client-urls 'http://<IP_ADDRESS>:2379' --advertise-client-urls 'http://<IP_ADDRESS>:2379' --listen-peer-urls 'http://<IP_ADDRESS>:12380' --initial-advertise-peer-urls 'http://<IP_ADDRESS>:12380' --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://<IP_ADDRESS>:12380,infra2=http://<IP_ADDRESS>:22380,infra3=http://<IP_ADDRESS>:32380' --initial-cluster-state new --enable-pprof
etcd2: bin/etcd --name infra2 --listen-client-urls 'http://<IP_ADDRESS>:22379' --advertise-client-urls 'http://<IP_ADDRESS>:22379' --listen-peer-urls 'http://<IP_ADDRESS>:22380' --initial-advertise-peer-urls 'http://<IP_ADDRESS>:22380' --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://<IP_ADDRESS>:12380,infra2=http://<IP_ADDRESS>:22380,infra3=http://<IP_ADDRESS>:32380' --initial-cluster-state new --enable-pprof
etcd3: bin/etcd --name infra3 --listen-client-urls 'http://<IP_ADDRESS>:32379' --advertise-client-urls 'http://<IP_ADDRESS>:32379' --listen-peer-urls 'http://<IP_ADDRESS>:32380' --initial-advertise-peer-urls 'http://<IP_ADDRESS>:32380' --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://<IP_ADDRESS>:12380,infra2=http://<IP_ADDRESS>:22380,infra3=http://<IP_ADDRESS>:32380' --initial-cluster-state new --enable-pprof
#proxy: bin/etcd grpc-proxy start --endpoints=<IP_ADDRESS>:2379,<IP_ADDRESS>:22379,<IP_ADDRESS>:32379 --listen-addr=<IP_ADDRESS>:23790 --advertise-client-url=<IP_ADDRESS>:23790 --enable-pprof

you are not using systemd to start etcd. so it is normal.


Simulating a server-side/client-side request by setting process.client or process.server

I some unit tests, before using this setup I was able to set process.client = false or process.server and then in my test it would be set to false so I can ensure certain expectations e.g.
test.todo('API Url set correctly for server-side requests', () => {
    let $cwa
    // todo: why can we not set the process vars in the test
    process.client = false

    $cwa = createCwa({ storeName })
    expect($cwa.apiUrl).toBe('https://api-url-not-set.com')

    $cwa = createCwa({ storeName, apiUrl: 'https://api-url', apiUrlBrowser: 'https://api-url-browser' })
    expect($cwa.apiUrl).toBe('https://api-url')

    $cwa = createCwa({ storeName, apiUrlBrowser: 'https://api-url-browser' })
    expect($cwa.apiUrl).toBe('https://api-url-browser')
  })

These are just unit tests and I'm wondering why this does not work using this setup and if there's a better way to do this that is supported in my unit tests?

I think the issue may stem from here:
https://github.com/danielroe/nuxt-vitest/blob/main/packages/nuxt-vitest/src/config.ts#L16-L23
Where the ssr override is being set so I cannot set whether a unit/function would behave in a certain way if called server-side or client-side renders

To test this we can create a composable to test:
export const useProcess = () => {
  return {
    isClient: process.client,
    isServer: process.server
  }
}

and the tests:
import { describe, test, expect } from 'vitest'
import { useProcess } from '#cwa/runtime/composables/process'

describe('process composable', () => {
  test('should return correct values for client/server flags IF env is client-side', () => {
    process.client = true
    process.server = false

    expect(useProcess()).toEqual({
      isClient: true,
      isServer: false
    })
  })

  // THIS TEST FAILS AS WE CANNOT OVERWRITE process.server OR process.client
  test('should return correct values for client/server flags IF env is server-side', () => {
    process.client = false
    process.server = true

    expect(useProcess()).toEqual({
      isClient: false,
      isServer: true
    })
  })
})

This happens on test files whether we are using nuxt-vitest or not if this package and the module is enabled.


Add try/cach to extension bundle

Temporarily hack the built javascript bundle for extensions by adding a try/catch around the entire script.  This ensures that any unexpected error that may occur gets output to console log and not swallowed by our web worker.
WHY are these changes introduced?
When developing native UI extensions for POS, it is possible to get into a state where the extension fails to load. The Smart Grid tile just says "Error loading extension," but there is no further information available. Trying to use chrome://inspect shows no console error messages whatsoever, leaving a partner with no good avenue to debug.
WHAT is this pull request doing?
This PR is a possible short-term solution that ensures that the extension bundle that we build is wrapped in a try/catch so that any error is properly caught and output to the console. Long-term, we should consider modifying the web worker which calls importScript to either do a try/catch or ensure that errors are properly reported.
How to test your changes?
One easy way of getting into this state is to create a new POS UI extension and then to make the following change to your src/index.js file:
throw new Error("Simulate a catastrophic error");
render('Retail::SmartGrid::Tile', () => <SmartGridTile />);
render('Retail::SmartGrid::Modal', () => <SmartGridModal />);

Measuring impact
How do we know this change was effective? Please choose one:

[ ] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
[ ] Existing analytics will cater for this addition
[ ] PR includes analytics changes to measure impact

Checklist

[ ] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've considered possible documentation changes
[ ] I've made sure that any changes to dev or deploy have been reflected in the internal flowchart.

Can you clarify why this issue happens on POS? Should this not be happening for all extensions if it's related to importing an erroneous script? Also, I'm not sure I'm comfortable with adding a try/catch around the partner's code. This would prevent errors from being caught higher up the chain while loading extensions which we might be already doing.
Wouldn't it make more sense for POS or other hosts to do try/catch when loading in the partner's script instead?

The proper place would be inside the worker itself before calling importScript. Basically inside the worker.load method.

Wouldn't it make more sense for POS or other hosts to do try/catch when loading in the partner's script instead?

It absolutely would. I spent the better part of two days trying to accomplish this, but I could never get the worker code to build. (I'm not even 100% certain I was in the right place.) This PR wasn't really intended to be a real PR but was put together to help @henrytao-me see the issues I was experiencing when an extension fails to load without communicating anything meaningful to end users. However, partners are running into the same issue, and @heltisace was thinking this might provide some relief until we can figure out the long-term solution. We definitely welcome any thoughts or advice!

The proper place would be inside the worker itself before calling importScript. Basically inside the worker.load method.

@vividviolet would you be able to help us do that?

Yes, I can. I think you are using the same worker script from web correct? @henrytao-me do you remember?

Here is a cdn link to the worker we are using: https://cdn.shopify.com/shopifycloud/web/assets/v1/admin-ui-extensions-host/sandbox-worker.worker.js.

Yup, that's the same worker used by web. It's strange that we can't catch errors outside of the worker though, I thought this PR to Remote UI was supposed to let us do that: https://github.com/Shopify/remote-ui/pull/173
Have you tried bumping the remote-ui version?

After updating the package on the host (POS), the console now throws the errors in the inspect console as expected. In this example the function wasn't imported or created.
I tried to update the client (UI Extensions) too, but it didn't work. This could have been a local issue though, because I used yalc to link the UI Extensions update to POS and the extension.
Next steps:

I will create a PR in the POS repo to update the packages.
We will communicate to the partners that this will be improved in the next version of POS.
We will look into making it more clear on how to debug UI Extensions so that the partners don't expect the CLI console to present the errors.

Thanks everyone!
cc: @vividviolet @david-mccullars @henrytao-me

tried to update the client (UI Extensions) too, but it didn't work.

I don't think you need to update the client libraries because the endpoint set up comes from the host code inside the worker. It should be good enough to just update POS and the pos-next-react-native library.


ValidateFunction type definition is not complete

What version of Ajv are you using? Does the issue happen if you use the latest version?
5.2.3
Details
The ValidateFunction interface only contain the function signature and the properties error and schema.
The properties root, refs and refval are missing. This makes hard to use it with TypeScript.

Thanks for considering my request.
refVal should not be an Array<ValidateFunction> instead of Array<any> ?
b6d35aa


Accept optional seed text

It works on the webpage but I don't know how to fix the errors:

murmurhash.js has no export; require() wasn't recognized in browser

index.js of d3-random has no default export

Uncaught SyntaxError: import not found: default

import { randomLcg, randomUniform } from "d3-random";
^^^^^^^^^
SyntaxError: The requested module 'd3-random' is expected to be of type CommonJS, which does not support named exports. CommonJS modules can be imported by importing the default export.

Should I do any of these:

Try npm install @types/d3-random if it exists or add a new declaration (.d.ts) file containing declare module 'd3-random';

Resolves #13 .

@runarberg
Sorry, this must have been confusing. I'll redo it after the other update (no hurry).
It'd be helpful if you could, after the update, apply Implement partially optional seed fa73356 as a starting point.


Quotes are missing in docker-machine env suggested command

$ docker-machine --version
docker-machine version 0.8.1, build 41b3b25
$ docker-machine env dev --shell=bash
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://<IP_ADDRESS>:2376"
export DOCKER_CERT_PATH="/Users/jonathanperret/.docker/machine/machines/dev"
export DOCKER_MACHINE_NAME="dev"
# Run this command to configure your shell:
# eval $(docker-machine env dev --shell=bash)

The output of docker-machine env really should be quoted for Bash, otherwise all the lines are merged into a single one, meaning that eval $(docker-machine env dev --shell=bash) actually runs:
$ export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://<IP_ADDRESS>:2376" export DOCKER_CERT_PATH="/Users/jonathanperret/.docker/machine/machines/dev" export DOCKER_MACHINE_NAME="dev" # Run this command to configure your shell: # eval $(docker-machine env dev --shell=bash)

This is relatively harmless as export accepts several variable=value pairs, and also simple variable arguments, but it does have one amusing effect: if you have an unexported export variable laying around, it will become exported:
$ export=hello
$ env | grep export
$ eval $(docker-machine env dev --shell=bash)
$ env | grep export
export=hello

It is also fortunate that all the comments are at the end, otherwise no command would be executed after the first #.
I vaguely remembered that there used to be quotes there, so I did a bit of git blame-ing and sure enough, they went away in #2656 . So I guess, ping @dgageot 😄

Alternatively, could end each line of exports with a semi-colon, so that the missing quotes don't matter as much.


redis export failed

This issue happens when running az redis export ...
The call from the cli module :
https://github.com/Azure/azure-cli/blob/ea1bcfec7a4cf29c030602392efeebc71294505b/src/command_modules/azure-cli-redis/azure/cli/command_modules/redis/custom.py#L24
Does not matches the mgmt constructor module :
https://github.com/Azure/azure-sdk-for-python/blob/400f9b9bc9dd316222e75f636fd7dd6717d46293/azure-mgmt-redis/azure/mgmt/redis/models/export_rdb_parameters_py3.py#L39
    def __init__(self, *, prefix: str, container: str, format: str=None, **kwargs) -> None:

Workaround :
# file: ~/.virtualenvs/azure/lib/python3.7/site-packages/azure/cli/command_modules/redis/custom.py
-   parameters = ExportRDBParameters(prefix, container, file_format)
+   parameters = ExportRDBParameters(prefix=prefix, container=container, format=file_format)

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az redis export
Errors:
__init__() takes 1 positional argument but 4 were given
Traceback (most recent call last):
python3.7/site-packages/knack/cli.py, ln 206, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 523, in execute
    raise ex
cli/core/commands/__init__.py, ln 581, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
cli/core/commands/__init__.py, ln 574, in _run_job
    six.reraise(*sys.exc_info())
...
cli/core/commands/__init__.py, ln 289, in __call__
    return self.handler(*args, **kwargs)
azure/cli/core/__init__.py, ln 453, in default_command_handler
    return op(**command_args)
cli/command_modules/redis/custom.py, ln 24, in cli_redis_export
    parameters = ExportRDBParameters(prefix, container, file_format)
TypeError: __init__() takes 1 positional argument but 4 were given

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az redis export --container {} --file-format {} --prefix {} -g {} -n {}

Expected Behavior
Environment Summary
Darwin-18.2.0-x86_64-i386-64bit
Python 3.7.1
Shell: bash

azure-cli 2.0.63

Additional Context

Thanks for the report @christophemorio. Since you've identified the solution, would you be open to creating a PR?

Alright, it's done on #9302

Thank you @christophemorio!


The WT window always appears behind the active Explorer window.

After the latest update,there is an explorer context menu item appear:

Use it:

The WT window always appears behind the active Explorer window.
And please add a explorer background context menu item,maybe called "Windows Terminal here".
And, The color of the tabs is always black, I think it should be the same as the background.

Look,it's so ugly,isn't it?

Thanks for the suggestion! This is actually already being tracked by another issue on our repo - please refer to #2988 for more discussion.
/dup #2988
Also:
#6414, Tab Background color (#702/#1337/#2994)


How to get the pre-training model？

Hello, I want to ask you how to get the pre-training model, because I found that after the network was rebuilt, the model could not fit well without loading the pre-training model. Thank you

Hi, as described in the readme, you can get the pre-training model here pre-training segformer
Thanks and best,


fix #397 refactor distributed shell

Ideally, I think only 3 files are needed.
Client, AppMaster, and Executor.
All other definition can be put in companion object of these three.

Now the class RegisterExecutor is in org.apache.gearpump.streaming package, so for other applications is it needed?

Hi Huafeng,
Other app should define its own RegisterExecutor if they need it.

+1

Please rebase.


MOON-407: Add new component Pill

JIRA

https://jira.jahia.org/browse/MOON-407
Description
I added a new component ListItemChip Pill to display a Chip in place of iconEnd in Dropdown menu.
Actually, the purpose of this component is to display the language code in our Dropdown language switcher.
I hesitate to add this new style as a  variant of the Chip instead of creating a new component, but as we don't have the same props (no icon) and some specific (reversed style) I created a new component.
I don't really like the name of the component. I think it should be generic if we want to display something else than language code and should describe where we expect to use it. As a reviewer feel free to propose a better name.

I created ListItemChip Pill and added some tests
I replaced the icon sizes of the Dropdown to allow ListItemChip Pill from width to min-width
I added an example in storybook in Dropdown to show what can look like the new language switcher

Finally, I renamed it Pill


[Request] RT5370 support

Sir please add support for Ralink RT5370 adapter

See #28.

Drivers
STA_DPA_BETA_RT5X_JB_V<IP_ADDRESS>_20121123.tar.gz

Firmware file

That looks more like a driver.
This module only provides some extra files that are (sometimes) needed by the adapters. You could just manually place these files in /etc/firmware, but that breaks SafetyNet. This Magisk module only adds them systemlessly, not breaking SafetyNet.
Apart from this, the kernel must also support the adapter.


Upgrade Ruby to 2.7.5

Upgrades Ruby to 2.7.5. See commits for more details.
This PR should be tested before merge, as per https://docs.publishing.service.gov.uk/manual/ruby.html#update-ruby-version-in-the-relevant-repos.

CI Passes
Deploys to integration, tested by redeploying feedback so that it would reload the gem layouts.
No errors in grafana or sentry.
No deprecations in the logs.


Improve README file

I wanted to improve the information in Open Source Section.
Contributing to open-source is well-known to help developers in several ways.

It strengthens resumes, adding real projects you can discuss in interviews.
Improves coding ability, as it allows you to practice your skills, as well as adhere to someone else coding standards.
Gives experience akin to working in a development environment, as you have to read and understand someone else's code and open yourself up to feedback when your code is reviewed.
As much as it has many positives, contributing to open-source can be a daunting task for anyone new to it, especially someone who is just getting to grips with the coding fundamentals. Alongside finding projects to contribute to, it can be an intimidating experience opening yourself up to scrutiny and learning the ins and outs of how GitHub works. This is where the Project-o-Matic open-source collaboration effort can help.
It is a welcoming project for developers of all levels. You offer the chance to get to grips with the GitHub UI/process and make their first open-source contribution. Projects are loaded via local markdown files added to the app, and solutions are added via a JSON file. These are the ways you can make your first contributions. If you want to find out more or steps on how to contribute, head over to the GitHub page.
Read below on how you can improve your technical writing using Hashnode.

Several changes in grammar and clarity. What do you think?
If it suits you, would you assign me to this issue?
I am new to open source projects and have minimum skills in HTML and CSS, so this is the best I can do now.
Thank you!

Apologies for the late response, I have been travelling for the past few days.
Looks great to me. Glad to see you getting involved regardless of your current abilities. Happy for you to look at any of the other sections that may need work.
I know I need to improve the explanations of how to contribute, I am considering doing a screen-recorded walkthrough as this would make it much easier for newer developers.

No worries, @JoelPickin. I am glad you made it to my issue. Safe travel!
I'll try to work accordingly and finish it this weekend. Maybe you can later use the text I provide for your guidance to make some videos or pre-recorded gifs for the readme


Dataset prepartion

Hi, if I want to process my original video dataset to become the skeleton information (same as the form of your input), how to generate the input? I only have the original avi. files. Besides, how do I annotate them? Thanks!

Hi!
As described in the paper and in the issue here, we used alphapose and poseflow to extract the skeletons and to follow people in the videos.


docs: verbiage and examples update

↪ Pull Request

[x] Make sure you are opening from a feature/feat/docs/fix/bug/hotfix/stable/chore (right side) and not your master branch!
[x] Ensure that the pull request title represents the desired changelog entry

📒 Description
I wrote a similar module for work and would prefer to use something official but upon pulling this module I found it would not work with the examples given and their are many references to GitHub and related GitHub terms.
This PR replaces those with the GitLab terminology as well as updates a few things to get it passing all precommit checks.  also a small modernization of the example CI/CD yaml.
🕶 Types of changes

[ ] Core
[ ] Bugfix
[ ] New feature
[x] Enhancement/optimization # kinda?
[x] Documentation
[ ] Dependencies

🤯 List of changes

there are several mentions of GitHub and GitHub Actions in this code base.  I've replaced those with GitLab and Gitlab Pipelines.

this PR also replaces repos, repository, repositories and organizations with the proper GitLab equivalents of projects and namespaces

it includes the terraform-docs updates that come from running pre-commit

corrects the description of the basic example and cleans up example code

updates gitlab cicd yaml example to use the new OIDC tokens.  CI_JOB_JWT* variables are deprecated and will be removed in v17.

updates instances of .*. and .0. with [*]. and [0]., removes "interpolation-only" expressions as per precommit tflint rules

renamed a couple variables to match gitlab terminology e.g. repositories -> projects

added some variable descriptions, again precommit stuff

renamed repositories variable to project_paths since the check expects project_path: in the regex.  updated examples to be like ["project_path:foo/bar", "project_path:baz/quk"] to match

removes unused gitlab_url variable.  (url is what is currently used)

👫 Relationships

🔎 Review hints

🚨 Test instructions
this can be pulled and applied as is.

Checklist

[x] My code follows the code style of this project.
[ ] I have read the CONTRIBUTING document.  # there isn't one?
[ ] Added/updated unit tests for this change
[x] I have tested the changes and verified that they work and don't break anything (as well as I can manage).
[x] Filled out test instructions (In case there aren't any unit tests)
[x] I followed the existing code standards and didn't mess up the formatting.  # i did run terraform fmt
[x] My change requires a change to the documentation.
[x] I did my best to add documentation to any public classes or methods I added.
[ ] Included links to related issues/PRs

i don't understand why the naming check fails.  it says :
Available types:
 - fix
 - feat
 - docs
 - ci
 - chore

and this branch's name starts with docs/

@ivankatliarchuk any consideration or feedback here?

Thank you for this, the project_path: suffix tripped me up

any plans on using this or declining?  i'm on hold for a project at work.  I can go back to the module i wrote previously but i'd prefer to contribute to this if that's an option.


#17585 ability to trim string values during export to XLSX implemente…

ability to trim string values during export to XLSX implemented with an extra setting
Please check export to xlsx with different settings

verified


Try out upgrading from pypi to git in CI.

I've just realised that renaming interfaces definitely breaks DHCP and probably breaks iptables. Further thought required.

I've just realised that renaming interfaces definitely breaks DHCP and probably breaks iptables. Further thought required.


Added -FormatTranslationUnit parameter

Resolves #21.

Nice! Looks all good, so merging it into develop. Thanks for your efforts! 😁


HttpMethodAttribute: fix documentation and parameter check

The second constructor of the HttpMethodAttribute class claims that the template parameter may not be null, and no such claim is present about the httpMethods parameter. However, when httpMethods is null, an exception is thrown, while template is allowed to be null (as can be seen in the HttpMethodAttribute(IEnumerable<string>) constructor, which passes null.
In addition, the HttpMethodAttribute(IEnumerable<string>) constructor contains a null-check for the httpMethods parameter, but since this check is also in the HttpMethodAttribute(IEnumerable<string>, string) constructor this check is dead code.

Thanks for the PR.

My pleasure :-)


python311Packages.llm-claude-3: init at v0.4

Description of changes
add llm-claude-3, a plugin for llm that adds support for Anthropic's Claude 3 model backend.
this is related to https://github.com/NixOS/nixpkgs/issues/255320 & https://github.com/NixOS/nixpkgs/pull/268955.
cc @aldoborrero as the maintainer for llm itself.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.11 Release Notes (or backporting 23.11 and 24.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.

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

hmm... i added myself as a maintainer but i'm actually kind of iffy on that. i don't know if i'll use this, i just figured if i was going to go through the trouble of putting together a package i might as well PR it upstream.

neat, TIL stuff has changed with how Nix packages Python applications. nice to see the improvements :)

Hey y'all - looks like this package has stalled. Is there anything I can do to move it forward? I've been using a copy of this PR in my config and it works. Lemme know if I can help in anyway

Worth noting that this package is at version 0.8 now upstream, but I'd also be happy to have this merged.

For what it's worth, after updating anthropic to 0.39.0 I built llm-claude-3 v0.8 using this PR and it works as expected. I'm happy to help maintaining this package if needed.


upgrade vineyard version to v0.11.4

Codecov Report

Merging #2375 (152fec9) into main (14f3f5d) will increase coverage by 26.71%.
The diff coverage is 100.00%.

Additional details and impacted files

@@             Coverage Diff             @@
##             main    #2375       +/-   ##
===========================================
+ Coverage   40.00%   66.71%   +26.71%
===========================================
  Files          88       88
  Lines        9711     9711
===========================================
+ Hits         3885     6479     +2594
+ Misses       5826     3232     -2594

Impacted Files
Coverage Δ

python/graphscope/config.py
100.00% <100.00%> (ø)

...on/graphscope/tests/kubernetes/test_demo_script.py
0.00% <0.00%> (-81.16%)
:arrow_down:

python/graphscope/deploy/kubernetes/cluster.py
23.41% <0.00%> (-52.78%)
:arrow_down:

python/graphscope/deploy/kubernetes/utils.py
12.31% <0.00%> (-52.22%)
:arrow_down:

...n/graphscope/deploy/kubernetes/resource_builder.py
25.61% <0.00%> (-45.87%)
:arrow_down:

...thon/graphscope/tests/kubernetes/test_with_mars.py
0.00% <0.00%> (-43.75%)
:arrow_down:

python/graphscope/interactive/query.py
69.51% <0.00%> (-14.64%)
:arrow_down:

python/graphscope/deploy/launcher.py
75.00% <0.00%> (-4.17%)
:arrow_down:

python/graphscope/client/rpc.py
72.38% <0.00%> (-1.50%)
:arrow_down:

python/graphscope/client/utils.py
84.84% <0.00%> (+1.81%)
:arrow_up:

... and 44 more

Continue to review full report at Codecov.

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


[ADD] Allow HTML img tag resizing

By default, it is possible to add some HTML tag. However, width, height and style attribute are not allowed.
This commits add possibility to add these attributes. Style can only be used in addition with background-color tag (in case of white PNG).

Hi @X0x1RG9f, please post a snippet how to use the tags, to make it easier for me to test it.

Hi @StefanFl,
Code can be used as follow in the descriptions (Product Types, Products, Findings, etc.):


Added animated prop to decide whether the ScrollView will be Animated…

Added animated prop to decide whether the ScrollView will be Animated or not
Is it a bugfix ?
No
Is it a new feature ?
Yes
Describe what you've done:
I've added a prop named animated to decide whether the ScrollView which used in react-native-swiper will be animated component or not.
How to test it ?
You can test with adding 'animated=true' to Swiper props and use the onScroll prop with Animated.Event.

Yeah, I need this !


Laravel 11.x Compatibility

This is an automated pull request from Shift to update your package code and dependencies to be compatible with Laravel 11.x.
Before merging, you need to:

Checkout the l11-compatibility branch
Review all comments for additional changes
Thoroughly test your package

If you do find an issue, please report it by commenting on this PR to help improve future automation.

:warning: The latest version of Laravel has a dependency for phpunit/phpunit of ^10.5. If you would like to also upgrade your tests, you may run the PHPUnit 10 Shift for free.

:information_source: Shift detected you do not have a CI workflow using GitHub Actions. If you would like, Shift can help you get started with the CI Generator. Although the Shift is paid, GitHub Actions is free and having a CI workflow will improve the stability and review process for your package.

:alembic: Using this package? If you would like to help test these changes or believe them to be compatible, you may update your project to reference this branch.
To do so, temporarily add Shift's fork to the repositories property of your composer.json:
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/laravel-shift/livewire-select.git"
        }
    ]
}

Then update your dependency constraint to reference this branch:
{
    "require": {
        "asantibanez/livewire-select": "dev-l11-compatibility",
    }
}

Finally, run: composer update


temporary leaf evaporative pool

First pass at calculation of a temporary leaf evaporative pool from which instantaneous evaporation can occur.
Addressing this issue.

@mdietze I think this is ready to be merged? That way I can test out the LE fix


Decouple list and filter functionality

Decouple list and filter functionality

Coverage remained the same at 95.21% when pulling 5c36ad763c9b20a3d333b7b21b09affefd944118 on petko5kov:master into ab8b371df1e06a5730c1fd0576e3b4cc6a93240d on Infragistics:master.


Accordion in dialog starts open and jerks closed

Bug, feature request, or proposal:
When an accordion is placed in a dialog, the accordion starts in the open position and then jerks closed.  The jerking appears to happen at the end of the dialog open animation.
What is the expected behavior?
An accordion in a dialog should be in its closed position during the dialog animation.
What is the current behavior?
The accordion is open during the dialog animation and jerks closed afterwards.
What are the steps to reproduce?

Create a dialog that contains an accordion
Open the dialog

StackBlitz: https://angular-material2-issue-vo7but.stackblitz.io
What is the use-case or motivation for changing an existing behavior?
I have a dialog that has a long-ish selection list, broken up into sections with accordions.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
"@angular/core": "^7.0.2",
"@angular/material": "^7.0.2",
"typescript": "3.1.6",

Chrome 70.0.3538.77
macOS 10.14.1

A fix for this was merged in yesterday. See https://github.com/angular/material2/pull/13888.


jotai + vite + react: Unable to Use jotai-devtools

Reproduction Steps:

Create a project with vite:

   npm create vite@latest client
   ✔ Select a framework: › React
   ✔ Select a variant: › TypeScript

Install the necessary libraries:

   npm i jotai jotai-devtools @emotion/react

Add <Devtools /> and start the app.

Nothing is displayed in the browser; the following error appears in Chrome Developer Tools console:

   Uncaught ReferenceError: process is not defined
      at node_modules/chalk/index.js (index.js:8:29)
      at __require (chunk-7HP44VBA.js?v=a2bfacf5:8:50)
      at chunk-G6BETQYW.esm.mjs:6935:26

Expected Behavior:
I want to use jotai-devtools.
Environment:

OS: macOS Ventura 13.4
Node: 18.17.1
Npm: 9.6.7
Google Chrome: 115.0.5790.170

Other Information:
package.json:
{
  "name": "client",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "tsc && vite build",
    "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
    "preview": "vite preview"
  },
  "dependencies": {
    "@emotion/react": "^11.11.1",
    "jotai": "^2.3.1",
    "jotai-devtools": "^0.6.1",
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "@types/react": "^18.2.15",
    "@types/react-dom": "^18.2.7",
    "@typescript-eslint/eslint-plugin": "^6.0.0",
    "@typescript-eslint/parser": "^6.0.0",
    "@vitejs/plugin-react": "^4.0.3",
    "eslint": "^8.45.0",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-refresh": "^0.4.3",
    "typescript": "^5.0.2",
    "vite": "^4.4.5"
  }
}

vite.config.ts:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import jotaiDebugLabel from 'jotai/babel/plugin-debug-label'
import jotaiReactRefresh from 'jotai/babel/plugin-react-refresh'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    react({ babel: { plugins: [jotaiDebugLabel, jotaiReactRefresh] } }),
  ],
})

App.tsx:
import './App.css'
import { DevTools } from 'jotai-devtools';

function App() {
  return (
    <>
      <DevTools />

Hello jotai Dev tool

    </>
  )
}

export default App

I realize now that there is a similar topic already discussed in a separate issue.  #82
I apologize for not taking the time to thoroughly read through the existing issues before creating a new one.
I will make sure to be more careful in the future and contribute to existing discussions whenever possible.


New statepath since docker-ce 17.11

Per https://github.com/docker/docker-ce/releases/tag/v17.11.0-ce-rc1

LGTM


Add loading bar widget

Added package; https://pub.dev/packages/flutter_easyloading
For loading bar when uploading a product, downloading pdf and login.
Changed product image to use a loadingbuilder to show loading progress of images


Filter out annotations from versioned type printing

If annotations to versioned types change, the stability lint checking in CI shows an error.
We already filter derivers other than bin_io, we should filter out annotations to prevent spurious lint errors.

Closed by #6816.


Update cats-effect, cats-effect-std to 3.3.2

Updates

org.typelevel:cats-effect
org.typelevel:cats-effect-std

from 3.2.9 to 3.3.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Applied Scalafix Migrations

org.typelevel:{cats-effect,cats-effect-laws}:3.3.0 (created no change)

github:typelevel/cats-effect/v3_3_0?sha=series/3.x

Files still referring to the old version number
The following files still refer to the old version number (3.2.9).
You might want to review and update them manually.
build.sbt

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel" } ]

labels: library-update, early-semver-minor, semver-spec-minor, scalafix-migrations, old-version-remains, commit-count:1

Superseded by #403.

Superseded by #403.


Make IntelliJ inspection "Use of Properties object as a Hashtable" a error

90+ violations in Druid code.

Hi, @leventov . Don't know if there is a way to add the Inspection check to the Maven build process? Similar to the forbidden plugin, if the code does not conform to the rules, the compilation process will fail directly.

I don't know if there is such a way. But making inspection a error makes TeamCity build to fail if there are violations, so the rule is statically enforced in the codebase.

@leventov OK, I got. It seems that it can only be checked statically by TeamCity :smile:

It would be awesome if we could figure out a way to run the inspections through Maven. That way anyone building a patch can get a preview of what CI will say without needing to use IDEA. I did a brief internet search and didn't find anything that looked useful, but it might be there with some more looking (or maybe we can use the maven exec plugin + a CLI inspection tool if it exists).

@gianm Thank you for your help in finding out if there is a workable solution. I just found a Cli tool on the official website of jetbrains. We can parse the inspection rules with the sh /Applications/IntelliJ\ IDEA.app/Contents/bin/inspect.sh /code/druid /code/druid/.idea/inspectionProfiles/Druid.xml /code/druid/inspection-results-dir -v2 -d /code/druid/core command. Finally, generate a validation report in xml format under the specified directory. So, can we use it with the exec-maven-plugin?

There is a Gradle plugin for that: https://github.com/JetBrains/inspection-plugin
Lately, I frequently have a thought that it would be nice to move the project to Gradle because Maven builds take too long. Gradle's incremental builds are much more powerful.

@gianm Thank you for your help in finding out if there is a workable solution. I just found a Cli tool on the official website of jetbrains. We can parse the inspection rules with the sh /Applications/IntelliJ\ IDEA.app/Contents/bin/inspect.sh /code/druid /code/druid/.idea/inspectionProfiles/Druid.xml /code/druid/inspection-results-dir -v2 -d /code/druid/core command. Finally, generate a validation report in xml format under the specified directory. So, can we use it with the exec-maven-plugin?

The downside is you still need to have Intellij installed and it can't be running when you run the inspection (according to their docs).


Country should be also available in a job list

In a admin section please also display country for each job because otherwise I only see a lot of Digiwhists but don't know which dataset exactly
The collection here can be the same as on a frontend country + title

new table column country added


Test multi extension debugging

Test for #71081:

[ ] anyOS: @roblourens
[x] Windows: @alexr00

Complexity: 3
In this milestone we've added support for debugging more than one extension at a time.
This feature is currently surfaced only in the command line interface of VS Code: the argument --extensionDevelopmentPath can now be specified more than once.
For the time being we recommend the following project setup for debugging two or more extensions:
Prereqs:

use yeoman to create two extensions "hello1" and "hello2"
make sure that the contributed commands have different names and command ids so that they can run side by side
make sure that both extensions are properly compiled and run already standalone.

Alternatively you can use any set of existing extensions for the following test:
Setup:

open the first extension ("hello1") in VS Code,
add the second extension ("hello2") via the "Add Folder to Workspace" action
open the debug viewlet
from the launch config dropdown select "Add Config (workspace)"
add the following launch config below the "settings" section (on the same level): "launch": {
 	"configurations": [
 		{
 			"type": "extensionHost",
 			"request": "launch",
 			"name": "Launch 2 Extensions",
 			"args": [
 				"--extensionDevelopmentPath=${workspaceFolder:hello1}",
 				"--extensionDevelopmentPath=${workspaceFolder:hello2}"
 			],
 			"outFiles": [
 				"${workspaceFolder:hello1}/out/**/*.js",
 				"${workspaceFolder:hello2}/out/**/*.js"
 			],
                              //"preLaunchTask": "npm"
 		}
 	]
 }

select the "Launch 2 Extensions" configuration and press F5

Verify

that extension debugging works for both (all) extensions

Be creative:

do you have a better idea for how to  setup multi-extension debugging?
currently tasks do not seem to support running individual watcher tasks from the workspace level launch config, @alexr00 correct? Or do you know an easy way to achieve this?

There is not a way to run tasks from the workspace level level launch config right now. Once we have this https://github.com/microsoft/vscode/issues/36966 we will have that ability.


macOS builds should be published with 'mac' prefix

Nexe seems to always strip macos to mac for asset names and thus our builds need to produce this instead of macos in file names.

Fixed with commit https://github.com/urbdyn/nexe_builds/commit/e0ac6df3f0a5aec027731610864521c8c7e9cf52.


Sync new Zyte API features

New attribute to take into account: https://github.com/scrapy-plugins/scrapy-zyte-api/pull/222

We also need to make sure it is possible to disable networkCapture from the automap setting by setting it to False on the request metadata key.


Update string-theory to 1.7

... which also fixes the tests on VC 2017

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: zrax sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks!


Testing of import with combined keys

The testing of imports for resources with combined keys is currently not implemented. The intention of this task is to evaluate how we can configure this testing in a consistent way for our resources that need this combined key setup.
There are several options to define the ID (like ImportStateIdFunc) but currently the tests fail due to a missing ID field

Solved; test for imports are implemented


Add plugin option for prismic.io address

When standing up automated testing for my Gatsby project, I need to mock a Prismic instance using mockserver (for example). In order to do this, I need a plugin option which allows the full path of the Prismic repository to be configured. This could be done via an additional plugin option. This option could be used instead of repositoryName and would control the full path (instead of hardcoding https://${repositoryName}.prismic.io). This would enable a mock Prismic service to be stood up at a local address and tested against.

@dturkington49 I could see this being useful for your use-case as well as those implementing a proxy server that relays API requests (such as to hide their access token).
Until something like this is implemented, are you able to mock your tests against the real Prismic API URLs? I.e. intercept network requests to https://${repositoryName}.prismic.io and route to your mock server.


Is there a plan to support COW?

I have an all in one k8s cluster. I will first upload the data to LV_A, and then create another LV_B based on this LV_A. After that, I can create a workload through LV_B. However, at present, the process of creating LV_B by LV_A essentially involves dd to copy data. If the LV_A is large, the dd time will be very long, resulting in a long workload creation time.
Therefore, I'm considering the feasibility of implementing COW with hwameister, so that LV_A can create LV_B much faster

I learned about LVM's support for COW a while ago, and now I understand that it is possible to create a read-write snapshot through LV_A, and then read or write to this snapshot normally. According to some tests, snapshot reads or writes will not affect the source LV data.


Using state data to make totals

Addresses #164

Need to round...thinking about the best place for that

OH! and the bar colors aren't changing correctly...Totals (blue), PS (red), and Irr (green) work, but industrial and thermo don't.

round right before it is written to json?

Just making sure there aren't other calculations being done after...I think you are right.

@ldecicco-USGS the colors won't change if the function doesn't find the field in the json, so maybe those categories are missing? It writes to cache/{filename}.json if you want to take a look


WIP - Implement strings basic

@exercism/dart
We haven't really created any concept exercises. I don't like making the concept exercises too much like the practice exercises where they are focused on solving a given problem. I think the concept exercises should be more straightforward and allow users to understand what's possible given a concept.
A separate issue is updating our exercise_test.dart to incorporate concept exercises. I figured I would leave that for a separate ticket so we can focus on what this concept exercise should be.
I've been working on this off/on and could really use some other opinions. So let me know what you think.

@angelikatyborska @ErikSchierboom
Since I am no longer working on the v3 migration. I am closing this ticket. I'll continue to maintain this track and support anyone that develops for v3 compatibility.


disconnected with "%s" when cheating in oversized nbt items on (vanilla) servers

reproduction

start a vanilla 1.20.1 server
in singleplayer, use a command block to give an item, where the nbt is > 256 character long (longer than you can paste in chat)
bookmark the item
join the server, op yourself (i think?)
try to spawn the item with ctrl + left click. ctrl middleclick seems to work as normal, except if in certain guis (crafting table)
observe that you disconnect from the server

error
in client console
https://paste.ee/p/2XkFT
on disconnect screen

version
quilt 7.0.3+0.83.1-1.20.1
minecraft 1.20.1
emi 1.0.4+1.20.1

This has been resolved in dev. It will be released along with the 1.20.2 port in the coming days.


fix: Update GitOps operator to latest

Signed-off-by: Denilson Nastacio<EMAIL_ADDRESS>closes: #311
Description of changes:

Uses latest release of GitOps instead of a fixed release.

Output of argocd app list command or screenshot of the Argo CD Application synchronization window showing successful application of changes in this branch.

:tada: This PR is included in version 0.37.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Website frontpage

Design and implement a website frontpage
Should look cool and introduce visitors to what ACM Hack is and things they should get started with looking at
List upcoming hack events using portal API?

A design has already been created:
https://www.figma.com/file/I3BAtxQgaPwHCylOqaT29e/Community-Site-Templates?type=design&node-id=1%3A128&mode=design&t=7u01OqCEvEwxoagA-1

Re-organized this issue already


Make test command output consistent across different OS

Purpose

This PR will make test command output consistent across different OS
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/9554

The same PR was sent to the next-release, hence closing this in favor of https://github.com/ballerina-platform/ballerina-lang/pull/9564


Your instructions don't work

Getting Started with Blazor TextBox Component[Enter feedback here] doesn't work.  I realize that teaching by the "Monkey See-Monkey Do" philosophy eases the burden on your tech writers, but it certainly leaves a bad taste in one's mouth concerning everything associated with Blazor and Syncfusion.
 Your instructions are written by and for someone who already has experience with your product.  Imagine buying a TV set that has no controls on the set itself.  Instead, what you get is a remote control unit with 15 buttons, and none of the buttons are labeled or marked.  You might sell, perhaps, a dozen units before the word gets out that the TV set is not worth the money or time, and that all you will end up with is total frustration in that you will spend most of your effort fighting the remote control rather than watching TV programs.  Watching TV programs presumably being the reason you got the TV set to begin with.
Fire your  tech writing staff, immediately.  They are not doing their job.

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

ID: 0dd2991d-c22d-ad0f-80b6-bd1b503db8f3
Version Independent ID: 5e3fbe1d-c97f-9940-4f0c-067d4b2112b1
Content: Get started with ASP.NET Core SignalR
Content Source: aspnetcore/tutorials/signalr.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @bradygaster
Microsoft Alias: wpickett

Hi @Roscoe-Sandstone, sorry to hear about the bad experience.   Did you mean to associate this issue with one of the Blazor SignalR topics?
I understand what you are referring to that merely walking through procedures are not as helpful.

@Roscoe-Sandstone ...

Blazor TextBox Component

Can you confirm that you're looking at the correct article? It looks like you opened this from the wrong topic.
Also, there's no such component in Blazor named a "TextBox component." There's an InputText component ... as described in the Blazor Forms and input components article.

Sorry Wade ... we must have hit "Comment" within seconds of each other.

No worries.  It does look like this was intended for one of the Blazor topics, feel free to assigning it to yourself.

I'll update the metadata after we know which article applies.

@Rick-Anderson ... You were right to close this. I think @Roscoe-Sandstone is referring to an external (non-MS) topic at ...
https://blazor.syncfusion.com/documentation/textbox/getting-started
@Roscoe-Sandstone ... We have no direct relationship or control over what they published. Contact Syncfusion support for your request.


Development: Modernize appearance of exam statistics and exercise detail charts

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[ ] I chose a title conforming to the naming conventions for pull requests.

Client

[x] I followed the coding and design guidelines.
[ ] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

This PR changes the implementations of the charts on the exam scores page and the doughnut charts on every exercise detail page from ng2-charts to ngx-charts.
Description

Ngx-charts implementations now replace the ng2-charts implementations in the html templates. Furthermore, the underlying logic has been refactored in order to fit the new frameworks needs.
Steps for Testing

Prerequisites:

1 Instructor
1 Exam in which students participated and that is already graded
1 arbitrary exercise with release date in the past

Important: Before deploying this PR, take a look at the old implementation on the test server. Make yourself familiar with the scores page. Taking screenshots might be helpful in order to compare the two implementations.

Log in to Artemis
Navigate to Course Administration
Navigate to the exams overview of the corresponding course
For the exam, click on the scores button
Inspect the page, make sure that the information displayed by the charts has not changed. Also check the tooltips
Make sure that by clicking on horizontal bar of a specific exercise, you are forwarded to the scores page of the exercise like it was the case in the old implementation
Add/Modify the grading key and make sure that the changes are reflected by the vertical bar chart on the exam scores page
Go back to Course administration and enter the exercises page of the course
Choose an exercise with release date in the past and enter its detail page (by clicking on the name)
Inspect the three doughnut charts. Make sure that by clicking on the titles and parts of the charts the routing still works as with the old implementation.

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

exam-scores-average-scores-graph.component.ts: 62.16% | 82.6%
exam-scores.component.ts: 76.57% | 94.78%
doughnut-chart.component.ts: 70% | 89.18%

Screenshots

Old implementation of vertical bar chart:

Old implementation of horizontal bar charts:

Old implementation of doughnut charts on exercise detail page:

New implementation of vertical bar chart:

New implementation of horizontal bar charts:

New implementation of doughnut charts on exercise detail page:

Tested on ts1 and everything works as expected.  Information displayed by the charts are consistent with the student results, horizontal bars forward to the right page and when grading key is added/modified, the charts are also adjusted to new grading key

I have not tested it in detail, yet. The comment is mostly based on the screenshots you posted.
Horizontal Bar Charts
By looking at the screenshots it looks like for the old charts the 0%-mark was aligned for all five charts. The new ones slant to the left. Is it possible to align them again?
Doughnut Charts
Probably more a critique of the existing implementation, but one that could be easily improved upon when modernising the charts now:
I think their colours are very harsh/bright and do not really fit in with the colour-scheme of the rest of the website.
I did a quick experiment to check how different colours would look like. I took the red/green of the buttons as base (#28a745, https://colorate.azurewebsites.net/Color/28A745; #dc3545 https://colorate.azurewebsites.net/Color/dc3545) and increased the saturation by two steps each.
now (green: #32cd32, red: #ff0000):

experiment (green: #0da730, red: #dc1125):

I think it looks a lot better that way. Those specific colours are of course chosen fairly arbitrarily and different ones might look great as well. I just chose those for a quick example to give a direct comparison.

I have not tested it in detail, yet. The comment is mostly based on the screenshots you posted.
Horizontal Bar Charts
By looking at the screenshots it looks like for the old charts the 0%-mark was aligned for all five charts. The new ones slant to the left. Is it possible to align them again?
Doughnut Charts
Probably more a critique of the existing implementation, but one that could be easily improved upon when modernising the charts now (therefore also applicable to #4321): I think their colours are very harsh/bright and do not really fit in with the colour-scheme of the rest of the website. I did a quick experiment to check how different colours would look like. I took the red/green of the buttons as base (#28a745, https://colorate.azurewebsites.net/Color/28A745; #dc3545 https://colorate.azurewebsites.net/Color/dc3545) and increased the saturation by two steps each.
now (green: #32cd32, red: #ff0000):
experiment (green: #0da730, red: #dc1125):
I think it looks a lot better that way. Those specific colours are of course chosen semi-arbitrarily and different ones might look great as well. I just chose those for a quick example to give a direct comparison.
(Maybe the colours could then be defined in a central location and be reused consistently in all charts that signify good/bad.)

Horizontal bar charts:
You are right, the 0%-marks do not necessarily align. As far as I can tell, the position of this mark (the y axis) depends on the length of the longest y axis tick, so the length of the exercise group name or an exercise name. The framework itself does apply some trimming if a tick is too long. Then, the tick label is cut and the remaining characters are replaced with "...". Per default, this threshold is set to 16 characters. I could reduce this threshold so that it is more probable that the different ticks get a unified length, but this would not fix every edge case. And furthermore, it would have the disadvantage that the majority of exercise group names and exercise names are not fully visible. Besides that, I do not see a possibility to achieve this alignment. But if you have any idea, let me know and I can try to make it happen. 😀
Doughnut Charts
As you already said, I only reused the colors that are already implemented, but I do not insist on them. Therefore, I implement these charts with any color you would like to have (as long as it is expressible with a hex or rgba code). However, I do not know how such design decisions are handled in this team. Maybe discuss this with @krusche first.


Put CSS through an optimizer. After linting, saved 9 lines

Not sure how much of a difference this makes. Will test

This doesn't cause any discernible improvement in IE11.


Cannot use same group in different Intent types when creating AppAssignment

If you want to add the same Group to different intents for an application you receive a warning that a win32 app assignment exists.  Looking at the code the intent isn't taken into account when testing the group.
Add-IntuneWin32AppAssignmentGroup -ID $Win32App -Include -GroupID $GroupID -Intent required -Verbose -Notification showReboot Add-IntuneWin32AppAssignmentAllUsers -ID $WIn32App -Intent uninstall -Notification showReboot -Verbose Add-IntuneWin32AppAssignmentGroup -ID $Win32App -Exclude -GroupID $GroupID -Intent uninstall -Verbose

Forgive me if I don't recall the specific resulting scenario here, but setting the same group as required and available, I think that's essentially just evaluated as required by Intune. It's been some time since I tested that, so my memory may betray me here.


BinaryNet setting in section 5.2

Hi Koen,
Thanks for the great work!
I noticed to reproduce BinaryNet on CIFAR-10 experiment of section 5.2, you use the setting as followed:
class bop_sec52(default):
   epochs = 500
   batch_size = 50
    kernel_quantizer = None
    kernel_constraint = None
    threshold = 1e-8
    gamma = 1e-4
    gamma_decay = 0.1
    decay_step = int((50000 / 50) * 100)
where kernel_quantizer and kernel_constraint is set to None, so only the input is binarized while the weight is real-valued, is that expected?
I thought BinaryNet should also have binarized weight?
Best,
Junru

Hi Junru, thanks for your interest! When Bop is used as an optimizer, there is no need to set a kernel_quantizer, as Bop sets the underlying 'latent' weights to -1 or 1. You can check this by inspecting the weights after optimization (via tensorboard histograms, weight.numpy() or otherwise).


Add an IMPORTANT into this article

Updated this article according to the feedback from Dana Martens<EMAIL_ADDRESS>in CI164044.

@lucciz01 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Update docker-in-debian.sh for Docker compose v2

Starting with Docker Compose v2, x86_64 suffixed builds have been replaced with AMD64.  Updating the logic to find the right package.

@bigtallcampbell This doesn't work. Docker Compose v2 is fundamentally different in the way it is installed.  It actually is installed via the moby-compose package (so docker compose is v2). We are pinning docker-compose to v1 currently.
See https://github.com/microsoft/vscode-dev-containers/issues/1075


Fix stack corruption and crash on 32 bit windows

khronos-egl incorrectly specifies extern "C" for its function pointers, when they should be stdcall for windows, see the definition of KHRONOS_APIENTRY.
Using extern "system" will correctly use stdcall on 32 bit windows, but "C" (aka cdecl) on all other platforms, including 64 bit windows and linux.
I encountered this building a 32-bit version of the Bevy breakout example and using the ANGLE translation layer.

Excellent, thanks for the PR.


Use ConfigMap or CustomResourceDefinition instead of Secret for config

Would it be possible now to use a ConfigMap or CustomResourceDefinition instead of a Secret for Brigade proejct config?
Quoted from design.md:

At various points, we explored using TPRs and later CRDs. But the feature sets and stability of these two facilities never reached a satisfactorily stable point. So we use secrets for configuration data. Secrets have the following benefits:
(1) They are mountable via the volume system, a feature we use frequently
(2) They can be injected as environment variables
(3) They benefit from Kubernetes improvements to secret storage

(1) and (2) are true for ConfigMaps as well.
Could you elaborate on (3)? What improvements to secret storage?
Besides the reasons above, why would ConfigMaps and CRDs not be ideal? What would we have to do to convert?
The reason I'd like to use ConfigMaps is to be able to save my Brigade project config in source. Right now, this is possible only if I define my Brigade project as a Helm chart because the b64enc is used. I'm not using Helm, so storing a base64 encoded Secret in VCS is not ideal and hard to change.
I'd be happier if, as a Brigade user, I could configure most of my project in a ConfigMap and some sensitive data in a Secret.

The reason we store project config in secrets is that the information in a project configuration is considered secret. It may contain, for example, tokens, pass phrases, and other such information. Supposedly at some point in the nearish future, base64 will be augmented with true encryption. So there will eventually be a real reason to use Kubernetes secrets.
There are a few tricks in the Kubernetes docs for generating Kubernetes secrets from plaintext flat files: https://kubernetes.io/docs/concepts/configuration/secret/ That might help your use case.
If someone feels up to doing the work necessary to support ConfigMaps as an alternative for storing project configuration, we'd consider the patch as long as secrets remained the default option.

Gotcha. Sounds like ideally we could have most config in a ConfigMap and then any secret config in a Secret. Would a patch like that be considered?

Hey! I'm not quite sure I understand the use case for this particular feature request. Can you elaborate a bit more on what you're attempting to solve by allowing project configuration to be stored in a configmap/CRD?
With our current understanding we probably wouldn't accept a patch to split project configuration into two separate kubernetes resources so I'd hold off on a PR until we gain a better understanding of the problem first. :)

Sure thing!
As a Brigade user, when I create a new Brigade project config, I want to do so without Helm. To do this, my ideal workflow is I'd define my ConfigMap and commit it to source control, and kubectl create secret generic ... the rest of the sensitive config e.g. ssh keys. This way, it's easy for me to view and maintain my Brigade project config in source, similar to if I used a Helm chart, but now I'm not committing any sensitive Secrets to my source control in plain text or base64 encoded.

So I've changed my mind since yesterday. I did some reviewing of the code base, and I'm leaning against making any changes to the project storage at this point.
What I discovered was that we'd be introducing a fairly major breaking change that would impact a variety of third-party tools. Loading and processing a project goes from a trivial exercise to a comparatively complex one -- and it's something that's done in gateways and sidecar as well as in the core. While it seems like a simple toggle switch at first, in reality it means that there are a lot of higher-level decisions that result in processing complexity for gateway implementors.
I don't think the complexity trade-off is worth it. This is one part of the system where simplicity is better.
I would suggest redirecting focus back to generating the project secret. Perhaps you will find a good non-Helm pattern that other people can use.

Ah yes this completely makes sense, thanks for the consideration! I'll look into what my options are.

For reference, I found that Secret .stringData works (maybe we can use .stringData as a hint for users in the Helm Chart instead of base64ing), but I'm not sure how I feel about commiting an ssh key as well in my Secret... I'll think about this.
One follow up question -- why must the name of my project in the Secret by sha256summed? This is slightly tricky for usability / UX if a user is not Helm.

Oh, that's a good idea.
We decided to hash the project name so that external webhooks (and such) can reference the project by name without leaking information. As a secondary design goal, we wanted to allow people to use ad hoc strings for names (like ORG/PROJECT or My Project) instead of forcing people to use DNS names. (Earlier, there were some similar multi-tenant considerations to prevent in-cluster leakage, but we've since decided to simply not support multi-tenant Brigade).
To manually generate the names on Mac and Linux, we just use commands like shasum and openssl.


Fix sphinx-based search

This theme currently breaks the built-in Sphinx search.
The built-in Sphinx search requires the document to have a role="main" attribute (also a good practice for screen readers, etc.) in order to know what content should be searched.
See: https://www.sphinx-doc.org/en/master/templating.html?highlight=role%3D"main"#blocks

Hmm... I believe the <main> element carries an implied role="main". Shame that Sphinx requires it. We should make sure that it doesn't create an accessibility issue to have both <main> and a descendant with role="main".

<article> does permit use of the ARIA role=main (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/article)
But yea, it seems a bit counter intuitive. I would be inclined to replace the <article> element with <main>, since that is actually the real content. The current <main> element has other cruft such as breadcrumbs, edit on github buttons, etc. which are not part of the actual content. The current <main> element could probably be replaced with a general purpose <div>.
There doesn't seem to be any useful guidance on <main> vs <article> 😕

@Scotchester at the risk of bike-shedding, I made an alternate layout here... do you think that looks better?
#117


Google Chat counter issue [Mac OSX]

[ x] I looked at nativefier --help and https://github.com/nativefier/nativefier/blob/master/docs/api.md
[x ] I searched existing issues, open & closed. Yes, my bug is new.
[x ] I'm using the latest version available at https://github.com/nativefier/nativefier/releases

Bug description
When creating google chat app in Mac OS, notification counter in dock won't work properly. Counter displays the " 1 "  and soon disappears after the second message.
Steps to reproduce
nativefier --title-bar-style "hiddenInset" --name "Google Chat" "https://chat.google.com"  --darwin-dark-mode-support  --single-instance   --icon "your-path" --inject "your-path" --honest --widevine --browserwindow-options '{ "fullscreenable": "true", "simpleFullscreen": "false" }' --disable-dev-tools --tray start-in-tray --icon "your path"  --internal-urls "chat.google.com" --single-instance --file-download-options '{"showBadge": true}' --counter --verbose
LOG:
Running in verbose mode! This will produce a mountain of logs and is recommended only for troubleshooting or if you like Shakespeare.
ATTENTION: Using the unofficial Electron from castLabs
It implements Google's Widevine Content Decryption Module (CDM) for DRM-enabled playback.
Simply abort & re-run without passing the widevine flag to default to 12.0.4
Performing async options post-processing.
Inferring user agent for electron 12.0.4-wvvmp / darwin
Grabbing electron<->chrome versions file from https://atom.io/download/atom-shell/index.json
Got icon from options. Using it, no inferring needed
Got name Google Chat from options. No inferring needed
Sanitized filename for Google Chat : Google Chat
Unable to infer chrome version for user agent, using 89.0.4389.114
Given chrome 89.0.4389.114 on darwin, using user agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36
Preparing Electron app...
Copying electron app from /opt/homebrew/Cellar/nativefier/43.0.2/libexec/lib/node_modules/nativefier/app to /var/folders/tf/bqs_qxsj699bcb4k4mjvml4w0000gp/T/nativefier-21-18-8-app--22602-IGvXs7Xr02eK
Writing app config to /var/folders/tf/bqs_qxsj699bcb4k4mjvml4w0000gp/T/nativefier-21-18-8-app--22602-IGvXs7Xr02eK/nativefier.json
Copying 1 files to inject in app.
Copying injection file "/Users/jaymeeduardo/Desktop/site.css" to "/var/folders/tf/bqs_qxsj699bcb4k4mjvml4w0000gp/T/nativefier-21-18-8-app--22602-IGvXs7Xr02eK/inject/inject.css"
Updating /var/folders/tf/bqs_qxsj699bcb4k4mjvml4w0000gp/T/nativefier-21-18-8-app--22602-IGvXs7Xr02eK/package.json 'name' field to google-chat-nativefier-c31d42
Converting icons...
Building for macOS and icon is already a .icns, no conversion needed
Copying icons if necessary
No copying necessary on macOS; aborting
Packaging... This will take a few seconds, maybe minutes if the requested Electron isn't cached yet...
electron-packager Electron Packager 15.2.0
electron-packager Node v16.0.0
electron-packager Host Operating system: darwin 20.4.0 (arm64) +0ms
electron-packager Packager Options: {"arch":"arm64","asar":false,"darwinDarkModeSupport":true,"dir":"/var/folders/tf/bqs_qxsj699bcb4k4mjvml4w0000gp/T/nativefier-21-18-8-app--22602-IGvXs7Xr02eK","electronVersion":"12.0.4-wvvmp","icon":"/Users/jaymeeduardo/electron.icns","name":"Google Chat","out":"/Users/jaymeeduardo","overwrite":true,"platform":"darwin","targetUrl":"https://chat.google.com/","tmpdir":false,"win32metadata":{"ProductName":"Google Chat","InternalName":"Google Chat","FileDescription":"Google Chat"}} +0ms
electron-packager Target Platforms: darwin +0ms
electron-packager Target Architectures: arm64 +0ms
electron-packager Inferring appVersion from version in /var/folders/tf/bqs_qxsj699bcb4k4mjvml4w0000gp/T/nativefier-21-18-8-app--22602-IGvXs7Xr02eK/package.json +0ms
electron-packager Application name: Google Chat +4ms
electron-packager Target Electron version: 12.0.4-wvvmp +0ms
electron-packager Ignored path regular expressions: [
'/package-lock\.json$',
'/yarn\.lock$',
'/\.git($|/)',
'/node_modules/\.bin($|/)',
'\.o(bj)?$'
] +0ms
electron-packager Downloading Electron with options {"platform":"darwin","arch":"arm64","version":"12.0.4-wvvmp","artifactName":"electron"} +0ms
Packaging app for platform darwin arm64 using electron v12.0.4-wvvmp
electron-packager Creating /Users/jaymeeduardo/darwin-arm64-template +4ms
electron-packager Extracting /Users/jaymeeduardo/Library/Caches/electron/44b8c05f55aec6e3ab20af3a24f6e5dd5b4c13a70158a0616f724670dc740cd0/electron-v12.0.4-wvvmp-darwin-arm64.zip to /Users/jaymeeduardo/darwin-arm64-template +1ms
electron-packager Initializing app in /Users/jaymeeduardo/Google Chat-darwin-arm64 from /Users/jaymeeduardo/darwin-arm64-template template +0ms
electron-packager Ignored paths based on the out param: [
'/Users/jaymeeduardo/Google Chat-darwin-x64',
'/Users/jaymeeduardo/Google Chat-darwin-arm64',
'/Users/jaymeeduardo/Google Chat-linux-ia32',
'/Users/jaymeeduardo/Google Chat-linux-x64',
'/Users/jaymeeduardo/Google Chat-linux-armv7l',
'/Users/jaymeeduardo/Google Chat-linux-arm64',
'/Users/jaymeeduardo/Google Chat-linux-mips64el',
'/Users/jaymeeduardo/Google Chat-mas-x64',
'/Users/jaymeeduardo/Google Chat-mas-arm64',
'/Users/jaymeeduardo/Google Chat-win32-ia32',
'/Users/jaymeeduardo/Google Chat-win32-x64',
'/Users/jaymeeduardo/Google Chat-win32-arm64'
] +1s
electron-packager Copying icon "/Users/jaymeeduardo/electron.icns" to app's Resources as "electron.icns" +0ms
electron-packager Renaming Electron to Google Chat in /Users/jaymeeduardo/Google Chat-darwin-arm64/Electron.app/Contents/MacOS +24ms
electron-packager Renaming Electron Helper to Google Chat Helper in /Users/jaymeeduardo/Google Chat-darwin-arm64/Electron.app/Contents/Frameworks/Electron Helper.app/Contents/MacOS +1ms
electron-packager Renaming Electron Helper (Renderer) to Google Chat Helper (Renderer) in /Users/jaymeeduardo/Google Chat-darwin-arm64/Electron.app/Contents/Frameworks/Electron Helper (Renderer).app/Contents/MacOS +0ms
electron-packager Renaming Electron Helper (Plugin) to Google Chat Helper (Plugin) in /Users/jaymeeduardo/Google Chat-darwin-arm64/Electron.app/Contents/Frameworks/Electron Helper (Plugin).app/Contents/MacOS +0ms
electron-packager Renaming Electron Helper (GPU) to Google Chat Helper (GPU) in /Users/jaymeeduardo/Google Chat-darwin-arm64/Electron.app/Contents/Frameworks/Electron Helper (GPU).app/Contents/MacOS +0ms
electron-packager Renaming Electron Helper.app to Google Chat Helper.app in /Users/jaymeeduardo/Google Chat-darwin-arm64/Electron.app/Contents/Frameworks +0ms
electron-packager Renaming Electron Helper (Renderer).app to Google Chat Helper (Renderer).app in /Users/jaymeeduardo/Google Chat-darwin-arm64/Electron.app/Contents/Frameworks +0ms
electron-packager Renaming Electron Helper (Plugin).app to Google Chat Helper (Plugin).app in /Users/jaymeeduardo/Google Chat-darwin-arm64/Electron.app/Contents/Frameworks +0ms
electron-packager Renaming Electron Helper (GPU).app to Google Chat Helper (GPU).app in /Users/jaymeeduardo/Google Chat-darwin-arm64/Electron.app/Contents/Frameworks +0ms
Finalizing build...
App built to /Users/jaymeeduardo/Google Chat-darwin-arm64, move to wherever it makes sense for you and run the app bundle.
Expected behavior
Counter increasing and displaying actual messages number
Actual behavior
Counter displays "one message" and disappears
Context

Nativefier: (12.0.4)
Npm: (7.11.1)
OS: Mac OS Big Sur 11.3 Macbook M1

Here is the app compiled for Mac OS ARM. If someone could reproduce the bug.
https://drive.google.com/file/d/19K5gcJQtOVZX59yMkoVSsNU7fkV9E_-K/view?usp=sharing

I just tried this locally and here's what I encountered:
I did not get a counter on my icon as described. However it doesn't appear as if Google Chat gives up this information readily. Normally for the counter, we're relying on something that looks like a counter in the title of the page. For example in GMail, the title of the page is Inbox (1) - ... when you have 1 unread email. I do not see this happening with Chat, which is why the counter doesn't seem to work.