Support for Google Home

I'm trying out Google Home. It seems to support Hue lights on the same network, so I thought it should work like Echo or Harmony remote (Have 3 Echos and 1 Harmony, all works with the bridge).
Home doesn't detect the bridge. Ran a tcpdump on the VM hosting ha-bridge and I see multicast packets (SSDP and MDNS) from the phone running the 'Google Home' control app, but don't see any packets from the Google Home device. Any suggestions?

I'm wondering if Google Home is trying to use the Hue internet api instead of the local upnp find. If that is the case, this will not work of course.

It has the option to use either it is waiting for a button press i believe

I'm also stuck at the waiting for the button press.

The ha-bridge is in button always pushed mode.

Ok so that does not solve the problem how can we help to figure this out .......

Please turn on the trace upnp flag in the settings and post your log.
Thanks

2016-11-04 16:17:21,285 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge (v3.2.1) starting....
2016-11-04 16:17:21,474 [main] INFO  com.bwssystems.HABridge.BridgeSettings - reading from config file: data/habridge.config
2016-11-04 16:17:22,081 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge initializing....
2016-11-04 16:17:22,199 [main] INFO  com.bwssystems.HABridge.SystemControl - System control service started....
2016-11-04 16:17:23.280:INFO::Thread-0: Logging initialized @6216ms
2016-11-04 16:34:56,163 [Thread-0] INFO  spark.webserver.JettySparkServer - == Spark has ignited ...
2016-11-04 16:34:56,214 [Thread-0] INFO  spark.webserver.JettySparkServer - >> Listening on <IP_ADDRESS>:8081
2016-11-04 16:34:56.244:INFO:oejs.Server:Thread-0: jetty-9.3.z-SNAPSHOT
2016-11-04 16:34:57.047:INFO:oejs.ServerConnector:Thread-0: Started ServerConnector@1bed92c{HTTP/1.1,[http/1.1]}{<IP_ADDRESS>:8081}
2016-11-04 16:34:57.090:INFO:oejs.Server:Thread-0: Started @8397ms
2016-11-04 16:34:58,556 [main] INFO  com.bwssystems.harmony.HarmonyServer - setup initiated ....
2016-11-04 16:35:07,742 [main] INFO  com.bwssystems.harmony.HarmonyServer - activity changed: [-1] PowerOff
2016-11-04 16:35:07,757 [main] INFO  com.bwssystems.harmony.HarmonyServer - setup initiated ....
2016-11-04 16:35:10,862 [main] INFO  com.bwssystems.harmony.HarmonyServer - activity changed: [-1] PowerOff
2016-11-04 16:35:11,519 [main] INFO  com.bwssystems.HABridge.devicemanagmeent.DeviceResource - HABridge device management service started....
2016-11-04 16:35:11,583 [main] INFO  com.bwssystems.HABridge.upnp.UpnpSettingsResource - Hue description service started....
2016-11-04 16:35:11,596 [main] INFO  com.bwssystems.util.UDPDatagramSender - Initializing UDP response Seocket...
2016-11-04 16:35:11,608 [main] WARN  com.bwssystems.util.UDPDatagramSender - UDP Response Port is in use, starting loop to find open port for 20 tries - configured port is: 50001
2016-11-04 16:35:11,610 [main] INFO  com.bwssystems.util.UDPDatagramSender - UDP response Seocket initialized to: 50003
2016-11-04 16:35:11,668 [main] INFO  com.bwssystems.HABridge.hue.HueMulator - Hue emulator service started....
2016-11-04 16:35:11,720 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener starting....
2016-11-04 16:35:11,725 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener running and ready....
2016-11-04 16:36:53,542 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener - ended, restart found
2016-11-04 16:36:53,544 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge (v3.2.1) reinitialization requessted....
2016-11-04 16:36:53,596 [main] INFO  spark.webserver.JettySparkServer - >>> Spark shutting down ...
2016-11-04 16:36:53.629:INFO:oejs.ServerConnector:main: Stopped ServerConnector@1bed92c{HTTP/1.1,[http/1.1]}{<IP_ADDRESS>:8081}
2016-11-04 16:36:53,639 [main] INFO  spark.webserver.JettySparkServer - done
2016-11-04 16:36:53,648 [main] INFO  com.bwssystems.HABridge.BridgeSettings - reading from config file: data/habridge.config
2016-11-04 16:36:53,665 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge initializing....
2016-11-04 16:36:53,670 [main] INFO  com.bwssystems.HABridge.SystemControl - System control service started....
2016-11-04 16:36:53,675 [Thread-23] INFO  spark.webserver.JettySparkServer - == Spark has ignited ...
2016-11-04 16:36:53,676 [Thread-23] INFO  spark.webserver.JettySparkServer - >> Listening on <IP_ADDRESS>:8081
2016-11-04 16:36:53.678:INFO:oejs.Server:Thread-23: jetty-9.3.z-SNAPSHOT
2016-11-04 16:36:53.686:INFO:oejs.ServerConnector:Thread-23: Started ServerConnector@1222ede{HTTP/1.1,[http/1.1]}{<IP_ADDRESS>:8081}
2016-11-04 16:36:53,694 [main] INFO  com.bwssystems.harmony.HarmonyServer - setup initiated ....
2016-11-04 16:36:53.696:INFO:oejs.Server:Thread-23: Started @125002ms
2016-11-04 16:36:55,738 [main] INFO  com.bwssystems.harmony.HarmonyServer - activity changed: [-1] PowerOff
2016-11-04 16:36:55,756 [main] INFO  com.bwssystems.harmony.HarmonyServer - setup initiated ....
2016-11-04 16:36:57,623 [main] INFO  com.bwssystems.harmony.HarmonyServer - activity changed: [-1] PowerOff
2016-11-04 16:36:57,668 [main] INFO  com.bwssystems.HABridge.devicemanagmeent.DeviceResource - HABridge device management service started....
2016-11-04 16:36:57,671 [main] INFO  com.bwssystems.HABridge.upnp.UpnpSettingsResource - Hue description service started....
2016-11-04 16:36:57,672 [main] INFO  com.bwssystems.util.UDPDatagramSender - Initializing UDP response Seocket...
2016-11-04 16:36:57,674 [main] WARN  com.bwssystems.util.UDPDatagramSender - UDP Response Port is in use, starting loop to find open port for 20 tries - configured port is: 50001
2016-11-04 16:36:57,675 [main] INFO  com.bwssystems.util.UDPDatagramSender - UDP response Seocket initialized to: 50003
2016-11-04 16:36:57,727 [main] INFO  com.bwssystems.HABridge.hue.HueMulator - Hue emulator service started....
2016-11-04 16:36:57,730 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener starting....
2016-11-04 16:36:57,732 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener running and ready....
2016-11-04 16:37:08,629 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener - ended, restart found
2016-11-04 16:37:08,630 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge (v3.2.1) reinitialization requessted....
2016-11-04 16:37:08,666 [main] INFO  spark.webserver.JettySparkServer - >>> Spark shutting down ...
2016-11-04 16:37:08.674:INFO:oejs.ServerConnector:main: Stopped ServerConnector@1222ede{HTTP/1.1,[http/1.1]}{<IP_ADDRESS>:8081}
2016-11-04 16:37:08,682 [main] INFO  spark.webserver.JettySparkServer - done
2016-11-04 16:37:08,690 [main] INFO  com.bwssystems.HABridge.BridgeSettings - reading from config file: data/habridge.config
2016-11-04 16:37:08,704 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge initializing....
2016-11-04 16:37:08,708 [main] INFO  com.bwssystems.HABridge.SystemControl - System control service started....
2016-11-04 16:37:08,712 [Thread-45] INFO  spark.webserver.JettySparkServer - == Spark has ignited ...
2016-11-04 16:37:08,714 [Thread-45] INFO  spark.webserver.JettySparkServer - >> Listening on <IP_ADDRESS>:8081
2016-11-04 16:37:08.715:INFO:oejs.Server:Thread-45: jetty-9.3.z-SNAPSHOT
2016-11-04 16:37:08.724:INFO:oejs.ServerConnector:Thread-45: Started ServerConnector@ee0973{HTTP/1.1,[http/1.1]}{<IP_ADDRESS>:8081}
2016-11-04 16:37:08.729:INFO:oejs.Server:Thread-45: Started @140036ms2016-11-04 16:37:08,727 [main] INFO  com.bwssystems.harmony.HarmonyServer - setup initiated ....
2016-11-04 16:37:10,425 [main] INFO  com.bwssystems.harmony.HarmonyServer - activity changed: [-1] PowerOff
2016-11-04 16:37:10,435 [main] INFO  com.bwssystems.harmony.HarmonyServer - setup initiated ....
2016-11-04 16:37:12,341 [main] INFO  com.bwssystems.harmony.HarmonyServer - activity changed: [-1] PowerOff
2016-11-04 16:37:12,377 [main] INFO  com.bwssystems.HABridge.devicemanagmeent.DeviceResource - HABridge device management service started....
2016-11-04 16:37:12,381 [main] INFO  com.bwssystems.HABridge.upnp.UpnpSettingsResource - Hue description service started....
2016-11-04 16:37:12,382 [main] INFO  com.bwssystems.util.UDPDatagramSender - Initializing UDP response Seocket...
2016-11-04 16:37:12,383 [main] WARN  com.bwssystems.util.UDPDatagramSender - UDP Response Port is in use, starting loop to find open port for 20 tries - configured port is: 50001
2016-11-04 16:37:12,384 [main] INFO  com.bwssystems.util.UDPDatagramSender - UDP response Seocket initialized to: 50003
2016-11-04 16:37:12,433 [main] INFO  com.bwssystems.HABridge.hue.HueMulator - Hue emulator service started....
2016-11-04 16:37:12,435 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener starting....
2016-11-04 16:37:12,438 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener running and ready....

