ovnkube: Failed to get mac address

I am trying to play with ovn/k8s but ovnkube panics as the backtrace below:
panic: Failed create management port: Failed to get mac address of k8s-zhenhua-ovs

goroutine 1 [running]:
main.runOvnKube(0xc4203971e0, 0x0, 0x0)
        /home/zhangzh/gohome/src/github.com/openvswitch/ovn-kubernetes/go-controller/_output/go/src/github.com/openvswitch/ovn-kubernetes/go-controller/cmd/ovnkube/ovnkube.go:213 +0x1625
main.main.func1(0xc4203971e0, 0xc4203971e0, 0xc4202178bf)
        /home/zhangzh/gohome/src/github.com/openvswitch/ovn-kubernetes/go-controller/_output/go/src/github.com/openvswitch/ovn-kubernetes/go-controller/cmd/ovnkube/ovnkube.go:100 +0x2b
github.com/openvswitch/ovn-kubernetes/go-controller/vendor/github.com/urfave/cli.HandleAction(0x1033480, 0x1255538, 0xc4203971e0, 0xc420087da0, 0x0)
        /home/zhangzh/gohome/src/github.com/openvswitch/ovn-kubernetes/go-controller/_output/go/src/github.com/openvswitch/ovn-kubernetes/go-controller/vendor/github.com/urfave/cli/app.go:501 +0xc8
github.com/openvswitch/ovn-kubernetes/go-controller/vendor/github.com/urfave/cli.(*App).Run(0xc42045ee00, 0xc42003a0f0, 0xf, 0xf, 0x0, 0x0)
        /home/zhangzh/gohome/src/github.com/openvswitch/ovn-kubernetes/go-controller/_output/go/src/github.com/openvswitch/ovn-kubernetes/go-controller/vendor/github.com/urfave/cli/app.go:268 +0x60c
main.main()
        /home/zhangzh/gohome/src/github.com/openvswitch/ovn-kubernetes/go-controller/_output/go/src/github.com/openvswitch/ovn-kubernetes/go-controller/cmd/ovnkube/ovnkube.go:103 +0x976

The procedure should be pretty standard for a kubeadm-built k8s cluster. After finishing kubeadm init, i started following the README in this repo. And when launching ovnkube, it panics.
From the code, I saw it tried to run a ovs-vsctl command. And here is the output in my env.
[root@zhenhua-ovs-1 ~]# ovs-vsctl show
aabc712d-b6a0-4ed1-a083-2eda28643c92
    Bridge br-int
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port "k8s-zhenhua-ovs"
            Interface "k8s-zhenhua-ovs"
                type: internal
    ovs_version: "2.10.90"
[root@zhenhua-ovs-1 ~]# ovs-vsctl --if-exists get interface k8s-zhenhua-ovs mac_in_use
[]

BTW, both current master and tag 0.3 have this issue.
Any help would be appreciated.
Thanks,
Zhenhua

What does the following say?

"ovs-vsctl list interface k8s-zhenhua-ovs"
ps -ef | grep ovs
lsmod | grep openvswitch

Thanks for your quick response!
[root@zhenhua-ovs-1 ~]# ovs-vsctl list interface k8s-zhenhua-ovs
_uuid               : 297fad84-60d1-48a4-b031-4836726879e4
admin_state         : []
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : []
error               : []
external_ids        : {iface-id="k8s-zhenhua-ovs-1.novalocal"}
ifindex             : []
ingress_policing_burst: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : []
link_speed          : []
link_state          : []
lldp                : {}
mac                 : []
mac_in_use          : []
mtu                 : []
mtu_request         : 1400
name                : "k8s-zhenhua-ovs"
ofport              : []
ofport_request      : []
options             : {}
other_config        : {}
statistics          : {}
status              : {}
type                : internal

[root@zhenhua-ovs-1 ~]# ps -ef | grep ovs
openvsw+  8445     1  0 9月07 ?       00:00:05 ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/var/run/openvswitch/db.sock --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --user openvswitch:openvswitch --no-chdir --log-file=/var/log/openvswitch/ovsdb-server.log --pidfile=/var/run/openvswitch/ovsdb-server.pid --detach
openvsw+  8504     1  0 9月07 ?       00:00:00 ovs-vswitchd unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --user openvswitch:openvswitch --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach
root     12316     1  0 9月07 ?       00:00:00 ovsdb-server: monitoring pid 12317 (healthy)
root     12317 12316  0 9月07 ?       00:00:06 ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/openvswitch/ovsdb-server-nb.log --remote=punix:/var/run/openvswitch/ovnnb_db.sock --pidfile=/var/run/openvswitch/ovnnb_db.pid --unixctl=ovnnb_db.ctl --detach --monitor --remote=db:OVN_Northbound,NB_Global,connections --private-key=db:OVN_Northbound,SSL,private_key --certificate=db:OVN_Northbound,SSL,certificate --ca-cert=db:OVN_Northbound,SSL,ca_cert --ssl-protocols=db:OVN_Northbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Northbound,SSL,ssl_ciphers /etc/openvswitch/ovnnb_db.db
root     12324     1  0 9月07 ?       00:00:00 ovsdb-server: monitoring pid 12325 (healthy)
root     12325 12324  0 9月07 ?       00:00:10 ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/openvswitch/ovsdb-server-sb.log --remote=punix:/var/run/openvswitch/ovnsb_db.sock --pidfile=/var/run/openvswitch/ovnsb_db.pid --unixctl=ovnsb_db.ctl --detach --monitor --remote=db:OVN_Southbound,SB_Global,connections --private-key=db:OVN_Southbound,SSL,private_key --certificate=db:OVN_Southbound,SSL,certificate --ca-cert=db:OVN_Southbound,SSL,ca_cert --ssl-protocols=db:OVN_Southbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Southbound,SSL,ssl_ciphers /etc/openvswitch/ovnsb_db.db
root     23240 20705  0 10:37 pts/1    00:00:00 grep --color=auto ovs

[root@zhenhua-ovs-1 ~]# lsmod | grep openvswitch
openvswitch           114842  0
nf_nat_ipv6            14131  1 openvswitch
nf_defrag_ipv6         35104  2 openvswitch,nf_conntrack_ipv6
nf_nat_ipv4            14115  2 openvswitch,iptable_nat
nf_nat                 26787  5 openvswitch,nf_nat_ipv4,nf_nat_ipv6,xt_nat,nf_nat_masquerade_ipv4
nf_conntrack          133053  9 openvswitch,nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_netlink,nf_conntrack_ipv4,nf_conntrack_ipv6
libcrc32c              12644  4 xfs,openvswitch,nf_nat,nf_conntrack

There is a error in the sense that "k8s-zhenhua-ovs" does not have a ofport value - which is odd. Likely, you don't see anything with "ifconfig k8s-zhenhua-ovs"?

Can you paste the contents of /var/log/openvswitch/ovs-vswitchd.log? There must be some errors there.

Also, the o/p of: ovs-vsctl --version.

Also, what platform is this? i.e Ubuntu? Or RHEL/Centos?

This is on centos 7.4.
[root@zhenhua-ovs-1 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@zhenhua-ovs-1 ~]# uname -a
Linux zhenhua-ovs-1.novalocal 3.10.0-862.11.6.el7.x86_64 #1 SMP Tue Aug 14 21:49:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