11-04-2016 13:38:32.990	INFO	UPNP Discovery Listener - ended, restart found	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:32.991	INFO	HA Bridge (v3.2.1) reinitialization requessted....	com.bwssystems.HABridge.HABridge
11-04-2016 13:38:32.993	INFO	>>> Spark shutting down ...	spark.webserver.JettySparkServer
11-04-2016 13:38:32.997	INFO	done	spark.webserver.JettySparkServer
11-04-2016 13:38:32.998	INFO	reading from config file: data/habridge.config	com.bwssystems.HABridge.BridgeSettings
11-04-2016 13:38:33.000	INFO	HA Bridge initializing....	com.bwssystems.HABridge.HABridge
11-04-2016 13:38:33.001	INFO	System control service started....	com.bwssystems.HABridge.SystemControl
11-04-2016 13:38:33.010	INFO	HABridge device management service started....	com.bwssystems.HABridge.devicemanagmeent.DeviceResource
11-04-2016 13:38:33.011	INFO	Hue description service started....	com.bwssystems.HABridge.upnp.UpnpSettingsResource
11-04-2016 13:38:33.011	INFO	Initializing UDP response Seocket...	com.bwssystems.util.UDPDatagramSender
11-04-2016 13:38:33.011	WARN	UDP Response Port is in use, starting loop to find open port for 20 tries - configured port is: 50000	com.bwssystems.util.UDPDatagramSender
11-04-2016 13:38:33.012	INFO	UDP response Seocket initialized to: 50001	com.bwssystems.util.UDPDatagramSender
11-04-2016 13:38:33.013	INFO	== Spark has ignited ...	spark.webserver.JettySparkServer
11-04-2016 13:38:33.014	INFO	>> Listening on <IP_ADDRESS>:8085	spark.webserver.JettySparkServer
11-04-2016 13:38:33.029	INFO	Hue emulator service started....	com.bwssystems.HABridge.hue.HueMulator
11-04-2016 13:38:33.042	INFO	UPNP Discovery Listener starting....	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:33.043	INFO	Traceupnp: eth1 ... has addr /fe80:0:0:0:6a05:caff:fe03:67e2%eth1	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:33.043	INFO	Traceupnp: eth1 ... has addr /<IP_ADDRESS>	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:33.043	INFO	Traceupnp: Adding eth1 to our interface set	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:33.044	INFO	Traceupnp: eth0 ... has addr /fe80:0:0:0:6a05:caff:fe03:6fa1%eth0	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:33.044	INFO	Traceupnp: eth0 ... has addr /<IP_ADDRESS>	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:33.044	INFO	Traceupnp: Adding eth0 to our interface set	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:33.044	INFO	Traceupnp: lo ... has addr /0:0:0:0:0:0:0:1%lo	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:33.044	INFO	Traceupnp: lo ... has addr /<IP_ADDRESS>	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:33.045	INFO	Traceupnp: Adding lo to our interface set	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:33.046	INFO	UPNP Discovery Listener running and ready....	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:33.998	INFO	Traceupnp: upnp device settings requested: from <IP_ADDRESS>:8085	com.bwssystems.HABridge.upnp.UpnpSettingsResource
11-04-2016 13:38:33.998	INFO	Traceupnp: upnp device settings template filled with address: <IP_ADDRESS> and port: 8085	com.bwssystems.HABridge.upnp.UpnpSettingsResource
11-04-2016 13:38:54.163	INFO	Traceupnp: isSSDPDiscovery found message to be an M-SEARCH message.	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:54.163	INFO	Traceupnp: isSSDPDiscovery found message to be valid under strict rules - strict: true	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:54.163	INFO	Traceupnp: SSDP packet from <IP_ADDRESS>:46165, body: M-SEARCH * HTTP/1.1
HOST: <IP_ADDRESS>:1900
MAN: "ssdp:discover"
MX: 2
ST: ssdp:all
com.bwssystems.HABridge.upnp.UpnpListener

11-04-2016 13:38:54.163	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2::upnp:rootdevice

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:54.164	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate2 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:38:54.164	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:17.034	INFO	Traceupnp: isSSDPDiscovery found message to be an M-SEARCH message.	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:17.034	INFO	Traceupnp: isSSDPDiscovery found message to be valid under strict rules - strict: true	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:17.034	INFO	Traceupnp: SSDP packet from <IP_ADDRESS>:12892, body: M-SEARCH * HTTP/1.1
MX: 5
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: UPnP/1.0 DLNADOC/1.50 Kodi
Connection: close
Host: <IP_ADDRESS>:1900

com.bwssystems.HABridge.upnp.UpnpListener

11-04-2016 13:39:17.035	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2::upnp:rootdevice

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:17.035	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate2 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:17.035	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:17.035	INFO	Traceupnp: isSSDPDiscovery found message to be an M-SEARCH message.	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:17.035	INFO	Traceupnp: isSSDPDiscovery found message to be valid under strict rules - strict: true	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:17.035	INFO	Traceupnp: SSDP packet from <IP_ADDRESS>:12892, body: M-SEARCH * HTTP/1.1
MX: 5
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: UPnP/1.0 DLNADOC/1.50 Kodi
Connection: close
Host: <IP_ADDRESS>:1900

com.bwssystems.HABridge.upnp.UpnpListener

11-04-2016 13:39:17.035	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2::upnp:rootdevice

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:17.035	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate2 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:17.035	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:54.162	INFO	Traceupnp: isSSDPDiscovery found message to be an M-SEARCH message.	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:54.162	INFO	Traceupnp: isSSDPDiscovery found message to be valid under strict rules - strict: true	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:54.162	INFO	Traceupnp: SSDP packet from <IP_ADDRESS>:46165, body: M-SEARCH * HTTP/1.1
HOST: <IP_ADDRESS>:1900
MAN: "ssdp:discover"
MX: 2
ST: ssdp:all

com.bwssystems.HABridge.upnp.UpnpListener

11-04-2016 13:39:54.162	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2::upnp:rootdevice

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:54.162	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate2 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:39:54.163	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:10.208	INFO	Traceupnp: isSSDPDiscovery found message to be an M-SEARCH message.	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:10.209	INFO	Traceupnp: isSSDPDiscovery found message to be valid under strict rules - strict: true	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:10.209	INFO	Traceupnp: SSDP packet from <IP_ADDRESS>:12892, body: M-SEARCH * HTTP/1.1
MX: 5
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: UPnP/1.0 DLNADOC/1.50 Kodi
Connection: close
Host: <IP_ADDRESS>:1900

com.bwssystems.HABridge.upnp.UpnpListener

11-04-2016 13:40:10.209	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2::upnp:rootdevice

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:10.210	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate2 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:10.210	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:10.210	INFO	Traceupnp: isSSDPDiscovery found message to be an M-SEARCH message.	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:10.210	INFO	Traceupnp: isSSDPDiscovery found message to be valid under strict rules - strict: true	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:10.210	INFO	Traceupnp: SSDP packet from <IP_ADDRESS>:12892, body: M-SEARCH * HTTP/1.1
MX: 5
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: UPnP/1.0 DLNADOC/1.50 Kodi
Connection: close
Host: <IP_ADDRESS>:1900

com.bwssystems.HABridge.upnp.UpnpListener

11-04-2016 13:40:10.211	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2::upnp:rootdevice

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:10.211	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate2 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:10.211	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:54.174	INFO	Traceupnp: isSSDPDiscovery found message to be an M-SEARCH message.	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:54.175	INFO	Traceupnp: isSSDPDiscovery found message to be valid under strict rules - strict: true	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:54.175	INFO	Traceupnp: SSDP packet from <IP_ADDRESS>:46165, body: M-SEARCH * HTTP/1.1
HOST: <IP_ADDRESS>:1900
MAN: "ssdp:discover"
MX: 2
ST: ssdp:all

com.bwssystems.HABridge.upnp.UpnpListener

11-04-2016 13:40:54.175	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2::upnp:rootdevice

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:54.175	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate2 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:40:54.175	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:41:04.516	INFO	Traceupnp: isSSDPDiscovery found message to be an M-SEARCH message.	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:41:04.517	INFO	Traceupnp: isSSDPDiscovery found message to be valid under strict rules - strict: true	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:41:04.517	INFO	Traceupnp: SSDP packet from <IP_ADDRESS>:12892, body: M-SEARCH * HTTP/1.1
MX: 5
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: UPnP/1.0 DLNADOC/1.50 Kodi
Connection: close
Host: <IP_ADDRESS>:1900

com.bwssystems.HABridge.upnp.UpnpListener

11-04-2016 13:41:04.517	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2::upnp:rootdevice

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:41:04.517	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate2 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:41:04.517	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:41:04.518	INFO	Traceupnp: isSSDPDiscovery found message to be an M-SEARCH message.	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:41:04.518	INFO	Traceupnp: isSSDPDiscovery found message to be valid under strict rules - strict: true	com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:41:04.518	INFO	Traceupnp: SSDP packet from <IP_ADDRESS>:12892, body: M-SEARCH * HTTP/1.1
MX: 5
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: UPnP/1.0 DLNADOC/1.50 Kodi
Connection: close
Host: <IP_ADDRESS>:1900

com.bwssystems.HABridge.upnp.UpnpListener

11-04-2016 13:41:04.518	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2::upnp:rootdevice

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:41:04.518	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate2 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener
11-04-2016 13:41:04.518	INFO	Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:8085/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 6805CAFFFE0367E2
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-6805ca0367e2

com.bwssystems.HABridge.upnp.UpnpListener

Looks like someone got it working
https://www.reddit.com/r/googlehome/comments/5b0nvo/anybody_use_the_habridge_yet/

I believe that was the orig bridge not the ha

@robertw You still need to set the trace upnp flag and save the config
@Go3Team What is the ip of the google home?

hlog.txt
home ip <IP_ADDRESS>

Ok, try running the ha-bridge on port 80. Google may have hard coded that for the Philips Hue default.

moved to 80 no go times out looking

Turn This on too:
"setting DEBUG for com.bwssystems.HABridge.hue.HueMulator component. Changing this and then selecting the Update Log Levels button applies the new log settings."

hub.txt
set as per debug and reran pair hope i did it right i see alot of debug info????

In the logs tabs, do you see that setting set to debug when you select the "+"?

ok set log to debug tried again to find hub and omg hub found and paired here is the whole log  something is a bit hinky though response was fast but as i ran through it it slowed to a crawl and speed back up just fyi......

ok unpaired it and tried to repair no luck timed out i will keep trying ......

<IP_ADDRESS>

I spun up a fresh vm, running it on port 80.  I was able to pair it and successfully turned on and off the test lighting.  Now to add more lighting things.

Update it seems if echo is online and trying to pair Google home it fails remove echo from network set port 80 and all seems to work fine but if I put echo back online a try to discover will not find hb unless I reboot router the both units online and working very strange  any thoughts....

Now it worked for me. Upgraded from 3.1.0 to 3.2.1, and GHome picked it up

It doesn't appear to be the 3.2.1. I updated and still stuck at the push button to link screen. I've also put it on port 80, restarted everything multiple times without connecting. Anyone with any other ideas?

Now working great:
https://www.youtube.com/watch?v=e_tHWj8MGkQ
&
https://www.youtube.com/watch?v=LO8GbvaZroI

So port 80 is a requirement?

This is great news. Looks like the caveat is to take your echo offline before discvoery.

Make sure you pull skype or anything else off port 80. Wasted two hours trying to figure that out before it worked

I didn't see this mentioned but I had to give the java bin permission to run on port 80 in Ubuntu since it's a privileged port.
sudo setcap 'cap_net_bind_service=+ep' /usr/lib/jvm/java-8-oracle/jre/bin/java
I was able to pair successfully.

@bwssytems What do you mean by take your Echo offline before discovery? Is that if you already have HA-Bridge setup?

@VPsych Unplug it.... That is what another posted above to get it to pair.

great that this works. Will be updating my website as well.

Hey @robertw, how to tell the Google Home App to use a local request to connect to the HA Bridge? When I choose Home control -> Devices -> Add -> Philips Hue, it opens the browser with https://hue-adapter.appspot.com.

I tried adding Philips Hue under the "Home Control" tab in the Google Home app, but it was unable to pair. It takes me to https://hue-adapter.appspot.com. I used an older version of the app (1.20.9) as described in #544 and still wasn't able to pair. The HA bridge connects to my FIBARO Hub perfectly. Since the newer version of the bridge is default port 80, I doubt it's a port issue. Thank you.


html! Renders components in the wrong order.

Description
I'm submitting a bug report
Put your description here
Expected Results

html! {

                        <RegisterComponent: callback=|_| Msg::Login("Registration Successful!".into()), />
                        {"If you already have an account you may click here to login"}

                }

Renders :

 //My component
If you already have an account you may click here to login

....

Actual Results

html! {

                        <RegisterComponent: callback=|_| Msg::Login("Registration Successful!".into()), />
                        {"If you already have an account you may click here to login"}

}

Renders :

If you already have an account you may click here to login

 //My component

Context (Environment)

Rust: v1.29.0 (07-30)

yew: Master

target: wasm32-unknown-unknown

cargo-web: 0.6.12-0.6.14

browser Firefox/Chrome

I believe that this is a duplicate of https://github.com/DenisKolodin/yew/issues/310

Fixed in 0.7


fix:  LHN shows Hidden report with RBR

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/47976
PROPOSAL:  https://github.com/Expensify/App/issues/47976#issuecomment-2309326503
Tests

Go to workspace chat.
Submit an expense (any type).
Go offline.
Submit a distance expense with invalid waypoints (any random letters can be invalid waypoint).
Go to expense report.
Go online.
Dismiss the "Please select a valid waypoint" error on the expense report (not transaction thread).
Verify that: LHN will not show a "Hidden" report with RBR after dismissing the error on the expense report.

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Go to workspace chat.
Submit an expense (any type).
Go offline.
Submit a distance expense with invalid waypoints (any random letters can be invalid waypoint).
Go to expense report.
Go online.
Dismiss the "Please select a valid waypoint" error on the expense report (not transaction thread).
Verify that: LHN will not show a "Hidden" report with RBR after dismissing the error on the expense report.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/4ba292c9-6c09-4601-a051-1a22696c4a16

Android: mWeb Chrome

https://github.com/user-attachments/assets/0dc1feb8-4e47-4530-8342-2f56a0d94df6

iOS: Native

https://github.com/user-attachments/assets/e8a7b45a-b2dd-46cb-9d26-fda2ffc029f9

iOS: mWeb Safari

https://github.com/user-attachments/assets/2dc3c25c-f3b7-4815-9987-4e53e284f7b2

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/2376e308-0940-494d-9c35-eee4adf21bfb

MacOS: Desktop

https://github.com/user-attachments/assets/f29a6608-075f-4871-abf5-6530225be712

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

This fell through the cracks. reviewing now.

@nkdengineer I am able to reproduce this on mWeb, not consistently but i am able to reproduce it twice.
https://github.com/user-attachments/assets/75222acc-111d-4e3d-b5c4-e4a52ba41b71

@getusha i tried many times and can't reproduce this bug
https://github.com/user-attachments/assets/e4a4a1e9-13c0-4cf1-b0dc-1a43dc0c02a5

@getusha friendly bump

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Add badge and heading to highlight npe2 as preferred

This PR adds:

a badge to signify that this repo is deprecated.
adds emojis and test to highlight npe2 should be used
add a line to offset the top block from the existing README content

As a new contributor, this clarifies which plugin engine is preferred and actively maintained.

The CI error is unrelated to the PR and is due to Poetry config and isort.


logger is not defined

It seems something overwrites logger
Was trying example in test/Websockettest.html

Sorry, I can't reproduce the error. Can you please give a more detailed explaination? Is the issue still present in the latest version?

Sorry my bad
...in my implementation I renamed log to logger simply because variable log was just undefined after inclusion of logger.js. No idea why so I supposed it's a bug.


Right way to count cache size

I am trying to keep a count of how many times the __call__ method of a pytree is compiled and what's the size of the the cache. For a jitted function in pure jax, we can simply check the cache size by looking at f._cache_size(). Is there an equivalent way that we can apply to eqx.filter_jit?

Take a look at eqx.debug.assert_max_traces. You can probably use a similar implementation.

Cool. Thanks @patrick-kidger


Matrix multiplication

Write a program for multiplication of 2 * 2 matrices by accepting the elements from the user.

Swaroopa Dubal , SY ENTC
I would like to work on this issue, can you plz assign this issue to me??

I would like to Work on the Issue. Can you assign it to me?