And actually there is no k8s-zhenhua-ovs interface.
[root@zhenhua-ovs-1 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:33:54:b8 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global noprefixroute dynamic eth0
       valid_lft 77582sec preferred_lft 77582sec
    inet6 fe80::f816:3eff:fe33:54b8/64 scope link
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:07:50:a8:a2 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/16 brd <IP_ADDRESS> scope global docker0
       valid_lft forever preferred_lft forever

ovs-vswitched.log shows
[root@zhenhua-ovs-1 ~]# tail -n 20 /var/log/openvswitch/ovs-vswitchd.log
2018-09-07T06:55:51.365Z|00026|ofproto|ERR|failed to open datapath br-int: No such file or directory
2018-09-07T06:55:51.365Z|00027|bridge|ERR|failed to create bridge br-int: No such file or directory
2018-09-07T07:20:11.624Z|00028|netlink_socket|INFO|netlink dump request error (No such file or directory)
2018-09-07T07:20:11.625Z|00029|dpif|WARN|failed to enumerate system datapaths: No such file or directory
2018-09-07T07:20:11.625Z|00030|dpif|WARN|failed to create datapath ovs-system: No such file or directory
2018-09-07T07:20:11.625Z|00031|ofproto_dpif|ERR|failed to open datapath of type system: No such file or directory
2018-09-07T07:20:11.625Z|00032|ofproto|ERR|failed to open datapath br-int: No such file or directory
2018-09-07T07:20:11.625Z|00033|bridge|ERR|failed to create bridge br-int: No such file or directory
2018-09-07T07:20:40.888Z|00034|netlink_socket|INFO|netlink dump request error (No such file or directory)
2018-09-07T07:20:40.888Z|00035|dpif|WARN|failed to enumerate system datapaths: No such file or directory
2018-09-07T07:20:40.888Z|00036|dpif|WARN|failed to create datapath ovs-system: No such file or directory
2018-09-07T07:20:40.888Z|00037|ofproto_dpif|ERR|failed to open datapath of type system: No such file or directory
2018-09-07T07:20:40.888Z|00038|ofproto|ERR|failed to open datapath br-int: No such file or directory
2018-09-07T07:20:40.888Z|00039|bridge|ERR|failed to create bridge br-int: No such file or directory
2018-09-07T07:21:16.756Z|00040|netlink_socket|INFO|netlink dump request error (No such file or directory)
2018-09-07T07:21:16.756Z|00041|dpif|WARN|failed to enumerate system datapaths: No such file or directory
2018-09-07T07:21:16.756Z|00042|dpif|WARN|failed to create datapath ovs-system: No such file or directory
2018-09-07T07:21:16.756Z|00043|ofproto_dpif|ERR|failed to open datapath of type system: No such file or directory
2018-09-07T07:21:16.756Z|00044|ofproto|ERR|failed to open datapath br-int: No such file or directory
2018-09-07T07:21:16.756Z|00045|bridge|ERR|failed to create bridge br-int: No such file or directory
[root@zhenhua-ovs-1 ~]#

ovs shows there is a br-int bridge.
[root@zhenhua-ovs-1 ~]# ovs-vsctl show
aabc712d-b6a0-4ed1-a083-2eda28643c92
    Bridge br-int
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port "k8s-zhenhua-ovs"
            Interface "k8s-zhenhua-ovs"
                type: internal
    ovs_version: "2.10.90"
[root@zhenhua-ovs-1 ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
docker0		8000.02420750a8a2	no

I am running ovs verion of 2.10.90
[root@zhenhua-ovs-1 ~]# ovs-vsctl --version
ovs-vsctl (Open vSwitch) 2.10.90
DB Schema 7.16.1

It looks like something went wrong. You are using the master branch and it is possible that there is a bug. Would you mind using the released branch 2.10 instead?
i.e
git checkout -b 2.10_local origin/branch-2.10

Thank you very much for your following up. @shettyg . Branch-2.10 works.

I started seeing this exact same issue today, but on Windows instead of Linux.
My OVS tools show version 2.9.4. The issue appeared after a reboot of the node. Before the reboot the interface k8s-*** was correctly established.
Pods were already running on the node and could ping local overlay IPs. But traffic was not being sent through the overlay network to other overlay IPs. I was trying to debug this issue and rebooted the node, then this issue appeared.
Is there any way I can debug this problem further?
I used the following installer to install the node yesterday: https://cloudbase.it/downloads/openvswitch-hyperv-installer-beta.msi

To be more precise I used the Ansible scripts of ovn-kubernetes which use the above mentioned installer.
Is there already a newer version available for Windows?

I was able to solve this, it happend because the HnsNetwork somehow got deleted. Recreating it solved the problem. It might be a good idea to have a check in ovnkube to check if the HnsNetwork exists and give a more descriptive error message.

ovs-dpctl show also please include the windows OS version.

The node is running Windows Server 2019 (desktop edition), winver shows Version 1809 (OS Build 17763.107).
ovs-dpctl show:
system@ovs-system:
    lookups: hit:7670 missed:1675 lost:0
    flows: 37
    port 1: vEthernet (Ethernet 3) (internal)
    port 2: Ethernet 3
    port 3: genev_sys_6081 (geneve: packet_type=ptap)
    port 4: k8s-edgeapplian (internal)
    port 7: br-int (internal)
    port 8: default_win-webserver-68b746fd98-ckwpg (internal)

I have put ovnkube onto a VPN tunnel and I am thinking that when the tunnel is destroyed the HNS network is deleted, that might explain why it wasn't there anymore after the reboot.

I was able to solve this, it happend because the HnsNetwork somehow got deleted. Recreating it solved the problem. It might be a good idea to have a check in ovnkube to check if the HnsNetwork exists and give a more descriptive error message.

Odd https://github.com/openvswitch/ovn-kubernetes/blob/9f4b960c43074f12806c466ce2da0c0f942babe3/go-controller/pkg/cni/helper_windows.go#L52 should have popped up.
Since you are running 1809 please make sure you have this KB applied: https://support.microsoft.com/en-us/help/4482887/windows-10-update-kb4482887 .
If you do not external HNS networks are not persistent across reboots.
I will send out a PR to document it.

After installing the updates, the version is now 17763.404. I reran the Ansible scripts and now the k8s-*** interface is in state "Media disconnected" and ovn-kubernetes-node is failing with the same error.
When I run ovs-vsctl list interface k8s-*** it lists the following error":

could not add network device k8s-*** to ofproto (Invalid argument)

I'm guessing it couldn't re-add the interface because of a dangling adapter.
Can you paste the output of: Get-NetAdapter -IncludeHidden and also ovs-dpctl show

Get-NetAdapter -IncludeHidden:
Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
Local Area Connection* 1  WAN Miniport (SSTP)                          18 Disconnected                            0 bps
Local Area Connection* 6  WAN Miniport (GRE)                           17 Disconnected                            0 bps
Local Area Connection* 7  WAN Miniport (IP)                            16 Up                                      0 bps
vSwitch (external)        Hyper-V Virtual Switch Extension Ada...      34 Up                                    10 Gbps
Local Area Connection* 8  WAN Miniport (IPv6)                          15 Up                                      0 bps
Local Area Connection* 2  WAN Miniport (IKEv2)                         14 Disconnected                            0 bps
Local Area Connection* 5  WAN Miniport (PPPOE)                         13 Disconnected                            0 bps
Local Area Connection* 3  WAN Miniport (L2TP)                          12 Disconnected                            0 bps
Teredo Tunneling Pseud...                                              11 Not Present                             0 bps
k8s-***                   Hyper-V Virtual Ethernet Adapter #2          10 Disconnected 00-15-5D-E7-B8-C7        10 Gbps
default_win-webserver-... Hyper-V Virtual Ethernet Adapter #3          42 Disabled     00-15-5D-18-3A-F8       100 Mbps
br-int                    Hyper-V Virtual Ethernet Adapter #5          44 Disabled     00-15-5D-18-35-AC       100 Mbps
default_win-webserver-... Hyper-V Virtual Ethernet Adapter #4          43 Disabled     00-15-5D-18-39-35       100 Mbps
Ethernet 2                Intel(R) Ethernet Connection (2) I21...       9 Up           4C-52-62-23-AB-AF         1 Gbps
default_win-webserver-... Hyper-V Virtual Ethernet Adapter #6          45 Disabled     00-15-5D-18-31-C5       100 Mbps
Microsoft IP-HTTPS Pla...                                               8 Not Present                             0 bps
vEthernet (Ethernet 3)    Hyper-V Virtual Ethernet Adapter             20 Up           00-FF-05-30-1A-32       100 Mbps
Ethernet (Kernel Debug... Microsoft Kernel Debug Network Adapter        7 Not Present                             0 bps
Ethernet                  Intel(R) I210 Gigabit Network Connec...       6 Disconnected 4C-52-62-17-6C-BA          0 bps
Local Area Connection* 4  WAN Miniport (PPTP)                           5 Disconnected                            0 bps
6to4 Adapter                                                            4 Not Present                             0 bps
Ethernet 3                TAP-Windows Adapter V9                        3 Up           00-FF-05-30-1A-32       100 Mbps
Local Area Connection* 9  WAN Miniport (Network Monitor)                2 Up                                      0 bps

ovs-dpctl show:
system@ovs-system:
    lookups: hit:40857 missed:6179 lost:0
    flows: 127
    port 1: vEthernet (Ethernet 3) (internal)
    port 2: Ethernet 3
    port 3: genev_sys_6081 (geneve: packet_type=ptap)
    port 4: default_win-webserver-edge-d6f9ff4bf-gsnjj (internal)
    port 5: default_win-webserver-edge-d6f9ff4bf-bkwtz (internal)
    port 6: br-int (internal)
    port 7: default_win-webserver-68b746fd98-ckwpg (internal)

k8s-***                   Hyper-V Virtual Ethernet Adapter #2          10 Disconnected 00-15-5D-E7-B8-C7

😞 can you remove it via device manager and rerun the ansible scripts?

Deleting the interface and rerunning the Ansible scripts brought the interface back in a connected state. Afterwards I rebooted the node and now I am happy to see that the k8s-*** interface survived the reboot. Thanks a lot for the help.
Now I can go back to debugging my connectivity issues to find out why I cannot ping other overlay IPs from this node.

Deleting the interface and rerunning the Ansible scripts brought the interface back in a connected state. Afterwards I rebooted the node and now I am happy to see that the k8s-*** interface survived the reboot. Thanks a lot for the help.

Anytime!

Now I can go back to debugging my connectivity issues to find out why I cannot ping other overlay IPs from this node.

If you need help feel free to ping me via IRC #openvswitch on irc.freenode.net.


Performance

First very thanks for this amazing package that you created!
atom-ternjs is very beautiful, I really love the style but the performance is not so good as ternific (extension of brackets), so why ternific is more faster than atom-ternjs? is it by some different use of tern.js api like use programming interface instead http server?

Maybe, maybe not.
Performance is definitely on the todo list and will be part based on the current minor release.
But first of all it is essential to spot the parts, were the performance issues occur.
You may help by analyzing some profiles you can easily create via the dev-tools.
Any help is welcome.
thx
tststs

Thanks for the response, when I can arrange some free time I'll try to help

Closing this in favor of #193


chore: upgrade to polkadot v0.9.28

Notable changes:
Rename: Class -> Collection, Instance -> Item
Use our own copy of orml_currencies pallet from warehouse
New benchmarking commands (node/src/command.rs)
No need for #[transactional] macro
Implemented migration for pallet_nft in warehouse
Implemented migration for pallet_marketplace
Added migration for pallet_uniques
The version of fixed crate fixed to 1.17.0
Use polkadot with patched XCM executor
New or updated runtime configuration parameters:
orml_tokens::MaxReserves = 50
orml_tokens::ReserveIdentifier = ()
pallet_currencies::CheckAssociatedRelayNumber = RelayNumberStrictlyIncreases
pallet_elections_phragmen::MaxCandidated = 1_000
pallet_elections_phragmen::MaxVoters = 10_000
pallet_uniques::CreateOrigin = NeverEnsureOrigin
pallet_uniques::Locker = ()
XcmConfig::WeightInfo = ()
orml_xtokens::MultiLocationsFilter = Everyting
orml_xtokens::ReserveProvider = AbsoluteReserveProvider
orml_xtokens::MinXcmFee = ParachainMinFee

XcmConfig::WeightInfo = ()
So we didn't add benchmarks for XCM?

XcmConfig::WeightInfo = ()
So we didn't add benchmarks for XCM?

Where did you find this line? I can't find it. XcmConfig doesn't have this field.

XcmConfig::WeightInfo = ()
So we didn't add benchmarks for XCM?

Where did you find this line? I can't find it. XcmConfig doesn't have this field.

From your PR description up above :-D

XcmConfig::WeightInfo = ()
So we didn't add benchmarks for XCM?

Where did you find this line? I can't find it. XcmConfig doesn't have this field.

From your PR description up above :-D Edit: Looks like you might have meant the cumulus_pallet_xcmp_queue?

Yes, you are right. I will update the description. And yes, we don't have benchmarks for it. @enthusiastmartin what to do if we want to add benchmarks for a pallet that we haven't benchmarked before? Is it enough to just add new file with the default weights to the common_runtime::weights?

What to do if we want to add benchmarks for a pallet that we haven't benchmarked before?

They need to be added in the benchmark listing in the runtime lib.rs, no?


Importing models where the artifacts location is in s3

Hi team, I met an exception when importing an exported model, where the target mlflow deployment uses s3 to store artifacts. The model got uploaded to s3 successfully, but failed at "import_version" function path check:
    def _import_version(self, model_name, src_vr, dst_run_id, dst_source, sleep_time):
        """
        :param model_name: Model name.
        :param src_vr: Source model version.
        :param dst_run: Destination run.
        :param dst_source: Destination version 'source' field.
        :param sleep_time: Seconds to wait for model version crreation.
        """
        dst_source = dst_source.replace("file://","") # OSS MLflow
        if not dst_source.startswith("dbfs:") and not os.path.exists(dst_source):
            raise MlflowExportImportException(f"'source' argument for MLflowClient.create_model_version does not exist: {dst_source}")

Raising an exception 'source' argument for MLflowClient.create_model_version does not exist: s3:...... I commented out the check and the model version got imported successfully. Shall we add s3 paths to supported dst_source? Thanks all

I have the completely same issue... It would be fantastic to support s3, lots of people (and especially companies) are using that.


I cannot activate the 5ghz

One question, I cannot activate the 5ghz network option in Airgorah with an alpha antenna awus036acm

Hello @ulises-31, thanks for reporting this issue.
Which version of airgorah are you using ?

V0.7.3
El mar, 14 may 2024, 19:11, Martin Olivier @.***>
escribió:

Hello @ulises-31 https://github.com/ulises-31, thanks for reporting
this issue.
Which version of airgorah are you using ?
—
Reply to this email directly, view it on GitHub
https://github.com/martin-olivier/airgorah/issues/129#issuecomment-2110734240,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAY5TYVWN4QRP7HAID5WQ3ZCJAUNAVCNFSM6AAAAABHWAVTH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJQG4ZTIMRUGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Wiphy phy0
wiphy index: 0
max # scan SSIDs: 4
max scan IEs length: 2243 bytes
max # sched scan SSIDs: 0
max # match sets: 0
Retry short limit: 7
Retry long limit: 4
Coverage class: 0 (up to 0m)
Device supports RSN-IBSS.
Device supports AP-side u-APSD.
Device supports T-DLS.
Supported Ciphers:
* WEP40 (00-0f-ac:1)
* WEP104 (00-0f-ac:5)
* TKIP (00-0f-ac:2)
* CCMP-128 (00-0f-ac:4)
* CCMP-256 (00-0f-ac:10)
* GCMP-128 (00-0f-ac:8)
* GCMP-256 (00-0f-ac:9)
* CMAC (00-0f-ac:6)
* CMAC-256 (00-0f-ac:13)
* GMAC-128 (00-0f-ac:11)
* GMAC-256 (00-0f-ac:12)
Available Antennas: TX 0x3 RX 0x3
Configured Antennas: TX 0x3 RX 0x3
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
* P2P-client
* P2P-GO
Band 1:
Capabilities: 0x1ff
RX LDPC
HT20/HT40
SM Power Save disabled
RX Greenfield
RX HT20 SGI
RX HT40 SGI
TX STBC
RX STBC 1-stream
Max AMSDU length: 3839 bytes
No DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: No restriction (0x00)
HT TX/RX MCS rate indexes supported: 0-15
Bitrates (non-HT):
* 1.0 Mbps (short preamble supported)
* 2.0 Mbps (short preamble supported)
* 5.5 Mbps (short preamble supported)
* 11.0 Mbps (short preamble supported)
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
Frequencies:
* 2412.0 MHz [1] (20.0 dBm)
* 2417.0 MHz [2] (20.0 dBm)
* 2422.0 MHz [3] (20.0 dBm)
* 2427.0 MHz [4] (20.0 dBm)
* 2432.0 MHz [5] (20.0 dBm)
* 2437.0 MHz [6] (20.0 dBm)
* 2442.0 MHz [7] (20.0 dBm)
* 2447.0 MHz [8] (20.0 dBm)
* 2452.0 MHz [9] (20.0 dBm)
* 2457.0 MHz [10] (20.0 dBm)
* 2462.0 MHz [11] (20.0 dBm)
* 2467.0 MHz [12] (20.0 dBm)
* 2472.0 MHz [13] (20.0 dBm)
* 2484.0 MHz [14] (20.0 dBm) (no IR)
Band 2:
Capabilities: 0x1ff
RX LDPC
HT20/HT40
SM Power Save disabled
RX Greenfield
RX HT20 SGI
RX HT40 SGI
TX STBC
RX STBC 1-stream
Max AMSDU length: 3839 bytes
No DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: No restriction (0x00)
HT TX/RX MCS rate indexes supported: 0-15
VHT Capabilities (0x318001b0):
Max MPDU length: 3895
Supported Channel Width: neither 160 nor 80+80
RX LDPC
short GI (80 MHz)
TX STBC
RX antenna pattern consistency
TX antenna pattern consistency
VHT RX MCS set:
1 streams: MCS 0-9
2 streams: MCS 0-9
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
VHT RX highest supported: 0 Mbps
VHT TX MCS set:
1 streams: MCS 0-9
2 streams: MCS 0-9
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
VHT TX highest supported: 0 Mbps
VHT extended NSS: not supported
Bitrates (non-HT):
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
Frequencies:
* 5180.0 MHz [36] (20.0 dBm)
* 5200.0 MHz [40] (20.0 dBm)
* 5220.0 MHz [44] (20.0 dBm) (no IR)
* 5240.0 MHz [48] (20.0 dBm)
* 5260.0 MHz [52] (20.0 dBm) (no IR, radar
detection)
* 5280.0 MHz [56] (20.0 dBm) (no IR, radar
detection)
* 5300.0 MHz [60] (20.0 dBm) (no IR, radar
detection)
* 5320.0 MHz [64] (20.0 dBm) (no IR, radar
detection)
* 5500.0 MHz [100] (20.0 dBm) (no IR, radar
detection)
* 5520.0 MHz [104] (20.0 dBm) (no IR, radar
detection)
* 5540.0 MHz [108] (20.0 dBm) (no IR, radar
detection)
* 5560.0 MHz [112] (20.0 dBm) (no IR, radar
detection)
* 5580.0 MHz [116] (20.0 dBm) (no IR, radar
detection)
* 5600.0 MHz [120] (20.0 dBm) (no IR, radar
detection)
* 5620.0 MHz [124] (20.0 dBm) (no IR, radar
detection)
* 5640.0 MHz [128] (20.0 dBm) (no IR, radar
detection)
* 5660.0 MHz [132] (20.0 dBm) (no IR, radar
detection)
* 5680.0 MHz [136] (20.0 dBm) (no IR, radar
detection)
* 5700.0 MHz [140] (20.0 dBm) (no IR, radar
detection)
* 5720.0 MHz [144] (20.0 dBm) (no IR, radar
detection)
* 5745.0 MHz [149] (20.0 dBm) (no IR)
* 5765.0 MHz [153] (20.0 dBm) (no IR)
* 5785.0 MHz [157] (20.0 dBm) (no IR)
* 5805.0 MHz [161] (20.0 dBm) (no IR)
* 5825.0 MHz [165] (20.0 dBm) (no IR)
* 5845.0 MHz [169] (disabled)
* 5865.0 MHz [173] (disabled)
* 5885.0 MHz [177] (disabled)
Supported commands:
* new_interface
* set_interface
* new_key
* start_ap
* new_station
* new_mpath
* set_mesh_config
* set_bss
* authenticate
* associate
* deauthenticate
* disassociate
* join_ibss
* join_mesh
* remain_on_channel
* set_tx_bitrate_mask
* frame
* frame_wait_cancel
* set_wiphy_netns
* set_channel
* tdls_mgmt
* tdls_oper
* probe_client
* set_noack_map
* register_beacons
* start_p2p_device
* set_mcast_rate
* connect
* disconnect
* channel_switch
* set_qos_map
* set_multicast_to_unicast
* set_sar_specs
software interface modes (can always be added):
* AP/VLAN
* monitor
valid interface combinations:
* #{ IBSS } <= 1, #{ managed, AP, mesh point, P2P-client,
P2P-GO } <= 2,
total <= 2, #channels <= 1, STA/AP BI must match
HT Capability overrides:
* MCS: ff ff ff ff ff ff ff ff ff ff
* maximum A-MSDU length
* supported channel width
* short GI for 40 MHz
* max A-MPDU length exponent
* min MPDU start spacing
Device supports TX status socket option.
Device supports HT-IBSS.
Device supports SAE with AUTHENTICATE command
Device supports low priority scan.
Device supports scan flush.
Device supports AP scan.
Device supports per-vif TX power setting
Driver supports full state transitions for AP/GO clients
Driver supports a userspace MPM
Device supports active monitor (which will ACK incoming frames)
Driver/device bandwidth changes during BSS lifetime (AP/GO mode)
Device supports configuring vdev MAC-addr on create.
max # scan plans: 1
max scan plan interval: -1
max scan plan iterations: 0
Supported TX frame types:
* IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90
0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80
0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90
0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80
0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80
0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80
0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80
0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80
0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
Supported RX frame types:
* IBSS: 0x40 0xb0 0xc0 0xd0
* managed: 0x40 0xb0 0xd0
* AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* mesh point: 0xb0 0xc0 0xd0
* P2P-client: 0x40 0xd0
* P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* P2P-device: 0x40 0xd0
Supported extended features:
* [ VHT_IBSS ]: VHT-IBSS
* [ RRM ]: RRM
* [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
* [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
* [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
* [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
* [ SCAN_RANDOM_SN ]: use random sequence numbers in scans
* [ SCAN_MIN_PREQ_CONTENT ]: use probe request with only
rate IEs in scans
* [ AIRTIME_FAIRNESS ]: airtime fairness scheduling
* [ AQL ]: Airtime Queue Limits (AQL)
* [ CONTROL_PORT_NO_PREAUTH ]: disable pre-auth over
nl80211 control port support
* [ DEL_IBSS_STA ]: deletion of IBSS station support
* [ SCAN_FREQ_KHZ ]: scan on kHz frequency support
* [ CONTROL_PORT_OVER_NL80211_TX_STATUS ]: tx status for
nl80211 control port support
* [ POWERED_ADDR_CHANGE ]: can change MAC address while up
El mar, 14 may 2024 a las 21:14, Martin Olivier @.***>)
escribió:

@ulises-31 https://github.com/ulises-31
Mhhh, that's strange,
Can you run the following bash script and give me the output ?
Replace the value of IFACE with the name of your network card interface.
IFACE="wlan0"
LINK=$(readlink /sys/class/net/$IFACE/phy80211)
PHY=$(basename $LINK)
iw phy $PHY info
—
Reply to this email directly, view it on GitHub
https://github.com/martin-olivier/airgorah/issues/129#issuecomment-2110970575,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAY5TZOC3GR4FS5G567PPDZCJO7TAVCNFSM6AAAAABHWAVTH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJQHE3TANJXGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

@ulises-31
Since 5200.0 MHz is present in your output and airgorah is doing the same steps as in the shell script I provided to check if 5ghz is supported, I think you are running a version lower than 0.7.3.
I fixed a bug in latest version to check both 5200.0 MHz and 5200 MHz in the iw phy XXX info command output to define if 5ghz is supported:

fix commit
https://github.com/martin-olivier/airgorah/commit/eb2eed92410c793009d4b408c3ebf0369ad4e523

linked issue
https://github.com/martin-olivier/airgorah/issues/120

Can you re-check that your are running v0.7.3 ?

El mar, 14 may 2024 a las 19:11, Martin Olivier @.***>)
escribió:

Hello @ulises-31 https://github.com/ulises-31, thanks for reporting
this issue.
Which version of airgorah are you using ?
—
Reply to this email directly, view it on GitHub
https://github.com/martin-olivier/airgorah/issues/129#issuecomment-2110734240,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAY5TYVWN4QRP7HAID5WQ3ZCJAUNAVCNFSM6AAAAABHWAVTH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJQG4ZTIMRUGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@ulises-31
Didn't see your answer

Hay una captura. La version es 0.7.3
El mié, 15 may 2024, 16:27, Martin Olivier @.***>
escribió:

@ulises-31 https://github.com/ulises-31
Didn't see your answer
—
Reply to this email directly, view it on GitHub
https://github.com/martin-olivier/airgorah/issues/129#issuecomment-2112699118,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAY5T74U5QOOCK6JE5UBJTZCNWFXAVCNFSM6AAAAABHWAVTH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJSGY4TSMJRHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@ulises-31
Can you replace the code of the function is_5ghz_supported, located in src/backend/interface.rs, by the following code:
pub fn is_5ghz_supported(iface: &str) -> Result<bool, IfaceError> {
    let phy_path = format!("/sys/class/net/{}/phy80211", iface);

    let phy_link = std::fs::read_link(phy_path)?;

    log::warn!(
        "{}: PHY link is '{:?}'",
        iface,
        phy_link
    );

    let phy_name = match phy_link.file_name() {
        Some(name) => name,
        None => return Err(IfaceError::PhyParsing),
    };

    log::warn!(
        "{}: PHY name is '{:?}'",
        iface,
        phy_name
    );

    let phy_name_str = match phy_name.to_str() {
        Some(name) => name,
        None => return Err(IfaceError::PhyParsing),
    };

    log::warn!(
        "{}: PHY name str is '{}'",
        iface,
        phy_name_str
    );

    let check_band_cmd = Command::new("iw")
        .args(["phy", phy_name_str, "info"])
        .output()?;

    log::warn!(
        "{}: iw binary found",
        iface
    );

    if !check_band_cmd.status.success() {
        return Err(IfaceError::PhyNotFound(phy_name_str.to_string()));
    }

    log::warn!(
        "{}: iw cmd returned 0",
        iface
    );

    let check_band_output = String::from_utf8(check_band_cmd.stdout)?;

    log::warn!(
        "{}: iw returned valid UTF8",
        iface
    );

    if check_band_output.contains("5200 MHz") {
        log::warn!(
            "{}: SUPPORTS 2.4 and 5 GHZ",
            iface
        );
        return Ok(true);
    }

    log::warn!(
        "{}: SUPPORTS only 2.4 GHZ",
        iface
    );
    Ok(false)
}

Then rebuild the project:
cargo build

Then launch the software using command line:
sudo ./target/debug/airgorah

And send me the logs after interface selection

no encuentro el directorio ni el fichero a editar
src/backend/interface.rs,
El mié, 15 may 2024 a las 16:37, Martin Olivier @.***>)
escribió:

@ulises-31 https://github.com/ulises-31
Can you replace the code of the function is_5ghz_supported, located in
src/backend/interface.rs, by the following code:
pub fn is_5ghz_supported(iface: &str) -> Result<bool, IfaceError> {
let phy_path = format!("/sys/class/net/{}/phy80211", iface);
let phy_link = std::fs::read_link(phy_path)?;

log::warn!(
    "{}: PHY link is '{:?}'",
    iface,
    phy_link
);

let phy_name = match phy_link.file_name() {
    Some(name) => name,
    None => return Err(IfaceError::PhyParsing),
};

log::warn!(
    "{}: PHY name is '{:?}'",
    iface,
    phy_name
);

let phy_name_str = match phy_name.to_str() {
    Some(name) => name,
    None => return Err(IfaceError::PhyParsing),
};

log::warn!(
    "{}: PHY name str is '{}'",
    iface,
    phy_name_str
);

let check_band_cmd = Command::new("iw")
    .args(["phy", phy_name_str, "info"])
    .output()?;

log::warn!(
    "{}: iw binary found",
    iface
);

if !check_band_cmd.status.success() {
    return Err(IfaceError::PhyNotFound(phy_name_str.to_string()));
}

log::warn!(
    "{}: iw cmd returned 0",
    iface
);

let check_band_output = String::from_utf8(check_band_cmd.stdout)?;

log::warn!(
    "{}: iw returned valid UTF8",
    iface
);

if check_band_output.contains("5200 MHz") {
    log::warn!(
        "{}: SUPPORTS 2.4 and 5 GHZ",
        iface
    );
    return Ok(true);
}

log::warn!(
    "{}: SUPPORTS only 2.4 GHZ",
    iface
);
Ok(false)}

Then rebuild the project:
cargo build
Then launch the software using command line:
sudo ./target/debug/airgorah
And send me the logs after interface selection
—
Reply to this email directly, view it on GitHub
https://github.com/martin-olivier/airgorah/issues/129#issuecomment-2112721790,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAY5T4KHKBGBQDSNK6BSY3ZCNXIXAVCNFSM6AAAAABHWAVTH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJSG4ZDCNZZGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

I need docker?
El mié, 22 may 2024 a las 16:50, Martin Olivier @.***>)
escribió:

In the source code
—
Reply to this email directly, view it on GitHub
https://github.com/martin-olivier/airgorah/issues/129#issuecomment-2124999015,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAY5TY7CVIRSOW2SONI5RTZDSWDDAVCNFSM6AAAAABHWAVTH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRUHE4TSMBRGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

Not nessesary,
To build the project you need to:
Install rust compiler: https://www.rust-lang.org/tools/install
download dependencies:
sudo apt install -y build-essential libgtk-4-dev libglib2.0-dev aircrack-ng wireshark-common

And then, clone and launch a terminal inside airgorah repo and build with the following command:
cargo build

Then launch the software:
sudo ./target/debug/airgorah

He actualizado Kali linux y se ha solucionado el problemas. Muchísimas
gracias por ayudarme. Un saludo
El mié, 29 may 2024, 12:40, Martin Olivier @.***>
escribió:

Not nessesary,
To build the project you need to:
Install rust compiler: https://www.rust-lang.org/tools/install
download dependencies:
sudo apt install -y build-essential libgtk-4-dev libglib2.0-dev aircrack-ng wireshark-common
And then, clone and launch a terminal inside airgorah repo and build with
the following command:
cargo build
Then launch the software:
sudo ./target/debug/airgorah
—
Reply to this email directly, view it on GitHub
https://github.com/martin-olivier/airgorah/issues/129#issuecomment-2137101791,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAY5T643DTK4SWABYSJ3VDZEWWCPAVCNFSM6AAAAABHWAVTH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZXGEYDCNZZGE
.
You are receiving this because you were mentioned.Message ID:
@.***>


Update logback-classic to 1.2.5

Updates ch.qos.logback:logback-classic from 1.2.3 to 1.2.5.
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!

Files still referring to the old version number
The following files still refer to the old version number (1.2.3).
You might want to review and update them manually.
project/Http4sPlugin.scala
tests/src/test/scala/org/http4s/headers/ForwardedSuite.scala
tests/src/test/scala/org/http4s/parser/ForwardedHeaderSpec.scala
website/src/hugo/content/changelog.md

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.qos.logback", artifactId = "logback-classic" } ]

labels: library-update, semver-patch, old-version-remains

0.22


App in prod calls ANR when user exits from image viewer

Describe the bug
App in production calls ANR when user exits from image viewer
To Reproduce
Steps to reproduce the behavior:

open image
press back button in phone bottom
repeat before it apprears again

Expected behavior
no ANR, photo viewer is closed
Smartphone (please complete the following information):

OS: [more android 8.1]
Plugin version [2.1.0]

Additional context
I'm going to try catch that code in file ImageFragment.kt:
private fun postNotification() {
        var info: MutableMap<String, Any> = mutableMapOf()
        info["result"] = true
        info["imageIndex"] = startFrom
        NotificationCenter.defaultCenter().postNotification("photoviewerExit", info);
}

Screenshots

@ivanov84 To do what you want : "closing the app" when a second back-button's press you must do this in your app i show it for the angular framework modify the app.component.ts
...
import { Platform } from '@ionic/angular';
import { App } from '@capacitor/app';
...
export class AppComponent {
  constructor(private platform: Platform) {
    this.platform.ready().then(async () => {
      this.platform.backButton.subscribeWithPriority(
        666666, () => {
          App.exitApp();
        });

    });
  }
}

This will do the job for android only

@ivanov84 Did that solve the issue in Android. Waiting for your answer otherwise i will close the issue

@jepiqueau No, still error with new photoviewer version:

I was having the same issue. ChatGPT fixed it for me by doing following changes in NotificationCenter.java

The ConcurrentModificationException in your code is likely happening because you are modifying the registeredObjects collection while iterating over it, which is not allowed in Java.
There are two places where this issue could occur:

removeAllNotifications(): You are removing entries from registeredObjects while iterating over it.
postNotification(): You are iterating over list in postNotification(), which could be modified (either by removing or adding methods for notification) during iteration.

Fixing the removeAllNotifications Method
When you want to remove elements from a collection while iterating over it, the safest approach is to use the Iterator.remove() method.
Update the removeAllNotifications() method like this:
public synchronized void removeAllNotifications() {
    Iterator<Map.Entry<String, ArrayList<MyRunnable>>> entryIterator = registeredObjects.entrySet().iterator();
    while (entryIterator.hasNext()) {
        Map.Entry<String, ArrayList<MyRunnable>> entry = entryIterator.next();
        ArrayList<MyRunnable> value = entry.getValue();
        if (!value.isEmpty()) {
            removeMethodForNotification(entry.getKey(), value.get(0));
        }
        entryIterator.remove(); // Safe way to remove during iteration
    }
}

Fixing the postNotification Method
In postNotification(), you are iterating over the list of MyRunnable objects. To ensure that the list is not modified during iteration (which could trigger the ConcurrentModificationException), you should iterate over a copy of the list.
Update the postNotification() method like this:
public synchronized void postNotification(String notificationName, Map<String, Object> _info) {
    ArrayList<MyRunnable> list = registeredObjects.get(notificationName);
    if (list != null) {
        // Create a copy of the list to avoid concurrent modification
        ArrayList<MyRunnable> listCopy = new ArrayList<>(list);

        for (MyRunnable r : listCopy) {
            if (r != null) {
                r.setInfo(_info);
                r.run();
            }
        }
    }
}

Why These Changes Work:
In removeAllNotifications(), using Iterator.remove() ensures safe removal while iterating over the collection.
In postNotification(), making a copy of the list (listCopy) ensures that any changes to the original list (such as adding or removing MyRunnable objects) will not affect the ongoing iteration, preventing a ConcurrentModificationException.
These changes should help prevent the ConcurrentModificationException you're seeing.

@brickedsolutions Feel free to create a PR.


#138 - reading csv files

#138 ready for mege

Codecov Report

Merging #141 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #141      +/-   ##
==========================================
+ Coverage   70.78%   70.79%   +0.01%
==========================================
  Files          63       63
  Lines        7332     7335       +3
==========================================
+ Hits         5190     5193       +3
  Misses       2142     2142

Impacted Files
Coverage Δ

cate/ops/io.py
89.03% <100%> (+0.21%)
:white_check_mark:

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 5e5fde4...723009c. Read the comment docs.

fixed missing tags, ready for merge again


Generic parsing of values

Values can be entirely numerical, use exponent of 10s (see #7) or exponent symbol (0.2E-4), number words ("twenty") (see #8), dates/time expressions ("October 19, 2014 at 20:09 TDB") (see #12).
Currently the treatment of all these cases is ad hoc. We should introduce a value parser to recognize what kind of value we have and to use the right parser/normalization.

I'm looking back to this model and I'm wondering whether could be a good idea or not to supply some additional information, like for example some contextual tokens.
For example, for dates, 2001 as date and 2001 as number won't contains any discriminative information... we could supply if it's a date from the Quantities model for example?
Another aid (but I think it's redundant) could be the token preceding the value, for example in and at might help discriminating whether it's a date or not.
@kermitt2  what do you think?

Hello! The fact that a value is a date is indeed ambiguous. But for predicting that we have a date, just looking at the preposition before is not reliable, we would need the whole context. We could use an Ontonotes model maybe to predict dates in the current sentence, and use that prediction in the value model (dates are predicted at f-score 84.4 with Ontonotes model from DeLFT).

OK, using the preposition was not the first choice :joy: The first choice was to use the prediction from the quantities model (which uses already the context to predict whether a value is a date) as a feature, however it does not have much training data.
Do you mean having a separate model for date trained on ontonotes? That would be make things more flexible and well contained and could be reused in other tools.


I can delete the parent page deeper down the tree in contents view

Describe the bug
If I select a page in the contents view, then in the content view somewhere else in the tree and click delete, I delete the previously selected page, even though the dialog shows no items.
To Reproduce
Steps to reproduce the behavior:

Go to 'demo.plone.org' and Login
Create a Page 'test-page-1' and 'test-page-2' in the root folder
Go to the contents view of the root folder
Select the checkbox of 'test-page-1'
Enter the 'test-page-2' in the contents view
Click the delete button of the contents view
Click Delete on an empty Confirm dialog
try viewing the test-page-1

Then the test-page-1 has been deleted
Expected behavior
The page 'test-page-1' is not selected/deleted when I change the contents view or the page 'test-page-1' is shown in the confirm dialog.
Software (please complete the following information):

OS: archlinux
Browser: firefox
Volto Version [plone.demo.org?!]
Plone Version [plone.demo.org?!]
Plone REST API Version [plone.demo.org?!]

Why is this a bug? When you delete a page as you did in Step 6, it goes away, and it is not possible to do Step 8. I cannot reproduce this issue as described. Please edit your report so that anyone can reproduce it.

Edited the steps, hope it is more clear now

Ah, now I see. Confirmed. What would you suggest to prevent deletion of a checked Item1 when viewing Item2, then clicking Delete? I think once you leave the item list view, then any selection should be purged.

I think once you leave the item list view, then any selection should be purged.

Yeah, think so too. It seems strange to me that something is still checked if I navigate away from it. Although it seems to easy to accidentally check the box when navigation carelessly and than delete something you don't want to delete.


Load multiple records as key: value object member

I currently have the following table setup:
CREATE TABLE user_meta
(
  id serial NOT NULL,
  uid integer,
  meta_key character varying(255),
  meta_value character varying(255),
  CONSTRAINT user_meta_pkey PRIMARY KEY (id),
  CONSTRAINT user_meta_uid_foreign FOREIGN KEY (uid)
      REFERENCES users (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT user_meta_uid_meta_key_unique UNIQUE (uid, meta_key)
)

My models are set up as following:
User:
var User = db.bookshelf.Model.extend({
    tableName: "users",
    meta: function () {
        return this.hasMany(db.bookshelf.model("UserMeta"), "uid");
    }
});

UserMeta:
var UserMeta = db.bookshelf.Model.extend({
    tableName: "user_meta",
    user: function() {
        return this.belongsTo(db.bookshelf.model("User"));
    }
});

When fetching my User object with related meta, I get the following response:
{
  "id": 2,
  "email"<EMAIL_ADDRESS>  "registration_date": "2016-03-14T18:36:18.791Z",
  "is_admin": false,
  "meta": [
    {
      "id": 2,
      "uid": 2,
      "meta_key": "address.number",
      "meta_value": "1"
    },
    {
      "id": 3,
      "uid": 2,
      "meta_key": "address.numberAddition",
      "meta_value": "Apt. 3"
    },
    {
      "id": 1,
      "uid": 2,
      "meta_key": "address.street",
      "meta_value": "Some rd."
    },
    {
      "id": 4,
      "uid": 2,
      "meta_key": "firstName",
      "meta_value": "John"
    },
    {
      "id": 5,
      "uid": 2,
      "meta_key": "lastName",
      "meta_value": "Doe"
    }
  ]
}

Preferably, I'd like to see an output as following:
{
  "id": 2,
  "email"<EMAIL_ADDRESS>  "registration_date": "2016-03-14T18:36:18.791Z",
  "is_admin": false,
  "meta": {
    "address": {
      "number": "1",
      "numberAddition": "Apt. 3",
      "street": "Some rd."
    },
    "firstName": "John",
    "lastName": "Doe"
  }
}

It is possible to load my object and parse the data into the format I want with code like this:
db.bookshelf.model("User").forge({id: result})
.fetch({require: true, withRelated: ["meta"]})
.then(function (model) {
    var modelJson = model.toJSON();
    if(modelJson.hasOwnProperty("meta")) {
        var meta = {};
        modelJson.meta.forEach(function (row) {
            meta[row.meta_key] = row.meta_value;
        });

        modelJson.meta = meta;
    }
    callback(modelJson);
});

but saving something like this would be a gigantic mess to get working.
Is there an elegant way of doing this in Bookshelf.js, and if not, I'd like to request this as a feature.

@Cyberuben You could use Bookshelf's Model/Collection parse method to manipulate the response of UserMeta into what you want. However, I would not recommend this approach.
Keep in mind that Bookshelf is treating your UserMeta model as a collection of UserMeta models, but you are trying to manipulate this collection into a model representation. I think a smarter approach than using parse and model.toJSON() would actually be a custom serializer.
Example below:
user_serializer.js
var getMetadata = function(usermetas) {
  var meta = {};
  usermetas.forEach(function (metaRow) {
      meta[metaRow.meta_key] = metaRow.meta_value;
  });

  return meta;
};

var UserSerializer = function(user) {
  var meta = model.related('UserMeta') ?
    getMetadata(model.related('UserMeta')) :
    null;

  return {
    id: user.get('id'),
    email: user.get('email'),
    registration_date: user.get('registration_date'),
    is_admin: user.get('is_admin'),
    meta: meta
  };
}

module.exports = UserSerializer;

And now, to replace the code above:
var serialize = require('path/to/user_serializer');

db.bookshelf
  .model("User")
  .forge({id: result})
  .fetch({require: true, withRelated: ["meta"]})
  .then(function (model) {
      callback(serialize(model));
  });

Hope that helps!

The project leadership of Bookshelf recently changed. In an effort to advance the project we close all issues older than one year.
If you think this issue needs to be re-evaluated please post a comment on why this is still important and we will re-open it.
We also started an open discussion about the future of Bookshelf.js here https://github.com/bookshelf/bookshelf/issues/1600. Feel free to drop by and give us your opinion.
Let's make Bookshelf great again


deleteOriginFile options is not working as expected

Hello,
I'd like to report that the deleteOriginFile: true is not working as expected and return an error :
 ERROR  Rollup error: Could not load /Users/User/Documents/nuxt-app/.nuxt/dist/server/client.manifest.mjs (imported by node_modules/nuxt/dist/core/runtime/nitro/renderer.mjs): ENOENT: no such file or directory, open '/Users/User/Documents/nuxt-app/.nuxt/dist/server/client.manifest.mjs'

 ERROR  Could not load /Users/User/Documents/nuxt-app/.nuxt/dist/server/client.manifest.mjs (imported by node_modules/nuxt/dist/core/runtime/nitro/renderer.mjs): ENOENT: no such file or directory, open '/Users/User/Documents/nuxt-app/.nuxt/dist/server/client.manifest.mjs'

here is my nuxt.config.ts file :
  buildModules: [
    [
      '@nuxt-modules/compression',
      {
        algorithm: 'gzip',
        filter: /\.(js|mjs|css|html)$/i,
        deleteOriginFile: true,
        success: () => {
          console.log('✅ Success gzip compression')
        }
      }
    ]
  ],

cc @Baroshem

I will work on it with the upgrade to latest Nuxt 3 format. Thanks for reporting that.
I expect to release a new version of this module until the end of the week (bit busy right now with other tasks unfortunately :( )

Hey @BenjaminOddou
I tried to port the module to the current version of Nuxt but I am experiencing some issues along the way. Could you please use the vite-plugin-compression for now while in the meantime I will try to fix these bugs and update the module?
Sorry for that, I have not expected so many problems along the way :(

No problem I totally understand ! The current version of your plugin is working so not a deal breaker. I'll wait your input to test the new version 😉

@Baroshem did you succeeded to update the plugin 🙂?

Hey, no I cannot make it work. Some strange issues while prting the module. I will try to make it completely from scratch instead.

Hey @Baroshem thanks for the feedback. I opted to use nitro asset compression :
  nitro: {
    compressPublicAssets: {
      brotli: true,
      gzip: false
    }
  }


Wiki

I have no (zero, none) programing or scripting skills, but I'm a pretty good writer.
I'd be glad to help you with a Wiki page--converting your notes & instructions into the beginnings of a user guide if you like.
Just thought I'd offer. :-)

I have certainly wanted to do this, feel free to take a shot at it!  I have on my "todo list" to write some of that in markdown files and display them on the new website.

Excellent--I'll have some time on my flight tomorrow to rough things out.
That way perhaps I can make a contribution beyond just being a nagging techno-dolt. :-)


remove dataset outliers

The calibrated_masked_rg dataset still contains some outliers due to the large neigbour threshold (15 cm).
This threshold was chosen to include objects that are 'far' apart from each other.
The script src/data_processing/segmentation/clean_dataset_from_outliers.py may help.

First, evaluate if this is an actual problem.
Is the masked dataset clean enough?

The dataset still contains outliers.
The outliers can be categorized in two groups

near clusters that are small are not part of an object
outliers in the rs pcd

To fix this following updates where applied

all clusters that are accepted must include a minimum number of points
the rs pcd is clustered too with the density based region growing

This improves results immensively

Good masking algorithm fixes this issue


Can't load "human" environments

Hi, I'm unable to load the "human" environments using the provided Google Collab: https://colab.research.google.com/drive/1PAY5HnLKRB-TBsPaevRr6myMfpVt_yzF
No registered env with id: ScratchItchPandaHuman-v1
It happens with all [task][robot]Human-v1 environments. Thanks!

This seems to be an issue with Google Colab.
If you install Assistive Gym locally, it should work just fine.
Typically, we register envs into the gym interface by calling register(): https://github.com/Healthcare-Robotics/assistive-gym/blob/main/assistive_gym/init.py
However, for the 'human' environments, we need to co-optimize two separate policies and that requires using an RLlib environment register function. https://github.com/Healthcare-Robotics/assistive-gym/blob/main/assistive_gym/envs/scratch_itch_envs.py#L44
For some reason, Google Colab is not calling this function correctly and registering the 'human' environments.


NM: Store password using the user keyring

This prevents the password from being used by other users. I think it's good that this is off by default
See https://people.freedesktop.org/~lkundrak/nm-docs/nm-settings.html#secrets-flags
and
https://github.com/GEANT/CAT/issues/264

Will need to test what happens if you don't have a keyring, my assumptions are that it will keep asking for passwords. I think we should detect if the user has a keyring if that is the case and show a warning. Hence the draft for now

Hi, just tested the pre-release App, it is really nice! Is this setting here still on the radar?

Hi, just tested the pre-release App, it is really nice! Is this setting here still on the radar?

Hi Lukas, did you test the CLI or GUI? I'm glad it works.
This setting is definitely still on the radar. The problem with enabling it by default is that (in my testing) if you have no keyring (or a non-functioning one), NetworkManager just sets an empty password without warning the user. I think we need some detection in this client whether or not the keyring works and if it does enable the NM setting

Closing for now, need to revisit this some other time


Enable pprof in HAS on staging

Adds a patch to set the ENABLE_PPROF environment variable to true in HAS on staging

/lgtm

/approve

/lgtm


commands to auto edit generated elements

It would be great if we can add a parameter when creating a service that indicated that we want http service to be imported in the file and added to constructor parameters as private since it is a recurrent need. we can have the same with a command that auto edit components to integrate a service without manually editing 10 components to import and add the same service each time. this is a general idea (auto edit not just generate fresh files). But i didn't think yet about the proper implementation.

I understand this request; however, in light of custom schematics and the difficulties of deciding upon the location of any specified imports would be quite complicated and would likely not be implemented by the default schematics.
I will leave this open for discussion, but my initial reaction is that this would not be something taken on by the default schematics.


new chams

In general, the new chams are nice, but there are slight problems with them. Once they work once they don't, I don't know what the problem is, you know?

Yyyy , enable high game settings .

Some materials requre high shader detail.


Gorm upgrade

Signed-off-by: Prafulla Mahindrakar<EMAIL_ADDRESS>TL;DR
Upgrading GORM to V2
Removing unnecessary fields and fixing foreign key annotations for gorm V2.
Testing done :
Launching subworkflow and greet examples from cookbook and using flytectl to get execution details.
Type

[X] Bug Fix
[ ] Feature
[ ] Plugin

Are all requirements met?

[ ] Code completed
[ ] Smoke tested
[ ] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
How did you fix the bug, make the feature etc. Link to any design docs etc
Tracking Issue
fixes https://github.com/flyteorg/flyte/issues/1043
Follow-up issue
NA

hey @pmahindrakar-oss can you verify that you can run executions end to end with this image?

@katrogan @EngHabu  PTAL

hey @pmahindrakar-oss thanks so much for this massive undertaking!
are you able to stand up this admin instance on a sandbox and verify that you can launch executions and use the console to navigate esp. with dynamic tasks, child workflows and other more complicated cases?

Hi @katrogan , I have been testing these changes using flytectl and flyteconsole.
Usual steps of registration, execution creation and fetching the execution were done.
Viewing these flyteconsole was also done.
The type of workflows executed were simple go_greet task and control flow core.control_flow.subworkflows.my_subwf.
Let me know specific workflows from cookbook which you think are needed in addition to these and whats covered in integration test pipeline.

thank you for all the testing @pmahindrakar-oss! would you mind running a few more to verify other relationships

launch plans called in a workflow: https://github.com/flyteorg/flytesnacks/blob/dynamic-lp-subwf/cookbook/core/control_flow/nested_dynamic.py#L21
parent workflow for my_subwf: https://github.com/flyteorg/flytesnacks/blob/561b49c8c2769b7d905f3c15717209708f771161/cookbook/core/control_flow/subworkflows.py#L77
and also try recovering and/or relaunching and ensuring the UI points back to the original workflow?

thank you for all the testing @pmahindrakar-oss! would you mind running a few more to verify other relationships

launch plans called in a workflow: https://github.com/flyteorg/flytesnacks/blob/dynamic-lp-subwf/cookbook/core/control_flow/nested_dynamic.py#L21
parent workflow for my_subwf: https://github.com/flyteorg/flytesnacks/blob/561b49c8c2769b7d905f3c15717209708f771161/cookbook/core/control_flow/subworkflows.py#L77
and also try recovering and/or relaunching and ensuring the UI points back to the original workflow?

Here are the results @katrogan
launch plans called in a workflow

launch plans called in a workflow  - relaunch

launch plans called in a workflow - aborted

launch plans called in a workflow - recovered

parent workflow for my_subwf

parent workflow for my_subwf - relaunch

parent workflow for my_subwf - aborted

parent workflow for my_subwf - recovered


Add Query to Export API and nit documentation update

Add explicit parameter in Query for Export.
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[x] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[ ] I have read the contribution guidelines.
[ ] My spec meets the review criteria:

[ ] The spec conforms to the Swagger 2.0 specification.
[ ] The spec follows the guidelines described in the Swagger checklist document.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

No modification for AutorestCI/azure-sdk-for-ruby

No modification for AutorestCI/azure-sdk-for-python


FastZip exception when attempting to add locked file not well handled

SD-1369, originally created on 7/27/2007 13:17:35 by John Reilly
FastZip::AddFileContents can throw an exception at the using (FileStream
stream = File.OpenRead(name)) if the file is locked by another process.
The exception is not caught until ZipOutputStream::CloseEntry() ~ line
483 where it checks the size.  Returns an error "size was 0 but I
expected dddddd".  This leaves the user with little indication of the
problem.
..
The above is likely already fixed, but a new enhancement is needed.
Add a new property to allow the adding of files that re open by another
for writing. This would change the FileShare parameter in File.Open to
ReadWrite.
Also update the NUnit test to set the property.
Forum thread
community.sharpdevelop.net/forums/t/16183.aspx

Comment from John Reilly on 7/27/2007 13:20:04:
Originated from forum post 18110.
Presumably using events would help to pick up on this somewhat more
elegantly.

Comment from David Pierson on 2/19/2010 04:59:10:
This may be related to this issue in this post ...
http://community.sharpdevelop.net/forums/t/10314.aspx

Not sure when, but the problem described has been fixed (probably by @jfreilly himself). It now opens the stream in a try/catch clause and triggers an event if it fails that let's the consumer handle the error.


multi-gpu version try, but the program is always crashing

I am trying to modify the current code to make it run on multi-gpu based on the tensorflow cifar10 multi-gpu implementation. it seems to be simple from cifar10 example, but after I modify the code and run the new code, there occurs some different errors, one thing I want to point out here is that the modified code works well on single gpu(I mean no error occurs).
In train/train.py,  I change function train to below(some unchanged parts is not shown here)
with tf.device("/cpu:0"):
        global_step = tf.get_variable(
            'global_step', [],
            initializer=tf.constant_initializer(0), trainable=False)

        image, ih, iw, gt_boxes, gt_masks, num_instances, img_id = \
            datasets.get_dataset(FLAGS.dataset_name,
                                FLAGS.dataset_split_name,
                                FLAGS.dataset_dir,
                                FLAGS.im_batch,
                                is_training=True)

        data_queue = tf.RandomShuffleQueue(capacity=32, min_after_dequeue=16,
                dtypes=(
                    image.dtype, ih.dtype, iw.dtype,
                    gt_boxes.dtype, gt_masks.dtype,
                    num_instances.dtype, img_id.dtype))
        enqueue_op = data_queue.enqueue((image, ih, iw, gt_boxes, gt_masks, num_instances, img_id))
        data_queue_runner = tf.train.QueueRunner(data_queue, [enqueue_op] * 4)
        tf.add_to_collection(tf.GraphKeys.QUEUE_RUNNERS, data_queue_runner)

        lr = _configure_learning_rate(82783, global_step)
        optimizer = _configure_optimizer(lr)

       tower_grads = []
        with tf.variable_scope(tf.get_variable_scope()):
            for i in xrange(FLAGS.num_gpus):
                with tf.device('/gpu:%d' % i):
                    with tf.name_scope('tower_%d' % i) as scope:
                        (image, ih, iw, gt_boxes, gt_masks, num_instances, img_id) =  data_queue.dequeue()

                        im_shape = tf.shape(image)
                        image = tf.reshape(image, (im_shape[0], im_shape[1], im_shape[2], 3))

                        ## network
                        logits, end_points, pyramid_map = network.get_network(FLAGS.network, image,
                                weight_decay=FLAGS.weight_decay)

                        outputs = pyramid_network.build(end_points, ih, iw, pyramid_map,
                                num_classes=81,
                                base_anchors=9,
                                is_training=True,
                                gt_boxes=gt_boxes, gt_masks=gt_masks, scope=scope,
                                loss_weights=[0.2, 0.2, 1.0, 0.2, 1.0])

                        total_loss = outputs['total_loss'] # total loss excludes regularization loss here
                        losses  = outputs['losses']
                        batch_info = outputs['batch_info']
                        regular_loss = tf.add_n(tf.get_collection(tf.GraphKeys.REGULARIZATION_LOSSES))

                        summaries = tf.get_collection(tf.GraphKeys.SUMMARIES, scope)

                        tf.get_variable_scope().reuse_variables()

                        grads = solve_grads(optimizer, scope)
                        tower_grads.append(grads)

        grads = average_gradients(tower_grads)
        grad_updates = optimizer.apply_gradients(grads, global_step=global_step)

        update_ops = []
        update_ops.append(grad_updates)
        update_op = tf.group(*update_ops)

        summaries.append(tf.summary.scalar('learning_rate', lr))
        config = tf.ConfigProto()
        config.gpu_options.allow_growth = True
        config.allow_soft_placement = True
        sess = tf.Session(config=config)

Besides above, I add a new function average_gradients, which is below
def average_gradients(tower_grads):
    """Calculate the average gradient for each shared variable across all towers.
    Note that this function provides a synchronization point across all towers.
    Args:
        tower_grads: List of lists of (gradient, variable) tuples. The outer list
        is over individual gradients. The inner list is over the gradient
        calculation for each tower.
    Returns:
        List of pairs of (gradient, variable) where the gradient has been averaged
        across all towers.
    """
    average_grads = []
    for grad_and_vars in zip(*tower_grads):
        # Note that each grad_and_vars looks like the following:
        #   ((grad0_gpu0, var0_gpu0), ... , (grad0_gpuN, var0_gpuN))
        grads = []
        for g, tmp in grad_and_vars:
            # Add 0 dimension to the gradients to represent the tower.
            if g is None:  # None is from the bias of last class prediction layer, which is not included in loss
                break
            expanded_g = tf.expand_dims(g, 0)

            # Append on a 'tower' dimension which we will average over below.
            grads.append(expanded_g)

            # Average over the 'tower' dimension.
        if not grads:
            continue
        grad = tf.concat(axis=0, values=grads)
        grad = tf.reduce_mean(grad, 0)

        # Keep in mind that the Variables are redundant because they are shared
        # across towers. So .. we will just return the first tower's pointer to
        # the Variable.
        v = grad_and_vars[0][1]
        grad_and_var = (grad, v)
        average_grads.append(grad_and_var)
    return average_grads

when I run the modified code on 2 TITAN X, just after one iteration, there occurs different errors blow

failed to enqueue async me mset operation: CUDA_ERROR_INVALID_HANDLE
failed to run cuBLAS routine cublasSgemm_v2: CUBLAS_STATUS_INTERNAL_ERROR, Internal: Blas GEMM launch failed
Input to reshape is a tensor with 827904 values, but the requested shape has 0

@CharlesShang Do you have any idea about these errors, thank you

Hi @animebing,
I'm not sure what is the exact error, but you definitely should make sure  the line:
(image, ih, iw, gt_boxes, gt_masks, num_instances, img_id) =  data_queue.dequeue()

is out of the gpus loop. in addition, you should perform tf.split on the dequeued data according to the batch size. For each gpu you need to define the model with it's corresponding share of data.
Hope that helps - let me know if you have any trouble
Amir

@amirbar Thank you for your suggestion, I have some questions about your suggestion

Why should data_queue.dequeue() be out of gpus loop?
According to my understanding, the element in the data_queue is just one image information, not a batch with more than one image, so tf.split is not necessary
For each gpu, I am trying to dequeue one element for use, I mean the data in each gpu is different, so I can't understand "For each gpu you need to define the model with it's corresponding share of data"

sorry, you are right.
data_queue.dequeue()

should create a different dequeue op for every gpu. I initially assumed this op is shared among all gpus.
Do you have any more information on the 3rd error? maybe a line number?

The traceback is below
File "train/train.py", line 293, in <module>
    train()
  File "train/train.py", line 176, in train
    loss_weights=[0.2, 0.2, 1.0, 0.2, 1.0])
  File "train/../libs/nets/pyramid_network.py", line 531, in build
    is_training=is_training, gt_boxes=gt_boxes)
  File "train/../libs/nets/pyramid_network.py", line 278, in build_heads
    refine = slim.flatten(cropped_regions)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/arg_scope.py", line 181, in func_with_args
    return func(*args, **current_args)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers/python/layers/layers.py", line 1226, in flatten
    outputs = array_ops.reshape(inputs, flat_shape)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_array_ops.py", line 2510, in reshape
    name=name)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 768, in apply_op
    op_def=op_def)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2336, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1228, in __init__
    self._traceback = _extract_stack()
InvalidArgumentError (see above for traceback): Input to reshape is a tensor with 827904 values, but the requested shape has<PHONE_NUMBER>2

from above, the error seems to come from refine = slim.flatten(cropped_regions)， which is in https://github.com/CharlesShang/FastMaskRCNN/blob/master/libs/nets/pyramid_network.py#L273, because I have some lines of print statement in my running code, so the line number is different from that in above link

@animebing, could you make multi-gpu to work?

@simaoh, it still can't work now

@animebing Had same problem as your. I checked the input shape again and again but nothing found.  It can run several time in the average_gradients function, but I don't know why.


Container failed liveness probe..

Killing container with id docker://weblogic-operator:Container failed liveness probe.. Container will be killed and recreated.
Doesn't seem to be creating /operator/.alive file with latest code from master.
I am doing a maven build (mvn -P default clean install -Dmaven.test.skip=true) and building & pushing image to private registry, deploying to kubernetes with create-weblogic-operator.sh script with create-weblogic-operator-inputs.yaml value weblogicOperatorImage: set to my tagged image in private registry.
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-05-12T04:12:12Z", GoVersion:"go1.9.6", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:10:24Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
I know that 1.10 of kubernetes wasn't listed as supported yet...but don't want to be far from latest release for storage support, etc.

Ok, I pulled and built from develop and the operator is working now


Fix: #916 - Updated color page info regarding HSB color values

Fixes #916
Changes:

I have updated the color page values regarding HSB color scheme, according to the data given in the colorMode() reference page.
Screenshots of the change:

Tagging @montoyamoraga  @limzykenneth  for review. Thanks!

Looks good, thanks!

Looks good, thanks!


Command Template

Allow you define AI command template and invoke with a custom command:
{
  "command": "cm",
  "variables": {
    "output": "git diff"
  },
  "prompt": "generate a git commit message from the diff, return the message only:\n{{output}}"
}

Now you can run ask cm to generate git commit message based on the output of git diff command

Released https://github.com/egoist/shell-ask#ai-command-presets


Terminal Not Working

Issue Type: Bug
In the terminal not even me to type any letters
VS Code version: Code 1.47.2 (17299e413d5590b14ab0340ea477cdd86ff13daf, 2020-07-15T18:22:06.216Z)
OS version: Windows_NT x64 6.2.9200

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz (8 x 2400)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.85GB (2.29GB free)

Process Argv
C:\Users\Cloobot-Ajith\Desktop\Process Mining

Screen Reader
no

VM
0%

Extensions (2)

Extension
Author (truncated)
Version

gc-excelviewer
Gra
3.0.39

python
ms-
2020.7.96456

I also started having this issue yesterday.  Both bash and PowerShell terminals are behaving this way.

Same. 1.47 has been poor for terminal integration. I have the same setup, using git bash on windows.
The terminal frequently hangs up for minutes on end and I get odd characters at the prompt whilst it's unresponsive:
E.g.
Me@computer MINGW64 /c/git/MyProject
$ ddddddddddddDDDDDDDDDDDD

Please provide a screenshot or a gif illustrating the problem (attaching images won't work via email, you need to go to github.com). See this wiki page for more general info on how to report actionable terminal issues.
/label "needs more info" integrated-terminal
Please also try updating git bash if you're using that.

I'm having a similar issue
Version: 1.47.3
Commit: 91899dcef7b8110878ea59626991a18c8a6a1b3e
Date: 2020-07-23T15:51:39.791Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Linux x64 5.4.0-7634-generic (Pop OS 20.04)

pressing any keys or switching terminal does nothing
However, when in root mode:

not sure what's going on

@d-ac you may have run vscode as root once which messed up file permissions? Try checking the permissions of ~/.vscode and where ever code is installed.

@Tyriar I did run it once as root in the past. I checked the 'code' file in /usr/bin (where it is installed for me) and the owner was root, tried changing to my user and the permissions from read-only to read and write but the issue persists.
I also checked ~/.vscode but the permissions seem normal.

Do you see any errors in the devtools (Help > Toggle Developer Tools) console when you open the terminal? If that doesn't give any clues a trace log of the launch might help https://github.com/microsoft/vscode/wiki/Terminal-Issues#enabling-trace-logging

Yesterday this wasn't working but when i launched code with the --log trace flag it worked!, the integrated terminal worked fine.
I tried running code from terminal without the flags too and it also showed up the integrated terminal fine. It seems like it just does not work well from the shortcut provided by the OS after installation.
Is there any way to enable trace logging after launching code from the shortcut? to at least see what's going on when I launch it from there

@d-ac the only way to do that is by modifying the .desktop entry to include --log trace on Linux. I'd expect the same thing to happen though.

@Tyriar Hello!
So i actually got around to doing it, for speed purposes i had been launching it from console.
my code.desktop [desktop entry] block shows the following:
[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/share/code/code --no-sandbox --unity-launch --log trace %F
Icon=com.visualstudio.code
Type=Application
StartupNotify=false
StartupWMClass=Code
Categories=Utility;TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;
Actions=new-empty-window;
Keywords=vscode;
and as for the integrated terminal opening, the code console returns the following when opening the console:
TRACE terminalInstance#ctor (id: 5) {}
workbench.desktop.main.js:sourcemap:1670   ERR A system error occurred (EACCES: permission denied, open '/proc/2635/environ'): Error: EACCES: permission denied, open '/proc/2635/environ'
workbench.desktop.main.js:sourcemap:1670 TRACE [storage state.vscdb] updateItems(): insert(Map(1) {workbench.panel.hidden => false}), delete(Set(0) {})
workbench.desktop.main.js:sourcemap:1670 TRACE [storage state.vscdb] Trace (event): BEGIN TRANSACTION
workbench.desktop.main.js:sourcemap:1670 TRACE [storage state.vscdb] Trace (event): INSERT INTO ItemTable VALUES ('workbench.panel.hidden','false')
workbench.desktop.main.js:sourcemap:1670 TRACE [storage state.vscdb] Trace (event): END TRANSACTION

workbench.desktop.main.js:sourcemap:1670 ERR A system error occurred (EACCES: permission denied, open '/proc/2635/environ'): Error: EACCES: permission denied, open '/proc/2635/environ'

Set the terminal.integrated.inheritEnv to true`

/duplicate https://github.com/microsoft/vscode/issues/76542


feat(dapp-console): create endpoint for logging user out

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#223  👈
#222
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tremarkley and the rest of your teammates on  Graphite


MenuItem or ListItem should be able to support disabled state

MenuItem or ListItem should be able to support disabled state.
In some use cases its required that UI render the menu item but in disabled state if it does not meets certain logical conditions. At present only workaround is to add custom style with opacity adjustment along with conditional handling of the onClick handler.
Desired behavior should be to expose a disabled property from within the MenutItem/ListItem components.

Thanks for adding this issue @sethisameer, it definitely slipped through the cracks


OpenSSL 1.0.2 'make clean' doesn't clean generated .S files

When building for both the linux-armv4 and linux-aarch64 targets, OpenSSL 1.0.2j's make process generates .S files for ARM assembly, in the crypto/aes, crypto/bn, crypto/modes, and crypto/sha directories.
Unfortunately, 'make clean' does not remove these files, and re-running Configure or 'make depend' does not do anything to let make know they need to be regenerated.
The syntax of the generated files is different for 32-bit and 64-bit arm.
Thus, if you try to build OpenSSL for both a 32-bit arm and 64-bit arm platform in the same OpenSSL directory, the second build will fail.
The solution is to add *.S to the 'clean' target in those directories.

I can reproduce this.
A grep reveals that also crypto/md5, crypto/rc4 and crypto/des may contain *.S files:
grep -r "\.S:" crypto
crypto/modes/Makefile:ghashv8-armx.S:	asm/ghashv8-armx.pl
crypto/modes/Makefile:ghash-%.S:	asm/ghash-%.pl;	$(PERL) $< $(PERLASM_SCHEME) $@
crypto/md5/Makefile:md5-sparcv9.S:	asm/md5-sparcv9.pl
crypto/rc4/Makefile:rc4-ia64.S: asm/rc4-ia64.pl
crypto/sha/Makefile:sha256-armv4.S: asm/sha256-armv4.pl
crypto/sha/Makefile:sha1-sparcv9.S:	asm/sha1-sparcv9.pl;	$(PERL) asm/sha1-sparcv9.pl $@ $(CFLAGS)
crypto/sha/Makefile:sha256-sparcv9.S:asm/sha512-sparcv9.pl;	$(PERL) asm/sha512-sparcv9.pl $@ $(CFLAGS)
crypto/sha/Makefile:sha512-sparcv9.S:asm/sha512-sparcv9.pl;	$(PERL) asm/sha512-sparcv9.pl $@ $(CFLAGS)
crypto/sha/Makefile:sha1-mips.S:	asm/sha1-mips.pl;	$(PERL) asm/sha1-mips.pl $(PERLASM_SCHEME) $@
crypto/sha/Makefile:sha256-mips.S:	asm/sha512-mips.pl;	$(PERL) asm/sha512-mips.pl $(PERLASM_SCHEME) $@
crypto/sha/Makefile:sha512-mips.S:	asm/sha512-mips.pl;	$(PERL) asm/sha512-mips.pl $(PERLASM_SCHEME) $@
crypto/sha/Makefile:sha1-%.S:	asm/sha1-%.pl;		$(PERL) $< $(PERLASM_SCHEME) $@
crypto/sha/Makefile:sha256-%.S:	asm/sha512-%.pl;	$(PERL) $< $(PERLASM_SCHEME) $@
crypto/sha/Makefile:sha512-%.S:	asm/sha512-%.pl;	$(PERL) $< $(PERLASM_SCHEME) $@
crypto/des/Makefile:des_enc-sparc.S:	asm/des_enc.m4
crypto/aes/Makefile:aes-mips.S:	asm/aes-mips.pl
crypto/aes/Makefile:aesv8-armx.S:	asm/aesv8-armx.pl
crypto/aes/Makefile:aes-%.S:	asm/aes-%.pl;	$(PERL) $< $(PERLASM_SCHEME) > $@
crypto/aes/Makefile:bsaes-%.S:	asm/bsaes-%.pl;	$(PERL) $< $(PERLASM_SCHEME) $@
crypto/bn/Makefile:sparct4-mont.S:	asm/sparct4-mont.pl
crypto/bn/Makefile:sparcv9-gf2m.S:	asm/sparcv9-gf2m.pl
crypto/bn/Makefile:%-mont.S:	asm/%-mont.pl;	$(PERL) $< $(PERLASM_SCHEME) $@
crypto/bn/Makefile:%-gf2m.S:	asm/%-gf2m.pl;	$(PERL) $< $(PERLASM_SCHEME) $@

fixed with 9b90ce0.  thanks for reporting this!


Make RawKernel and RawModule aware of CUDA context (alt)

Close #3193. Close #3200.
For motivation see the initial PR #3200. This is an alternative attempt (didn't want to force push there).
After offline discussion with @emcastillo, I am convinced to try and utilize the internal per-device cache (cupy.util.memoize), so we don't have to do the cache by ourselves in this module. This should greatly simplifies the code.
This PR has the same expected behavior as the previous one: The same RawKernel/RawModule instance would be usable on any device. Recompiling (and caching) is done internally when necessary.
No backward compatibility is broken in either PR: Note that if the context is not switched, for RawKernel, the actual compilation happens at first launch, whereas for RawModule, the compilation happens when creating the instance. Both PRs only addresses the context switching bug.
Tests are simply taken from #3200.

I found in my prior PRs I didn't add any test for loading cubin/ptx...My bad 😞 This implementation would fail with loading. Let me add a few tests and then fix it.

I found in my prior PRs on RawModule I didn't add any test for loading cubin/ptx...My bad 😞 This implementation would fail with loading. Let me add a few tests and then fix it.

This is addressed in 2b659e6.

Jenkins, test this please

Jenkins CI test (for commit 2b659e65f3dd105596e549ea9146dc536ff2efa4, target branch master) succeeded!

Thanks, Emilio!

Yes,
probably just having a fixed size array with the number of devices should be ok and much faster

Yes,
probably just having a fixed size array with the number of devices should be ok and much faster

@emcastillo Is this a reply to https://github.com/cupy/cupy/issues/3326#issuecomment-628188846? 😂

Has this fix been backported to CuPy 7.x?

Hi Daniel, I don't think so. This PR was not considered a bug fix, so it was not backported. Is there a need?

I wouldn't say I have a need. I was just curious. I can wait for CuPy 8.


Couple of media conteiner descriptions

Motivation for this change
Seen that there is no description for this packages, so provided.
MP4v2 had no maintainer - so, set myself as one.
Things done

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

[x] NixOS

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Looks good, going for it.


error at the assembly stage

Description of the bug
Dear colleagues,
I have a question similar to that https://github.com/nf-core/viralrecon/issues/198 when trying to launch test experiment.
nextflow
run nf-core/viralrecon
-profile test,docker -r 2.4.1
--outdir /work/viralrecon
The text of the error is in file. Similar to the question from the link above I've tried to skip assembly stage:
nextflow
run nf-core/viralrecon
-profile test,docker -r 2.4.1
--skip_assembly
--outdir /work/viralrecon
In this case, everything works fine, but I'd like to fix assembly error. Hope for your help.

Docker, viralrecon 2.4.1

Hi @Mewgia ! I have seen this error too and I still haven't got to the bottom of it. For some reason SPAdes fails when I run the pipeline on my laptop with the error below:
Error: SPAdes crashed! Please view spades.log for more information.

If you use --assemblers 'spades,minia' then this willbypass running Unicycler and the pipeline should finish.

This is what I see:
$ cat .command.log

tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified

Starting Unicycler (2022-07-11 18:03:04)
    Welcome to Unicycler, an assembly pipeline for bacterial genomes. Since you
provided only short reads, Unicycler will essentially function as a SPAdes-
optimiser. It will try many k-mer sizes, choose the best based on contig length
and graph connectivity, and scaffold the graph using SPAdes repeat resolution.
    For more information, please see https://github.com/rrwick/Unicycler

Command: /usr/local/bin/unicycler --threads 2 -1 SAMPLE2_PE.primer_trim_1.fastq.gz -2 SAMPLE2_PE.primer_trim_2.fastq.gz --out ./

Unicycler version: v0.4.8
Using 2 threads

The output directory already exists and files may be reused or overwritten:
  /home/harshil/repos/nf-core/test/work/56/9196545462ad960685d1c6e132c570

Dependencies:
  Program         Version           Status
  spades.py       3.13.0            good
  racon                             not used
  makeblastdb     2.5.0+            good
  tblastn         2.5.0+            good
  bowtie2-build   2.4.2             good
  bowtie2         2.4.2             good
  samtools        1.11              good
  java            11.0.8-internal   good
  pilon           1.23              good
  bcftools                          not used

SPAdes read error correction (2022-07-11 18:03:05)
    Unicycler uses the SPAdes read error correction module to reduce the number
of errors in the short read before SPAdes assembly. This can make the assembly
faster and simplify the assembly graph structure.

Command: /usr/local/bin/spades.py -1 test/work/56/9196545462ad960685d1c6e132c570/SAMPLE2_PE.primer_trim_1.fastq.gz -2 test/work/56/9196545462ad960685d1c6e132c570/SAMPLE2_PE.primer_trim_2.fastq.gz -o test/work/56/9196545462ad960685d1c6e132c570/spades_assembly/read_correction --threads 2 --only-error-correction
Error: SPAdes crashed! Please view spades.log for more information.

$ cat spades.log

Command line: /usr/local/bin/spades.py  -1      test/work/56/9196545462ad960685d1c6e132c570/SAMPLE2_PE.primer_trim_1.fastq.gz      -2      test/work/56/9196545462ad960685d1c6e132c570/SAMPLE2_PE.primer_trim_2.fastq.gz      -o      test/work/56/9196545462ad960685d1c6e132c570/spades_assembly/read_correction        --threads       2       --only-error-correction

System information:
  SPAdes version: 3.13.0
  Python version: 3.8.6
  OS: Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.10

Output dir: test/work/56/9196545462ad960685d1c6e132c570/spades_assembly/read_correction
Mode: ONLY read error correction (without assembling)
Debug mode is turned OFF

Dataset parameters:
  Multi-cell mode (you should set '--sc' flag if input data was obtained with MDA (single-cell) technology or --meta flag if processing metagenomic dataset)
  Reads:
    Library number: 1, library type: paired-end
      orientation: fr
      left reads: ['test/work/56/9196545462ad960685d1c6e132c570/SAMPLE2_PE.primer_trim_1.fastq.gz']
      right reads: ['test/work/56/9196545462ad960685d1c6e132c570/SAMPLE2_PE.primer_trim_2.fastq.gz']
      interlaced reads: not specified
      single reads: not specified
      merged reads: not specified
Read error correction parameters:
  Iterations: 1
  PHRED offset will be auto-detected
  Corrected reads will be compressed
Other parameters:
  Dir for temp files: test/work/56/9196545462ad960685d1c6e132c570/spades_assembly/read_correction/tmp
  Threads: 2
  Memory limit (in Gb): 15

======= SPAdes pipeline started. Log can be found here: test/work/56/9196545462ad960685d1c6e132c570/spades_assembly/read_correction/spades.log

===== Read error correction started.

== Running read error correction tool: /usr/local/share/spades-3.13.0-0/bin/spades-hammer test/work/56/9196545462ad960685d1c6e132c570/spades_assembly/read_correction/corrected/configs/config.info

The program was terminated by segmentation fault
=== Stack Trace ===

== Error ==  system call for: "['/usr/local/share/spades-3.13.0-0/bin/spades-hammer', 'test/work/56/9196545462ad960685d1c6e132c570/spades_assembly/read_correction/corrected/configs/config.info']" finished abnormally, err code: -11

In case you have troubles running SPAdes, you can write to<EMAIL_ADDRESS>or report an issue on our GitHub repository github.com/ablab/spades
Please provide us with params.txt and spades.log files from the output directory.

Hi, was it resolved? Best

Unfortunately not @josruirod. Needs some more digging to figure out what is going on. Quietly hoping someone beats me to it!

Thanks for answering!


Method rename

Utils#isEqualRequestCodeFromAnntation to isEqualRequestCodeFromAnnotation

Thanks for your  comment.
I will update it as soon as.


Web-page design

I have tweeked some css for the gh-page:

Logo integrated
Color scheme inspired by MongoDB web site

Cheers

Nice ui. Thanks a lot


comparison of NilClass with BigDecimal failed

in an installation from scratch, when I delete a cart item and that item is in a promotion RelatedProductDiscount, there is an error "comparison of NilClass With BigDecimal failed"

i fixed it with changing RelatedProductDiscount#compute for it not to return nil
this is what i got
def compute(object)
  if object.is_a?(Array)
    return if object.empty?
    order = object.first.order
  else
    order = object
  end

# changed
  return order.item_total + order.ship_total unless eligible?(order)
  total = order.line_items.inject(0) do |sum, line_item|
    relations =  Spree::Relation.where(*discount_query(line_item))
    discount_applies_to = relations.map {|rel| rel.related_to.master }

    order.line_items.each do |li|
      next unless discount_applies_to.include? li.variant
      discount = relations.detect { |rel| rel.related_to.master == li.variant }.discount_amount
      sum +=  if li.quantity < line_item.quantity
                (discount * li.quantity)
              else
                (discount * line_item.quantity)
              end
    end

    sum
  end
  # changed
  total == 0 ? order.item_total + order.ship_total : total
end


vue/compiler warning

Vue version
3.3.8
Link to minimal reproduction
https://stackblitz.com/edit/vitejs-vite-eplgin?file=src%2Fmain.ts
Please do a yarn serve
Steps to reproduce
Upgrade vue version to 3.3.8 and vue/compiler also to 3.3.8.
execute yarn serve
Use defineProps in a component with importing it.
When you import it, you get below warning in compiler
yarn run v1.22.18
warning ../../../package.json: No license field
$ vue-cli-service serve --mode localhost
 INFO  Starting development server...
[51%] building (144/335 modules)
[@vue/compiler-sfc] `defineProps` is a compiler macro and no longer needs to be imported.

If you remove the import of defineProps, then you get below error
 8:1  error  'defineProps' is not defined
What is expected?
Warning to be match with the code. Either able to use defineProps with import or remove it stops seeing warning asking to import
What is actually happening?
Warning asking to remove import of deinineProps and once it's removed, it's throwing the error asking to import it
System Info
No response
Any additional comments?
No response

 8:1 error 'defineProps' is not defined

This is from ESLint and an old version of eslint-plugin-vue.
Now that you are using @vue/cli-plugin-eslint, which only supports eslint-plugin-vue v8, you need to add the following configuration in your package.json:
"eslintConfig": {
    "root": true,
    "env": {
      "node": true,
+     "vue/setup-compiler-macros": true
    },

https://github.com/vuejs/eslint-plugin-vue/blob/v8.7.1/docs/user-guide/README.md#compiler-macros-such-as-defineprops-and-defineemits-generate-no-undef-warnings


PHP highlighting breaks on here-docs

On PHP code that contains a here-doc, the "string" highlight for the here-doc continues on long after the here-doc has actually been closed -- it seems to miss the end of the here-doc.
For example if this snippet is highlighted as PHP:
<?php
    print(<<<EOTEXT
      this is a heredoc ...
EOTEXT
        );
    print("... but this line is code.");
?>

then everything from <<<EOTEXT to the end goes in a span of class hljs-string.
See repro at https://jsfiddle.net/5pdjee5v/ .
(/cc @christoffer, and thanks @jboning for spotting the issue!)

As currently defined, it wants a semicolon at the end of "EOTEXT" here. Is this wrong?

From what I can tell, heredocs should end with a semicolon unless used as a function argument (as in the example given above). See also example #3 here: http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

Even in statements, it seems to work fine without a trailing semicolon on the same line:
php > $a = <<<EOTEXT
<<< > foo
<<< > EOTEXT
php > ;
php > print $a;
foo

Yeah, many rare use-cases are not highlighted properly in many language and we always try to improve them on bug reports if it is not overkill.

Fixed (sort of) in a9e6bd6 (see commit message).

Thanks!


Cropland Map - Ghana

Start year: 2024
Start month: February

[ ] Analyze existing maps
[ ] Create a Sampling Design
[ ] Labeling project created
[ ]  Set 1 : @Di-anaBF
[ ]  Set 2: Millicent Frimpong
[ ]  Data added to the repository
[ ]  Model trained
[ ]  Map made


[ios] Podspec not found error

[x] I have read the Getting Started section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
3.24.3

Plugin version
1.0.0

Android version

iOS version
iOS 18

macOS version

Xcode version
16

Google Chrome version

Device information: iOS Simulator
Description
[!] No podspec found for zikzak_inappwebview_ios in .symlinks/plugins/zikzak_inappwebview_ios/ios

Me also getting same error....Please solve it.
[!] No podspec found for zikzak_inappwebview_ios in .symlinks/plugins/zikzak_inappwebview_ios/ios

Please solve it.

If super urgent, you can use my fork from the pull request.
dependency_overrides:

  zikzak_inappwebview_ios:
    git:
      url: https://github.com/MrLightful/zikzak_inappwebview.git
      path: zikzak_inappwebview_ios
      ref: 639de5f7ff41d13647109ed4600d4c4f7746b830

But I'm pretty sure, @arrrrny will merge it/fix it within a few hours.

Please solve it.

If super urgent, you can use my fork from the pull request.
dependency_overrides:

  zikzak_inappwebview_ios:
    git:
      url: https://github.com/MrLightful/zikzak_inappwebview.git
      path: zikzak_inappwebview_ios
      ref: 639de5f7ff41d13647109ed4600d4c4f7746b830

But I'm pretty sure, @arrrrny will merge it/fix it soon.

Getting this error.
Because zikzak_inappwebview 1.0.0 depends on zikzak_inappwebview_ios ^1.0.0 and no versions of zikzak_inappwebview match >1.0.0 <2.0.0, zikzak_inappwebview ^1.0.0 requires zikzak_inappwebview_ios from hosted.
So, because depends on both zikzak_inappwebview ^1.0.0 and zikzak_inappwebview_ios from git, version solving failed.

Thx @MrLightful 1.0.1 is live

bumped version, 1.0.2 is the right one