Isha baviskar you can work on the issue
On Mon, Mar 20, 2023, 11:17 PM Isha Baviskar @.***>
wrote:

I would like to Work on the Issue. Can you assign it to me?
—
Reply to this email directly, view it on GitHub
https://github.com/Mozilla-Campus-Club-Cummins/Spring-of-Code/issues/1#issuecomment-1476678302,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6LPDMGSTR2UMOUBQSHWLFTW5CJ3VANCNFSM6AAAAAAV7IWNC4
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

Isha baviskar you can work on the issue
…
On Mon, Mar 20, 2023, 11:17 PM Isha Baviskar @.> wrote: I would like to Work on the Issue. Can you assign it to me? — Reply to this email directly, view it on GitHub <#1 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6LPDMGSTR2UMOUBQSHWLFTW5CJ3VANCNFSM6AAAAAAV7IWNC4 . You are receiving this because you authored the thread.Message ID: @. com>

Ok, Thank you!

I would like to Work on this Issue


Add network policy support to go-cfclient

It would be useful to be able to make network policy API calls using the go-cfclient. The resources would need to be added and a new client. I don't know if this should go into it's own package or even it's own separate library, but it seems as if adding it here would be easiest for consumers.
Here's a sample POC using the CF network policy API

It looks like we will need to bring this support in, as it is something that people are asking for from the terraform provider and it makes sense to bring it generally on the client so that it caters to a larger audience

Would this work: https://github.com/cloudfoundry/policy_client

If there's already a supported client then that seems like the way to go and we close this issue.


relationship rule span-mysql

Tentative MySQL relationship rule.
@naxhh I don't remember exactly the syntax for the lookup account

Tagging as do not merge since we have an internal task to track this work: https://issues.newrelic.com/browse/NR-146983


Round 3 Competition "Join" button

Currently when creating a "world", the user has the option to imput custom: Name, Size, Timer, Color Palette, Start Time, End Time.
For round 3 of the game, if a user want to create a world to join the round 3 competition, they will need to create a world with a specific Timer, Start Time, and End Time value.
This issue is to add a "Join Round 3" toggle button to the worlds creation screen, which when toggled disable/hide the inputs for Timer, Start Time, and End Time in the world creation form and show a hardcoded value indicating the specific Timer, start time, and end time for worlds that are a part of the competition. ( Say 5 seconds, Dec 6th, Jan 1st respectively for testing )
We can hardcode the values into the frontend for now, or if you'd like to put in extra effort, we can add them to one of the config files and query these values from the backend.
Make "Join Round 3" toggle default to true for now.

@b-j-roberts can I work on this?

@b-j-roberts can I be assigned to this?


updating the routes to show the html page

member's page now works
still need to have the habits submit to the right place

dao going to change back his test


Tower of Hanoi

This is a classic problem in C programming. It's a great way to learn recursion.
Please assign me this issue under Hacktoberfest 2024.

Please assign this to me @Kushal997-das

Hi there!
I am the Mentor of this project .
Although this repo is not part of Hacktoberfest 2024, we have some great alternatives for you. Welcome to SkillShow, a repository focused on skill enhancement!
Guidelines:
Please adhere to the existing guidelines.
No additional rules, thanks!
Check it out here: SkillShow.
Note: Start by creating an issue. Once it’s assigned to you, feel free to open a pull request (PR). Directly opening a PR will lead to an invalid label.
Looking forward to your contributions!


Euclidean distance not a good way to compare?

Hi,
I used a small subset of LFW faces and performed a detection (crop) before feed forwarding the images into the most recent model trained with WebFaces. Next i do a pairwise Euclidean distance of each embedding and generated the attached chart. What the chart says is that both similar and dissimilar faces occupy the same distance range. How would one use distance to determine if there is a match? I also tried a KNN on the embeddings and was given a 3% accuracy. Is alignment a necessity for FaceNet?
Thank you.

@jax79sg maybe the Euclidean distance is not a good way ,so how do you solve this problem?

alignment is necessary!

Hi @LCorleone,
Thanks for the reply. I had actually deployed this on Android but has yet to find a good way to align it on Android. Would you have any recommendations?

alignment is necessary!

Even alignment doesn't help much.


Investigate the use of tile38

From gitter: Tile38 is a geospatial database, spatial index, and realtime geofence (https://github.com/tidwall/tile38)
https://github.com/tidwall/tile38
Unsure how this will play with the current vue mapping lib, but on a quick glance this seems quite relevant for planning and displaying active missions.

Used this at work. Not useful for our use case. Only 2d data.
The only geo-time database I have seen in my search is https://www.geomesa.org/ but it's a Google scale tool.


why keep only one crop when use depth gt-aug?

Hi, I wonder why you only keep one image gtaug crop in nuscenes dataset, rather than 6 image crop corresponding to 6 image.

I have the same question.

好好想想，在绝大多数情况下，gt框也只能落在一张图片的视角下吧


include for html_head and rel=nofollow

Description

extract html head default tags to include (allows to override via new file in app templates/bundles/TablerBundle/templates/includes/html_head.html.twig`)
add rel=noindex.nofollow to prevnt public apps from showing up in search engines

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

Checklist

[x] I agree that this code will be published under the MIT license

are you sure about the default "robots" meta?
Le sam. 8 oct. 2022, 11:29, Kevin Papst @.***> a écrit :

@kevinpapst https://github.com/kevinpapst requested your review on: #122
https://github.com/kevinpapst/TablerBundle/pull/122 include for
html_head and rel=nofollow.
—
Reply to this email directly, view it on GitHub
https://github.com/kevinpapst/TablerBundle/pull/122#event-7547754573,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGA7DBVKJY52PWJ42AB6N33WCE5IFANCNFSM6AAAAAARAFYL3E
.
You are receiving this because your review was requested.Message ID:
@.***>

What do you mean by "sure"?
Obviously, otherwise I would not have added it 😁
I am sure that most people will use this bundle for internal apps and those should not appear in search engines.
Some companies like to link their internal tools from their homepage, so they can be found easier by employees.
And you can still override that tag if you want to. I just want the defaults to be strict.

OK for me then 👍
Le sam. 8 oct. 2022, 11:42, Kevin Papst @.***> a écrit :

What do you mean by "sure"?
Obviously, otherwise I would not have added it 😁
I am sure that most people will use this bundle for internal apps and
those should not appear in search engines.
Some companies like to link their internal tools from their homepage, so
they can be found easier by employees.
And you can still override that tag if you want to. I just want the
defaults to be strict.
—
Reply to this email directly, view it on GitHub
https://github.com/kevinpapst/TablerBundle/pull/122#issuecomment-1272279112,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGA7DBT6CNDZPZSDICYADW3WCE6XFANCNFSM6AAAAAARAFYL3E
.
You are receiving this because your review was requested.Message ID:
@.***>


Sanitize DPC: add IsL3Port missing in older DPCs

IsL3Port flag was introduced to NetworkPortConfig in 7.3.0
It is used to differentiate between L3 ports (with IP/DNS config)
and intermediate L2-only ports (bond slaves, VLAN parents, etc.).
Before 7.3.0, EVE didn't support L2-only adapters and all uplink ports
were L3 endpoints.
However, even with VLANs and bonds there has to be at least one L3
port (L2 adapters are only intermediates with L3 endpoint(s) at the top).
This is ensured and validated by parseSystemAdapterConfig from zedagent.
This means that to support upgrade from older EVE versions,
we can simply check if there is at least one L3 port, and if not, it means
that we are dealing with an older persisted/override DPC, where all
ports should be marked as L3.
As a separate commit, this PR includes some small improvements in logging
for DPC verification/reconciliation.

Is this causing some uprade failures in the tests?

Yes
Btw. one of the eden run failed again due to:
watchdog: BUG: soft lockup - CPU#0 stuck for 23s!

We have a tracker for this and it seems ever more relevant to investigate it.


[Arch Linux] No Discord RPC?

The RPC Doesn't seem to be working at all, I downloaded discord from my package manager (pacman) and not flatpak, so idrk why it's not working

Do you have any privacy settings on discord? Also is vscode flatpack. I use to use arch and it was working for me then. Is there any debug logs / what is the error you experiences?

Do you have any privacy settings on discord? Also is vscode flatpack. I use to use arch and it was working for me then. Is there any debug logs / what is the error you experiences?

vscode isn't flatpak to the extent of my knowledge, it was also downloaded from the AUR. And I do have some privacy settings on discord.
I'm not sure about the debug logs... But the error I'm getting is that  the rpc isn't working, it says "connected to Discord", but I'm truly not seeing the RPC that it's supposed to show.

Please check if you are using a non snap / flatpack version of VSCode, this extension does not work with snap / flatpak version of VSCode, feels free to re-open this issue if this is not the cause, i would love to help you out with this bug


[WIP] Move implicit initial value check to runtime

Purpose
Purpose of this PR is to relax var length array rules, by move implicit initial value check to runtime. This allows initializing variable length arrays without filler values. However, it will panic if we try to create a sparse array without filler values.
Fixes #15885
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

https://github.com/ballerina-platform/ballerina-spec/issues/216
https://github.com/ballerina-platform/ballerina-lang/issues/15885

@hasithaa, @rdhananjaya, @MaryamZi I've fixed the PR according to the above suggestions and sent a  new PR to ballerina-platform:jballerina [#16118]. Hence, closing this PR.


can not install

php artisan make:aktiv8me
[ReflectionException]
Method Kitano\Aktiv8me\Console\MakeEmailVerification::handle() does not exist

laravel version?

5.5

There have been some changes in the way Laravel handles artisan commands. Unfortunately, I haven't had the time to read the migration docs thoroughly and to test this package in 5.5 yet.
I'll merge a compatible version as soon as I have some time available.
Meanwhile, I would appreciate if you can open vendor/kitano/aktiv8me/src/Console/MakeEmailVerification.php and change line 115 from:
public function fire()
to:
public function handle()
Let me know if it sufficed. Please notice that this is NOT a solution, as it will be overwritten everytime you run composer.

it works ~

thanks :)
I will release a 5.5 compatible version as soon as possible.

thank you 👍


Update signal-hook to version 0.3.0

The dependency on version v0.1.16 of signal-hook makes this library
impossible to use in a project alongside signal-hook version v0.3.0.
This is caused by an arguably incorrect dependency from signal-hook
v0.1.16 on ~1.2 of signal-hook-registry (I think it should just depend
on ^1.2 instead), however it seemed more beneficial overall to upgrade
this crate's dependency instead.
Cargo.toml:
[package]
name = "test-project"
version = "0.1.0"

[dependencies]
async-process = "1.0.1"
signal-hook = "0.3.0"

Error message when running cargo build:
error: failed to select a version for `signal-hook-registry`.
    ... required by package `signal-hook v0.1.16`
    ... which is depended on by `async-process v1.0.1`
    ... which is depended on by `test-project v0.1.0 (/home/ooesili/scratch/test-project)`
versions that meet the requirements `~1.2` are: 1.2.2, 1.2.1, 1.2.0

all possible versions conflict with previously selected packages.

  previously selected package `signal-hook-registry v1.3.0`
    ... which is depended on by `signal-hook v0.3.0`
    ... which is depended on by `test-project v0.1.0 (/home/ooesili/scratch/test-project)`

failed to select a version for `signal-hook-registry` which could resolve this conflict

The dependency on version v0.1.16 of signal-hook makes this library
impossible to use in a project alongside signal-hook version v0.3.0.
This is caused by an arguably incorrect dependency from signal-hook
v0.1.16 on ~1.2 of signal-hook-registry (I think it should just depend
on ^1.2 instead), however it seemed more beneficial overall to upgrade
this crate's dependency instead.

This means crates that depend on signal-hook 0.3 is not available to the user if signal-hook 0.1 is included in the dependency graph. (The opposite is also true.)
This also means that updating this crate with this patch may cause a compile error with the crate that currently depends on signal-hook 0.1.
cc @vorner: Is this intentional?

If so, a document that notes that users cannot depend on the old version of signal-hook and the new version of signal-hook at the same time will be helpful.
If not so, how difficult is it to fix this? IIUC it needs to create the 0.1 branch and replace the ~ requirement with a ^ requirement in both 0.1 and master branch, but are there another (compatibility) issues I'm not aware?

Hello
No, this is not intentional. I've lived under the impression that ~1.2 meant „version 1, at least 1.2“, so 1.3 should have been OK. I even thought this was how cargo resolved it previously... Give me few hours and I'll fix it.

Can you try the crate resolution now? It should be fixed.
By the way, upgrading the dependency is probably a good idea anyway and the Signals abstraction might be more heavy-weight than necessary (how does it deal with it being blocking?) ‒ something like the pipe module might be more appropriate if you only need a wakeup from single signal and you can put something capable of proper async.

Thanks @vorner, my project builds now! The original issue that made me raise this PR is solved in my eyes. Merging this PR  would still be nice so that I only have a single version of signal-hook in my dependencies, but it's not critical. I'll leave that decision up to y'all. Let me know if you want me to test anything out.
[package]
name = "test-project"
version = "0.1.0"

[dependencies]
async-process = "1.0.1"
signal-hook = "0.3.1"

$ cargo tree
test-project v0.1.0 (/home/ooesili/scratch/test-project)
├── async-process v1.0.1
│   ├── async-io v1.3.1
│   │   ├── concurrent-queue v1.2.2
│   │   │   └── cache-padded v1.1.1
│   │   ├── fastrand v1.4.0
│   │   ├── futures-lite v1.11.3
│   │   │   ├── fastrand v1.4.0
│   │   │   ├── futures-core v0.3.8
│   │   │   ├── futures-io v0.3.8
│   │   │   ├── memchr v2.3.4
│   │   │   ├── parking v2.0.0
│   │   │   ├── pin-project-lite v0.2.0
│   │   │   └── waker-fn v1.1.0
│   │   ├── libc v0.2.81
│   │   ├── log v0.4.11
│   │   │   └── cfg-if v0.1.10
│   │   ├── nb-connect v1.0.2
│   │   │   └── libc v0.2.81
│   │   ├── once_cell v1.5.2
│   │   ├── parking v2.0.0
│   │   ├── polling v2.0.2
│   │   │   ├── cfg-if v0.1.10
│   │   │   ├── libc v0.2.81
│   │   │   └── log v0.4.11 (*)
│   │   ├── vec-arena v1.0.0
│   │   └── waker-fn v1.1.0
│   ├── cfg-if v0.1.10
│   ├── event-listener v2.5.1
│   ├── futures-lite v1.11.3 (*)
│   ├── once_cell v1.5.2
│   └── signal-hook v0.1.17
│       ├── libc v0.2.81
│       └── signal-hook-registry v1.3.0
│           └── libc v0.2.81
└── signal-hook v0.3.1
    ├── libc v0.2.81
    └── signal-hook-registry v1.3.0 (*)

@vorner: Thanks for the quick fix!

By the way, upgrading the dependency is probably a good idea anyway

I agree. (IMO it's almost always a good idea unless there is a compatibility issue or duplicate dependencies.)

and the Signals abstraction might be more heavy-weight than necessary (how does it deal with it being blocking?) ‒ something like the pipe module might be more appropriate if you only need a wakeup from single signal and you can put something capable of proper async.

AFAIK, async-process uses signal_hook to handle SIGNALS in the background. (it's outside of async context)
Also, signal_hook is relatively heavy in async-process' dependencies, but hopefully, parallel compile handles this well.


Permissions: has_permission() takes 3 positional arguments but 4 were given

I am getting this error after I updated the package
2017-06-01 02:16:22,002 - ERROR - worker - Error processing message with consumer faceoff_api.routing.APIDemultiplexer:
Traceback (most recent call last):
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels/worker.py", line 119, in run
    consumer(message, **kwargs)
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels/generic/base.py", line 32, in __init__
    self.dispatch(message, **kwargs)
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels/generic/base.py", line 70, in dispatch
    return self.get_handler(message, **kwargs)(message, **kwargs)
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels/generic/websockets.py", line 154, in raw_receive
    self.receive(self.decode_json(message['text']), **kwargs)
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels/generic/websockets.py", line 266, in receive
    consumer(self.message, **kwargs)
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels/binding/base.py", line 240, in consumer
    handler(message, **kwargs)
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels/sessions.py", line 78, in inner
    return func(*args, **kwargs)
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels/auth.py", line 42, in inner
    return func(message, *args, **kwargs)
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels/binding/websockets.py", line 90, in trigger_inbound
    super(WebsocketBinding, cls).trigger_inbound(message, **kwargs)
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels/binding/base.py", line 222, in trigger_inbound
    self.run_action(self.action, self.pk, self.data)
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels_api/bindings.py", line 145, in run_action
    if not self.has_permission(self.user, action, pk):
  File "/Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages/channels_api/bindings.py", line 111, in has_permission
    if not cls().has_permission(user, action, pk):
TypeError: has_permission() takes 3 positional arguments but 4 were given

Hi there, what version of channels are you using? Can you share a form of your binding class? Thanks

@linuxlewis First off thank you so much for this package! Second Thanks for the quick reply.
Channels version
 (faceoff_venv) ~/projects/faceoff/faceoff_api   channels_permissions ●  pip show channels
Name: channels
Version: 1.1.3
Summary: Brings event-driven capabilities to Django with a channel system. Django 1.8 and up only.
Home-page: http://github.com/django/channels
Author: Django Software Foundation
Author-email<EMAIL_ADDRESS>License: BSD
Location: /Users/coreytrombley/.envs/faceoff_venv/lib/python3.5/site-packages
Requires: asgiref, Django, daphne

Binding Class
Here is my bindings for my "Friendship" models
from channels_api.bindings import ResourceBinding
from channels_api.permissions import IsAuthenticated

from faceoff_api.permissions import CUserObjectPermission
from friendship.models import FriendshipRequest, Friend
from friendships.serializers import FriendRequestSerializer

class FriendBinding(ResourceBinding):
    model = Friend
    stream = 'friends'
    serializer_class = FriendRequestSerializer
    queryset = Friend.objects.all()

class FriendshipRequestBinding(ResourceBinding):
    model = FriendshipRequest
    stream = 'friendship-request'
    serializer_class = FriendRequestSerializer
    queryset = FriendshipRequest.objects.all()

Routing.py
from channels.generic.websockets import WebsocketDemultiplexer
from channels.routing import route_class
from channels.staticfiles import StaticFilesConsumer

from games.bindings import GameBinding
from notifications.bindings import NotificationBinding
from friendships.bindings import FriendBinding, FriendshipRequestBinding
from teams.bindings import TeamBinding, TeamRequestBinding

class APIDemultiplexer(WebsocketDemultiplexer):

    consumers = {
        'http.request': StaticFilesConsumer,
        'games': GameBinding.consumer,
        'notifications': NotificationBinding.consumer,
        'friends': FriendBinding.consumer,
        'friendship-request': FriendshipRequestBinding.consumer,
        'teams': TeamBinding.consumer,
        'team-requests': TeamRequestBinding.consumer,
    }

channel_routing = [
    route_class(APIDemultiplexer)
]

I would like to get your thoughts on how I could limit the responses based on the authed user. When I am sub'ed to friendship requests I get all created requests not just the ones pertaining to the authed user.

Can you post your settings or better yet can you reproduce in a test case?

To filter the create messages you will need to put the users in a group that is scoped to their user instead of the resource. This can be accomplished by implementing the method  _group_name(self, action, id=None) on your binding class to return a string unique to that resource and user. Here's a rough idea
from channels_api.bindings import ResourceBinding

class MyBinding(ResourceBinding):

     def _group_name(self, action, id=None):
           if action == "create":
                  return "{}-{}-{}".format(self.model_label, action, user_id)

Hi, I am getting the same error:
has_permission() takes 3 positional arguments but 4 were given
I think I have configured everything properly and I am unsure how to fix this error


Added podspec.

I have added a pod spec file so users could install though cocoa pods.
I have been using it so far with no errors.

Thanks @Burnsy for your PR!
As I haven't use podspec based RN dependency for a while now I don't quite understand how that setup should be made. What I know is that we have a podspec located under ios/ folder: https://github.com/kmagiera/react-native-gesture-handler/blob/master/ios/RNGestureHandler.podspec
Can you advice on if it should be placed there or somewhere else? Can you use that podspec instead of the one you submitted?
Also cc @itchingpixels who updated that other podspec a while ago in #186

I would recommend these three things that most other libraries do, I overlooked it as I did not see what I was looking for, the current one is fine but here are things that differ between them.

Most libraries normally have them in the base directories. (but having it in the iOS is also fine)
I used quite a few pod files and they normally follow the same naming scheem as the library name such as (  react-native-gesture-handler.podspec / react-native-blur.podspec etc) easier to find then also.
There is differences in the pod files, mine pulls more information from the packages.json file, but both are fine.

Here the current pod file and how to install it
  pod 'RNGestureHandler', :path => '../../node_modules/react-native-gesture-handler/ios'
Here the one I put forward that can be removed
  pod 'react-native-gesture-handler', :path => '../../node_modules/react-native-gesture-handler/'
Both will work fine, but the things I outlined are the reasons I missed it (1,2) and submitted my own.

Would placing the file in different location now or changing the pod file name will break builds for people who already rely on the existing podfile?
If so I'd prefer to keep the file at the same location and only add missing entries you mentioned. Then we can clean naming and location when getting closer to some major release

@kmagiera placing the podspec at the root of the repo makes it work out of the box with react-native link for people using CocoaPods.
i.e. for people already having a Podfile it will get added there.
And it it will be business as usual for people not using CocoaPods.

@kmagiera Surely, we can manually put podspec file into Podfile.
But like @jeanregisser pointed out placing the podspec would be a better idea.
for people already having a Podfile, now since there's no podspec file in the root of the repo
The react-native link command would keep link the project to the Libraries folder every time it runs. Which will create duplicate with Podfile.

Thanks for explaining @gongdao123 and @jeanregisser
I'm open to merging this PR. But since the podspec from this PR is different than the one we have under ios/RNGestureHandler.podspec can you please verify that the version from this PR works ok for you? Once you confirm I'll merge this and publish new minor release

@kmagiera I tried the PR and it does not work out of box.
So I created another one #366

Thanks @gongdao123
Closing this in favor of #366


--threads=cpp; init() can be template; GC reentrancy fixes; etc.

Adds a new thread mode based on C++ standard threads instead of pthreads. It's not quite as functional, so pthreads is preferable when available, but this should be more portable. I am looking at you, Windows.

I'm getting the following compile errors on Mac:
-------------------------------------------------------------------------------
Recompiling RogueC.cpp -> Programs/RogueC/macOS/roguec...
-------------------------------------------------------------------------------
mkdir -p Programs
c++ -Wall -std=gnu++11 -fno-strict-aliasing -Wno-invalid-offsetof -DDEFAULT_CXX="\"c++ -Wall -std=gnu++11 -fno-strict-aliasing -Wno-invalid-offsetof\"" Source/RogueC/Build/RogueC.cpp -o Programs/RogueC/macOS/roguec
Source/RogueC/Build/RogueC.cpp:12286:12: error: call to implicitly-deleted copy constructor of 'std::__1::atomic<RogueObject *>'
      auto singleton = ROGUE_GET_SINGLETON(type);
           ^           ~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/atomic:1068:7: note: copy constructor of 'atomic<RogueObject *>' is implicitly deleted because base
      class '__atomic_base<RogueObject *>' has a deleted copy constructor
    : public __atomic_base<_Tp*>
      ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/atomic:947:5: note: '__atomic_base' has been explicitly marked deleted here
    __atomic_base(const __atomic_base&) = delete;
    ^
Source/RogueC/Build/RogueC.cpp:142319:3: error: use of undeclared identifier 'ROGUE_THREAD_LOCALS_INIT'
  ROGUE_THREAD_LOCALS_INIT(RogueStringBuilder_work_bytes, RogueStringBuilder_work_bytes);
  ^
Source/RogueC/Build/RogueC.cpp:142325:3: error: use of undeclared identifier 'ROGUE_THREAD_LOCALS_DEINIT'
  ROGUE_THREAD_LOCALS_DEINIT(RogueStringBuilder_work_bytes, RogueStringBuilder_work_bytes);
  ^

I think this is a bootstrapping issue.


wrong illustration in 5.internal-document-search > internal deployment

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ ] bug report
- [ ] feature request
- [x ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

minor issue: in internal deployment section on 5.internal-document-search, it is illustrated that app-service-private-endpoint is on the sub-app-{resource token} subnet, but in the main.bicep file, it looks like that appServicePrivateEndopoint is using privateEndpointLocation for its location.
Expected/desired behavior

maybe it is more suitable for the illustration to put app-service-private-endpoint in the sub-private-endpoint-{resource token} subnet instead (or change the code, whichever is easier).

@richardvinc
Thanks for your report!
There was an error in the architecture diagram as you mentioned.
This issue fixed in PR #90.


feat: add transformer to set operation IDs to their tags

:tada: This PR is included in version 1.10.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Don't exit connect-to-testnet script if coda client status isn't ready yet

Checklist:

[ ] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[ ] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[ ] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules
[ ] Does this close issues? List them:

CI is happy, force merge so that we can get #6849 passing CI and finally land it.


Make checkpoint list re-use clearer in multi_item_checkpoint_list test

I want to fix these comments so they're clearer:
https://github.com/ZcashFoundation/zebra/blob/main/zebra-consensus/src/checkpoint.rs#L838

fwiw I feel like that comment is pretty clear as is, but maybe that's only because I have context...

It's already confused at least one person, so I'll improve it.


Add finish-args-unnecessary-xdg-data-access to jdFlatpakSnapshot

This is for some reason now needed for the --filesystem=xdg-data/flatpak:ro permission.

In constants.py you are directly using ~/.local/share/flatpak so why do you need that mounted inside the sandbox with xdg-data/flatpak? Shouldn't --filesystem=~/.local/share/flatpak:ro be enough? You are also calling flatpak on host.

In constants.py you are directly using ~/.local/share/flatpak

Looks like I forgot to change it to use the XDG Standard. Thanks for finding it. I will change this in a future Update, so I will need the Permission anyway.

You are also calling flatpak on host.

Yes, why is this a problem?

Yes, why is this a problem?

Not an issue, I was just confused.


Why is request_file required to get an attestation report

Hi there,
I'm trying to play around with the tool, and compare it with AMDESE/sev-guest, yet the documentation of the command snpguest report looks confusing. According to the README, User can pass 64 bytes of data in any file format into $REQUEST_FILE in order to use that data to request the attestation report. Alternatively, the user can use the --random flag to generate and use random data for request_data. It sounds optional in nature, and sev-guest-get-report does not require it. However, the command must be specified as snpguest report $ATT_REPORT_PATH $REQUEST_FILE [-v, --vmpl] $VMPL [-r, --random] [-p, --platform]. That means the user must provide a source of hash even they wish snpguest to generate random data for them. Is there any reason why this is needed?

Hi! The $REQUEST_FILE argument works two different ways, depending on if --random is specified or not:
--random is enabled: The 64 byte request data will be randomly generated and written to $REQUEST_FILE
--random is disabled: The 64 byte request data will be read from $REQUEST_FILE (nothing is written to $REQUEST_FILE in this scenario).

Hi @tylerfanelli, thanks for your response! However the next thing would be using the attestation report to get the VCEK. I first ran the command ./snpguest report $ATT_REPORT_PATH $REQUEST_FILE --random, then snpguest fetch vcek PEM Milan $CERTS_DIR $ATT_REPORT_PATH. It resulted in the following error
thread 'main' panicked at 'Failed to parse the certificate: ErrorStack([Error { code: 218529960, library: "asn1 encoding routines", function: "asn1_check_tlen", reason: "wrong tag", file: "crypto/asn1/tasn_dec.c", line: 1149 }, Error { code: 218595386, library: "asn1 encoding routines", function: "asn1_item_embed_d2i", reason: "nested asn1 error", file: "crypto/asn1/tasn_dec.c", line: 309, data: "Type=X509" }])', src/certs.rs:130:50
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Switching ENCODING from PEM to DER was working, however the same issue happens again when running snpguest verify attestation $CERTS_DIR $ATT_REPORT_PATH . Is there anything I missed?

It seems that the PEM decoding of the VCEK is having some problems. Does verify attestation also fail with Failed to parse the certificate?

Hi @tylerfanelli, is there a way to skip $REQUEST_FILE at all? I found the attestation report output is quite different from what I get from sev-guest-get-report. Everything such as chip ID, boot loader version, does not match what sev-guest-get-report $ATT_REPORT_PATH provides. Why is the difference?

sev-guest is for legacy SEV, this tool is for SEV-SNP. There are major differences between the two.

No I mean why attestation report is wrong with VirTEE, and why do I ever need a request data if I just want to get an attestation report?

It seems that the PEM decoding of the VCEK is having some problems. Does verify attestation also fail with Failed to parse the certificate?

Yes. But if I use the attestation report from sev-guest-get-report, it's working properly. I can use the attestation report from such tool to request DER version of the  VCEK from VirTEE, then use it to validate the cert chain and the attestation report. It's not the case if I use the attestation report from VirTEE instead

sev-guest is for legacy SEV, this tool is for SEV-SNP. There are major differences between the two.
No I mean why the content of the attestation report is wrong with VirTEE, and why do I ever need a request data if I just want to get an attestation report?

Hmm, maybe there's a problem in the attestation report's serialization.
@DGonzalezVillal can you take a look at this problem? It seems there's something wrong with the attestation report's format fetched from snpguest report. It should match that of sev-guest-get-report, no?

@tylerfanelli We ran a git bisect, and It looks like there was a change introduced in your hyper-v commit which we all missed during the review process.
It looks like the change switched from writing serialized binary data to the human-readable code.
https://github.com/virtee/snpguest/blob/245247eba7547c08038f49c7e3bb182423f25a46/src/report.rs#L132-L135

@cowbon Can you pull the updates merged into main and see if this fixes your issue?

Yes, it is working right now. But I would also recommend making request_data optional before closing the issue.

Yes, it is working right now. But I would also recommend making request_data optional before closing the issue.

The request_data isn't really an optional field. Although sev-guest does not require request_data, it still passes request data to the report request. The only difference is that sev-guest fills the request data with 0's if you don't pass any data in. With snpguest you're allowed to pass in random data if you don't want to pass your own data. We make you specify a file because we want you to know what data is being passed into the request. It works as an additional security check.

@cowbon like @DGonzalezVillal mentioned above, it is a required field as per the SEV-SNP ABI Specification (see Table 20).


[bug] Tauri 2.0 beta project generator fails with tauri commands due to invalid CLI version

Describe the bug
After having created a tauri 2.0 beta project for mobile, the tauri ios init command failed as per this issue
This was due to package.json dev dependency having tauri CLI set to 1.x. It works when updated to 2.x as demonstrated by this demo project
Reproduction
> bun tauri ios init
       Error [tauri_cli::helpers::config] `tauri.conf.json` error on `build`: Additional properties are not allowed ('devUrl', 'frontendDist' were unexpected)
       Error [tauri_cli::helpers::config] `tauri.conf.json` error: Additional properties are not allowed ('app', 'bundle', 'identifier', 'productName', 'version' were unexpected)

Expected behavior
tauri commands such as tauri ios init should work after generating a project using official starter guide with --beta option
Full tauri info output
[✔] Environment
    - OS: Mac OS 14.2.1 X64
    ✔ Xcode Command Line Tools: installed
    ✔ rustc: 1.76.0 (07dca489a 2024-02-04)
    ✔ cargo: 1.76.0 (c84b36747 2024-01-18)
    ✔ rustup: 1.27.0 (bbb9276d2 2024-03-08)
    ✔ Rust toolchain: stable-aarch64-apple-darwin (default)
    - node: 18.12.1
    - pnpm: 8.6.3
    - yarn: 1.22.19
    - npm: 8.19.2
    - bun: 1.0.30

[-] Packages
    - tauri [RUST]: 2.0.0-beta.11
    - tauri-build [RUST]: 2.0.0-beta.9
    - wry [RUST]: 0.37.0
    - tao [RUST]: 0.26.1
    - tauri-cli [RUST]: 1.5.11
    - @tauri-apps/api [NPM]: 2.0.0-beta.5
    - @tauri-apps/cli [NPM]: 2.0.0-beta.9

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist
    - devUrl: http://localhost:1420/
    - framework: Svelte
    - bundler: Vite

[-] iOS
    - Developer Teams: None

Stack trace
No response
Additional context
No response

Can you please describe your exact steps where you ended up with @tauri-apps/cli having 1.x version?

I might have done --alpha in my first attempt and then run again with --beta using the same project name and hence location, overwriting previous files, which could have messed things up I guess. I'll proceed to do a clean start with a new project name or location

None of what you tried should ever result in a package.json with 1.x version of the CLI even if you aborted.
I will close this issue for now but feel free to ping me if you still face the issue.

Now that I think about it, it may have been due to me being unable to follow the guide "to the letter", ie. the tauri command failed. Then I found a way to install the tauri CLI, but without specifying the version explicitly, initially. Then I finally managed to be able to run tauri (but with bunx I guess?) and then there was a mismatch as would be expected. Ideally, I guess the CLI could determine such a mismatch instead of simply failing on not being able to parse the tauri config files.


Cross-Compiling with mingw gives libzlib.lib, even though ZLIB_COMPAT is ON (expected libz.lib)

I'm trying to cross-compile zlib-ng for Windows using the provided toolchain while keeping zlib compatibility and found that the generated library files are all suffixed with lib. This breaks the expected compatibility with zlib, as the name should be libz, not libzlib. Below is my build command:
cmake -H. -Bbuild/build \
	-DCMAKE_TOOLCHAIN_FILE=./cmake/toolchain-mingw-x86_64.cmake \
	-DCMAKE_BUILD_TYPE=RELEASE -DZLIB_COMPAT=ON -DZLIB_ENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=ON \
	-DCMAKE_INSTALL_PREFIX=./build/distrib/
cmake --build build/build --target install
# <snip> .lib stuff for msvc requirements
# Why do i need to do this with ZLIB_COMPAT=ON?
cp ./build/distrib/lib/libzlib.dll.a ./build/distrib/lib/libz.dll.a

Note that the generated zlib.pc file also has the link command -lz, not -lzlib. This appears to be the culprit: https://github.com/zlib-ng/zlib-ng/blob/develop/CMakeLists.txt#L996-L1001

This should be resolved now in 2.0.4.

This problem still exists.
https://github.com/zlib-ng/zlib-ng/blob/92107a92d3cfb11cc464c24ef2a73c2d7d05d2ba/CMakeLists.txt#L956-L975
Windows + cygwin + build flag:

NOT DEFINED BUILD_SHARED_LIBS: #L958, libzlib
-DBUILD_SHARED_LIBS=ON: #L958, libzlib
-DBUILD_SHARED_LIBS=OFF: #L968 -> #L972, libz

When do we need zlib as OUTPUT_NAME?
Or maybe you forgot to remove the prefix lib.
The library prefix is defined by the following two variables, both with the default value of lib.

CMAKE_SHARED_LIBRARY_PREFIX
CMAKE_STATIC_LIBRARY_PREFIX

Targets can't have duplicate names... Windows doesn't use .a extension for static libraries.

cmake + cygwin may be buggy, cmake never sets the CYGWIN flag in my local build tests.
So I use different flags to get the following compilation product:

-DBUILD_SHARED_LIBS=ON: libzlib.dll.a + libzlib1.dll
-DBUILD_SHARED_LIBS=OFF: libz.a
not set: libzlib.dll.a + libz.a + libzlib1.dll

Windows doesn't use .a extension for static libraries.
Yes, Windows use .lib for static libraries.

It has to be fixed in cmake first... When zlib was released, cmake did support neither Cygwin or MinGW... This can be verified from cmake's own documentation when those defines were added to cmake's configuration step.

We can't ignore CYGWIN flag as it would break build when using Visual C++.

We can't ignore CYGWIN flag

Apologize for my poor English.

Not to remove the related if branch.
Let's focus on the shared library name issue.

Those two things are mutually inclusive... Supporting Cygwin, MinGW or even Visual C++ would require increasing the minimum required version for cmake way too high... That's why we still have nmake Makefiles for Visual C++.

Actually the master branch already supports compilation on Cygwin,
but there is something wrong with the name of the compiled product.
It's the same as the title of this issue

I'm just saying using cmake on Cygwin with ZLIB_COMPAT set is unsupported combination due to limits of cmake.


Update PWA manifest configuration

Minor updates to manifest.json:

add description
match background color with icon for splash screen consistency
allow orientation change on rotation, better tablet experience
Closes #4870

Closing in favour of 31b311c3c998ce7fbf6ed4d1a5885ab19910f024


Fix RemoveLast function

There is currently a method called removeLast that lives in /lib/removeLast.js.
It is incomplete and needs to be fixed!
Acceptance Criteria:

Running yarn test removeLast results in tests passing.

Please include the skeleton of a new method + an accompanying test for someone else to work on at the time of creating a pull request!

Hello! I'd like to take this one!

Awesome @alcar !! Go for it. Just be sure to include a skeleton method for someone else to work on. I'm going to apply the 'in progress' label to it. This reserves the Issue for 24 hours. Thank you!


Documentation issue on page "https://github.com/gardener/documentation/wiki/Architecture"

the architecture page didn't really show the architecture of the gardner. I think this should be updated

Page: https://github.com/gardener/documentation/wiki/Architecture
don't remove the link to the page. It's required for the processor

Please open this issue in the gardener repo as the page is a part of it
/close


Expose GLFW window focus callback via option

I needed a way to detect whether the window got in or out of focus in order to enable/disable notifications, re-check connections and other things, so I wanted to expose the GLFW SetFocusCallback method.
Please let me know if there is a better way of doing this or feel free to close the PR if you are not interested in merging something like this.
Thank you :)

I'm also interested in exposing window.SetDropCallback to allow drag-dropping so any ways to improve the way we expose GLFW callbacks would be appreciated.

Such feature are already exposed through GLFWPlugins

option.go
package main

import (
	"github.com/go-flutter-desktop/go-flutter"
	"github.com/go-flutter-desktop/go-flutter/plugin"
	"github.com/go-gl/glfw/v3.3/glfw"
)

var options = []flutter.Option{
	flutter.WindowInitialDimensions(400, 300),
	flutter.AddPlugin(&FocusCallback{}),
}

// FocusCallback is a plugin that makes moving the bordreless window possible
type FocusCallback struct {
	channel *plugin.MethodChannel
}

var _ flutter.Plugin = &FocusCallback{}     // compile-time type check
var _ flutter.PluginGLFW = &FocusCallback{} // compile-time type check
// FocusCallback struct must implement InitPlugin and InitPluginGLFW

// InitPlugin creates a MethodChannel for "samples.go-flutter.dev/draggable"
func (p *FocusCallback) InitPlugin(messenger plugin.BinaryMessenger) error {
	p.channel = plugin.NewMethodChannel(messenger, "samples.go-flutter.dev/focus", plugin.StandardMethodCodec{})
	return nil
}

// InitPluginGLFW is used to gain control over the glfw.Window
func (p *FocusCallback) InitPluginGLFW(window *glfw.Window) error {
	window.SetFocusCallback(func(_ *glfw.Window, focused bool) {
		p.channel.InvokeMethod("push/focus", map[interface{}]interface{}{
			"focused": focused,
		})
	})
	return nil
}

Another example for window.SetDropCallback:
option.go:
(golang []string needs to be converted to []interface{} more info here)
package main

import (
	"github.com/go-flutter-desktop/go-flutter"
	"github.com/go-flutter-desktop/go-flutter/plugin"
	"github.com/go-gl/glfw/v3.3/glfw"
)

var options = []flutter.Option{
	flutter.WindowInitialDimensions(400, 300),
	flutter.AddPlugin(&FocusCallback{}),
}

// FocusCallback is a plugin that makes moving the bordreless window possible
type FocusCallback struct {
	channel *plugin.MethodChannel
}

var _ flutter.Plugin = &FocusCallback{}     // compile-time type check
var _ flutter.PluginGLFW = &FocusCallback{} // compile-time type check
// FocusCallback struct must implement InitPlugin and InitPluginGLFW

// InitPlugin creates a MethodChannel for "samples.go-flutter.dev/draggable"
func (p *FocusCallback) InitPlugin(messenger plugin.BinaryMessenger) error {
	p.channel = plugin.NewMethodChannel(messenger, "samples.go-flutter.dev/glfw", plugin.StandardMethodCodec{})
	return nil
}

// InitPluginGLFW is used to gain control over the glfw.Window
func (p *FocusCallback) InitPluginGLFW(window *glfw.Window) error {
	window.SetFocusCallback(func(_ *glfw.Window, focused bool) {
		p.channel.InvokeMethod("push/focus", map[interface{}]interface{}{
			"focused": focused,
		})
	})
	window.SetDropCallback(func(_ *glfw.Window, names []string) {
		//converting a []string to a []interface{}
		y := make([]interface{}, len(names))
		for i, v := range names {
			y[i] = v
		}
		p.channel.InvokeMethod("push/drop", map[interface{}]interface{}{
			"drop": y,
		})
	})
	return nil
}

dart:
  const platform_channel_draggable =
      MethodChannel('samples.go-flutter.dev/glfw');
  platform_channel_draggable
      .setMethodCallHandler((MethodCall methodCall) async {
    if (methodCall.method == "push/focus") {
      print("Focused: " + methodCall.arguments["focused"].toString());
    }
    if (methodCall.method == "push/drop") {
      print("dropped: " + methodCall.arguments.toString());
    }
  });

@pchampio thank you, sorry I'm totally blind. :D


CAMEL-14008 Another try to add a connection pool to camel-as2

As CAMEL-14008 has two unsuccessfully closed pull requests, I'm adding a third one that will hopefully be accepted.
Description
I've fixed some issues with the other pull requests and made timeouts and pool size configurable via URL parameters.
Also the we now respect the connection keep-alive/close strategy from the server when releasing it back to the pool (that was for example an issue when sending multiple requests to the mendelson as2 test instance).
Also resolved a deprecation for Exchange.getOut().
Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[x] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.
[x] I formatted the code using mvn -Pformat,fastinstall install && mvn -Psourcecheck

OK, didn't know that ObjectHelper.notNull exitsts. I've committed the fix.

Did you replace all of Args  with ObjectHelper ?

Looks like I missed some..
When is Args.notNull to be used and when ObjectHelper.notNull?
Should I replace all Args.notNull in the project? Because most of them already existed before my change.
Or should validating via Args.notNull be used when assigning a method parameter to a class property and ObjectHelper.notNull for parameters that are not assigned?

Ah okay so if there are more Args then we should use Camel APIs instead as we do that in the other components.


Deprecated Library Carbon 1 to Carbon 2

Just downloaded trough Composer and it gives a warning about Carbon 1 being deprecated.
Doesn't seem to be a breaking issue.
However its something to notice.
Using version ^1.3 for eristemena/dialogflow-fulfillment-webhook-php
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
  - Installing kylekatarnls/update-helper (1.1.1): Downloading (100%)
  - Installing symfony/polyfill-mbstring (v1.11.0): Loading from cache
  - Installing symfony/translation (v3.4.28): Loading from cache
  - Installing nesbot/carbon (1.38.4): Downloading (100%)
  - Installing eristemena/dialogflow-fulfillment-webhook-php (1.3.0): Downloading (100%)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files
Carbon 1 is deprecated, see how to migrate to Carbon 2.
https://carbon.nesbot.com/docs/#api-carbon-2
    You can run './vendor/bin/upgrade-carbon' to get help in updating carbon and other frameworks and libraries that depend on it.

Greetings,
Freeman015

Fixed by a commit of @okaufmann
This issue can be closed.