kfp-api Unexpected error when parsing mysql relation

juju 2.9.42
kufeblow 1.7/beta
log output
juju debug-log -i kfp-api --replay
application-kfp-api: 22:00:51 INFO juju.cmd running jujud [2.9.42 7b871e782195bdac9c90f8a8f01723cc3e08ab92 gc go1.19.6]
application-kfp-api: 22:00:51 DEBUG juju.cmd   args: []string{"/var/lib/juju/tools/jujud", "caasoperator", "--application-name=kfp-api", "--debug"}
application-kfp-api: 22:00:51 DEBUG juju.agent read agent config, format "2.0"
application-kfp-api: 22:00:51 INFO juju.worker.upgradesteps upgrade steps for 2.9.42 have already been run.
application-kfp-api: 22:00:51 INFO juju.cmd.jujud caas operator application-kfp-api start (2.9.42 [gc])
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "clock" manifold worker started at 2023-03-14 21:00:51.511743414 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "caas-units-manager" manifold worker started at 2023-03-14 21:00:51.51183565 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "agent" manifold worker started at 2023-03-14 21:00:51.512044072 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "upgrade-steps-gate" manifold worker started at 2023-03-14 21:00:51.512071786 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.introspection introspection worker listening on "@jujud-application-kfp-api"
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "caas-units-manager" manifold worker completed successfully
application-kfp-api: 22:00:51 DEBUG juju.worker.introspection stats worker now serving
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "caas-units-manager" manifold worker started at 2023-03-14 21:00:51.521521723 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "upgrade-steps-flag" manifold worker started at 2023-03-14 21:00:51.522231749 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.apicaller connecting with old password
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "api-config-watcher" manifold worker started at 2023-03-14 21:00:51.525135582 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "migration-fortress" manifold worker started at 2023-03-14 21:00:51.570272844 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.api successfully dialed "wss://<IP_ADDRESS>:17070/model/1692ac0f-8e6b-4175-8857-0d0d5ec1a5d0/api"
application-kfp-api: 22:00:51 INFO juju.api cannot resolve "controller-service.controller-microk8s-localhost.svc.cluster.local": lookup controller-service.controller-microk8s-localhost.svc.cluster.local: operation was canceled
application-kfp-api: 22:00:51 INFO juju.api connection established to "wss://<IP_ADDRESS>:17070/model/1692ac0f-8e6b-4175-8857-0d0d5ec1a5d0/api"
application-kfp-api: 22:00:51 INFO juju.worker.apicaller [1692ac] "application-kfp-api" successfully connected to "<IP_ADDRESS>:17070"
application-kfp-api: 22:00:51 DEBUG juju.api RPC connection died
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "api-caller" manifold worker completed successfully
application-kfp-api: 22:00:51 DEBUG juju.worker.apicaller connecting with old password
application-kfp-api: 22:00:51 DEBUG juju.api successfully dialed "wss://<IP_ADDRESS>:17070/model/1692ac0f-8e6b-4175-8857-0d0d5ec1a5d0/api"
application-kfp-api: 22:00:51 INFO juju.api cannot resolve "controller-service.controller-microk8s-localhost.svc.cluster.local": lookup controller-service.controller-microk8s-localhost.svc.cluster.local: operation was canceled
application-kfp-api: 22:00:51 INFO juju.api connection established to "wss://<IP_ADDRESS>:17070/model/1692ac0f-8e6b-4175-8857-0d0d5ec1a5d0/api"
application-kfp-api: 22:00:51 INFO juju.worker.apicaller [1692ac] "application-kfp-api" successfully connected to "<IP_ADDRESS>:17070"
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "api-caller" manifold worker started at 2023-03-14 21:00:51.70848186 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "caas-units-manager" manifold worker completed successfully
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "migration-minion" manifold worker started at 2023-03-14 21:00:51.719900586 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "caas-units-manager" manifold worker started at 2023-03-14 21:00:51.719966534 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "log-sender" manifold worker started at 2023-03-14 21:00:51.719982993 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "upgrader" manifold worker started at 2023-03-14 21:00:51.721038456 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "upgrade-steps-runner" manifold worker started at 2023-03-14 21:00:51.721086815 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "upgrade-steps-runner" manifold worker completed successfully
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "migration-inactive-flag" manifold worker started at 2023-03-14 21:00:51.726103818 +0000 UTC
application-kfp-api: 22:00:51 INFO juju.worker.migrationminion migration phase is now: NONE
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "charm-dir" manifold worker started at 2023-03-14 21:00:51.747782635 +0000 UTC
application-kfp-api: 22:00:51 INFO juju.worker.caasupgrader abort check blocked until version event received
application-kfp-api: 22:00:51 DEBUG juju.worker.caasupgrader current agent binary version: 2.9.42
application-kfp-api: 22:00:51 INFO juju.worker.caasupgrader unblocking abort check
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "api-address-updater" manifold worker started at 2023-03-14 21:00:51.747940918 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.logger initial log config: "<root>=DEBUG"
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "proxy-config-updater" manifold worker started at 2023-03-14 21:00:51.748046426 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "logging-config-updater" manifold worker started at 2023-03-14 21:00:51.748095511 +0000 UTC
application-kfp-api: 22:00:51 INFO juju.worker.logger logger worker started
application-kfp-api: 22:00:51 DEBUG juju.worker.dependency "hook-retry-strategy" manifold worker started at 2023-03-14 21:00:51.757509974 +0000 UTC
application-kfp-api: 22:00:51 DEBUG juju.worker.proxyupdater applying in-process legacy proxy settings proxy.Settings{Http:"", Https:"", Ftp:"", NoProxy:"<IP_ADDRESS>,<IP_ADDRESS>,::1,controller-service.controller-microk8s-localhost.svc.cluster.local,localhost", AutoNoProxy:""}
application-kfp-api: 22:00:51 WARNING juju.worker.proxyupdater unable to set snap core settings [proxy.http= proxy.https= proxy.store=]: exec: "snap": executable file not found in $PATH, output: ""
application-kfp-api: 22:00:51 DEBUG juju.worker.proxyupdater new apt proxy settings proxy.Settings{Http:"", Https:"", Ftp:"", NoProxy:"<IP_ADDRESS>,::1,localhost", AutoNoProxy:""}
application-kfp-api: 22:00:51 DEBUG juju.worker.logger reconfiguring logging from "<root>=DEBUG" to "<root>=INFO"
application-kfp-api: 22:00:52 INFO juju.worker.caasoperator.charm downloading ch:amd64/focal/kfp-api-238 from API server
application-kfp-api: 22:00:52 INFO juju.downloader downloading from ch:amd64/focal/kfp-api-238
application-kfp-api: 22:00:52 INFO juju.downloader download complete ("ch:amd64/focal/kfp-api-238")
application-kfp-api: 22:00:52 INFO juju.downloader download verified ("ch:amd64/focal/kfp-api-238")
application-kfp-api: 22:01:04 INFO juju.worker.caasoperator operator "kfp-api" started
application-kfp-api: 22:01:04 INFO juju.worker.caasoperator.runner start "kfp-api/0"
application-kfp-api: 22:01:04 INFO juju.agent.tools ensure jujuc symlinks in /var/lib/juju/tools/unit-kfp-api-0
application-kfp-api: 22:01:04 INFO juju.worker.leadership kfp-api/0 promoted to leadership of kfp-api
application-kfp-api: 22:01:04 INFO juju.worker.caasoperator.uniter.kfp-api/0 unit "kfp-api/0" started
application-kfp-api: 22:01:04 INFO juju.worker.caasoperator.uniter.kfp-api/0 resuming charm install
application-kfp-api: 22:01:04 INFO juju.worker.caasoperator.uniter.kfp-api/0.charm downloading ch:amd64/focal/kfp-api-238 from API server
application-kfp-api: 22:01:04 INFO juju.downloader downloading from ch:amd64/focal/kfp-api-238
application-kfp-api: 22:01:04 INFO juju.downloader download complete ("ch:amd64/focal/kfp-api-238")
application-kfp-api: 22:01:05 INFO juju.downloader download verified ("ch:amd64/focal/kfp-api-238")
application-kfp-api: 22:01:14 INFO juju.worker.caasoperator.uniter.kfp-api/0 hooks are retried true
application-kfp-api: 22:01:14 INFO juju.worker.caasoperator.uniter.kfp-api/0 found queued "install" hook
application-kfp-api: 22:01:18 INFO unit.kfp-api/0.juju-log Running legacy hooks/install.
application-kfp-api: 22:01:26 WARNING unit.kfp-api/0.juju-log 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:01:40 INFO unit.kfp-api/0.juju-log BlockedStatus('Missing required relation for mysql')
application-kfp-api: 22:01:52 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "install" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:01:59 WARNING unit.kfp-api/0.juju-log kfp-api:17: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:02:09 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-api-relation-created" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:02:12 WARNING unit.kfp-api/0.juju-log object-storage:19: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:02:19 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "object-storage-relation-created" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:02:23 WARNING unit.kfp-api/0.juju-log kfp-viz:18: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:02:32 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-viz-relation-created" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:02:36 WARNING unit.kfp-api/0.juju-log kfp-api:16: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:02:43 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-api-relation-created" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:02:45 WARNING unit.kfp-api/0.juju-log mysql:15: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:02:52 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "mysql-relation-created" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:02:52 INFO juju.worker.caasoperator.uniter.kfp-api/0 found queued "leader-elected" hook
application-kfp-api: 22:02:54 WARNING unit.kfp-api/0.juju-log 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:02:57 ERROR unit.kfp-api/0.juju-log Encountered the following exception when parsing mysql relation: list index out of range
application-kfp-api: 22:02:58 INFO unit.kfp-api/0.juju-log BlockedStatus('Unexpected error when parsing mysql relation.  See logs')
application-kfp-api: 22:03:00 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "leader-elected" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:03 WARNING unit.kfp-api/0.juju-log 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:05 ERROR unit.kfp-api/0.juju-log Encountered the following exception when parsing mysql relation: list index out of range
application-kfp-api: 22:03:06 INFO unit.kfp-api/0.juju-log BlockedStatus('Unexpected error when parsing mysql relation.  See logs')
application-kfp-api: 22:03:09 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "config-changed" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:09 INFO juju.worker.caasoperator.uniter.kfp-api/0 found queued "start" hook
application-kfp-api: 22:03:10 INFO unit.kfp-api/0.juju-log Running legacy hooks/start.
application-kfp-api: 22:03:11 WARNING unit.kfp-api/0.juju-log 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:13 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "start" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:14 WARNING unit.kfp-api/0.juju-log kfp-api:16: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:18 ERROR unit.kfp-api/0.juju-log kfp-api:16: Encountered the following exception when parsing mysql relation: list index out of range
application-kfp-api: 22:03:18 INFO unit.kfp-api/0.juju-log kfp-api:16: BlockedStatus('Unexpected error when parsing mysql relation.  See logs')
application-kfp-api: 22:03:20 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-api-relation-changed" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:21 WARNING unit.kfp-api/0.juju-log object-storage:19: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:23 ERROR unit.kfp-api/0.juju-log object-storage:19: Encountered the following exception when parsing mysql relation: list index out of range
application-kfp-api: 22:03:23 INFO unit.kfp-api/0.juju-log object-storage:19: BlockedStatus('Unexpected error when parsing mysql relation.  See logs')
application-kfp-api: 22:03:24 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "object-storage-relation-changed" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:25 WARNING unit.kfp-api/0.juju-log kfp-api:17: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:27 ERROR unit.kfp-api/0.juju-log kfp-api:17: Encountered the following exception when parsing mysql relation: list index out of range
application-kfp-api: 22:03:27 INFO unit.kfp-api/0.juju-log kfp-api:17: BlockedStatus('Unexpected error when parsing mysql relation.  See logs')
application-kfp-api: 22:03:28 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-api-relation-changed" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:29 WARNING unit.kfp-api/0.juju-log object-storage:19: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:31 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "object-storage-relation-joined" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:31 WARNING unit.kfp-api/0.juju-log kfp-api:16: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:32 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-api-relation-joined" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:33 WARNING unit.kfp-api/0.juju-log kfp-api:16: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:34 ERROR unit.kfp-api/0.juju-log kfp-api:16: Encountered the following exception when parsing mysql relation: list index out of range
application-kfp-api: 22:03:34 INFO unit.kfp-api/0.juju-log kfp-api:16: BlockedStatus('Unexpected error when parsing mysql relation.  See logs')
application-kfp-api: 22:03:35 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-api-relation-changed" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:36 WARNING unit.kfp-api/0.juju-log kfp-api:17: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:37 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-api-relation-joined" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:38 WARNING unit.kfp-api/0.juju-log kfp-api:17: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:38 ERROR unit.kfp-api/0.juju-log kfp-api:17: Encountered the following exception when parsing mysql relation: list index out of range
application-kfp-api: 22:03:39 INFO unit.kfp-api/0.juju-log kfp-api:17: BlockedStatus('Unexpected error when parsing mysql relation.  See logs')
application-kfp-api: 22:03:40 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-api-relation-changed" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:40 WARNING unit.kfp-api/0.juju-log kfp-viz:18: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:41 ERROR unit.kfp-api/0.juju-log kfp-viz:18: Encountered the following exception when parsing mysql relation: list index out of range
application-kfp-api: 22:03:41 INFO unit.kfp-api/0.juju-log kfp-viz:18: BlockedStatus('Unexpected error when parsing mysql relation.  See logs')
application-kfp-api: 22:03:42 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-viz-relation-changed" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:43 WARNING unit.kfp-api/0.juju-log object-storage:19: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:43 ERROR unit.kfp-api/0.juju-log object-storage:19: Encountered the following exception when parsing mysql relation: list index out of range
application-kfp-api: 22:03:43 INFO unit.kfp-api/0.juju-log object-storage:19: BlockedStatus('Unexpected error when parsing mysql relation.  See logs')
application-kfp-api: 22:03:45 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "object-storage-relation-changed" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:45 WARNING unit.kfp-api/0.juju-log kfp-viz:18: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:46 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-viz-relation-joined" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:03:47 WARNING unit.kfp-api/0.juju-log kfp-viz:18: 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:03:48 ERROR unit.kfp-api/0.juju-log kfp-viz:18: Encountered the following exception when parsing mysql relation: list index out of range
application-kfp-api: 22:03:48 INFO unit.kfp-api/0.juju-log kfp-viz:18: BlockedStatus('Unexpected error when parsing mysql relation.  See logs')
application-kfp-api: 22:03:49 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "kfp-viz-relation-changed" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:05:55 WARNING unit.kfp-api/0.juju-log 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:05:56 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "update-status" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:10:26 WARNING unit.kfp-api/0.juju-log 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:10:27 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "update-status" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:15:14 WARNING unit.kfp-api/0.juju-log 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:15:17 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "update-status" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:19:50 WARNING unit.kfp-api/0.juju-log 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:19:51 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "update-status" hook (via hook dispatching script: dispatch)
application-kfp-api: 22:25:08 WARNING unit.kfp-api/0.juju-log 0 containers are present in metadata.yaml and refresh_event was not specified. Defaulting to update_status. Metrics IP may not be set in a timely fashion.
application-kfp-api: 22:25:09 INFO juju.worker.caasoperator.uniter.kfp-api/0.operation ran "update-status" hook (via hook dispatching script: dispatch)

the issue is that we suppress the error here:
https://github.com/canonical/kfp-operators/blob/17ee8b47528c782e4a871c76d53b3bff9504eb30/charms/kfp-api/src/charm.py#L304

ubuntu@kf:~$ juju show-unit kfp-api/0
kfp-api/0:
  opened-ports:
  - 8888/TCP
  - 8887/TCP
  charm: ch:amd64/focal/kfp-api-238
  leader: true
  life: alive
  relation-info:
  - relation-id: 15
    endpoint: mysql
    related-endpoint: mysql
    application-data: {}
    related-units:
      kfp-db/0:
        in-scope: true
        data:
          database: mlpipeline
          egress-subnets: <IP_ADDRESS>/32
          host: <IP_ADDRESS>
          ingress-address: <IP_ADDRESS>
          password: password
          port: "3306"
          private-address: <IP_ADDRESS>
          root_password: root
          user: mysql
  - relation-id: 16
    endpoint: kfp-api
    related-endpoint: kfp-api
    application-data:
      _supported_versions: '- v1'
    related-units:
      kfp-persistence/0:
        in-scope: true
        data: {}
  - relation-id: 17
    endpoint: kfp-api
    related-endpoint: kfp-api
    application-data:
      _supported_versions: |
        - v1
    related-units:
      kfp-ui/0:
        in-scope: true
        data:
          egress-subnets: <IP_ADDRESS>/32
          ingress-address: <IP_ADDRESS>
          private-address: <IP_ADDRESS>
  - relation-id: 18
    endpoint: kfp-viz
    related-endpoint: kfp-viz
    application-data:
      _supported_versions: |
        - v1
      data: |
        service-name: kfp-viz.kubeflow
        service-port: '8888'
    related-units:
      kfp-viz/0:
        in-scope: true
        data:
          egress-subnets: <IP_ADDRESS>/32
          ingress-address: <IP_ADDRESS>
          private-address: <IP_ADDRESS>
  - relation-id: 19
    endpoint: object-storage
    related-endpoint: object-storage
    application-data:
      _supported_versions: |
        - v1
      data: |
        access-key: minio
        namespace: kubeflow
        port: 9000
        secret-key: Z8Y2KM5CX1E043KKOOP0ZOKVEHWET5
        secure: false
        service: minio
    related-units:
      minio/0:
        in-scope: true
        data:
          egress-subnets: <IP_ADDRESS>/32
          ingress-address: <IP_ADDRESS>
          private-address: <IP_ADDRESS>
  provider-id: 62caa47d-46cd-43f8-b982-7adeef49156e
  address: <IP_ADDRESS>

Add check if the data part of the data-bag is filled if not go to Waiting state. Also check if the remote units has joined the relation. When the data bag will be populated it will trigger the relation_changed event. We may consider refactoring the check for the relation (inspiration).

@misohu raised that this same code snippet is used in other charms (at least mlflow, maybe others), so whatever fix we add here should be applied elsewhere too.  This might be a good place to encapsulate this method and put it into chisme, that way we can maintain it in one place

@beliaev-maksim I tried your workaround, the issue perists

@DnPlas try to enable it as the first step after checkout

@beliaev-maksim I think the issue is rather in the way we are retrieving data from the relation (mysql). I have pushed a draft patch in #176 so you can check it out.


Update the sys ruby layer to v8

This feels like it needs to be clearer

Clearer as in not obfuscated behind a release number? :sweat_smile: maybe the README should note this specifically?

I'm thinking that bringing the layer part into this repo so it all builds as one thing and using a single script to build all the containers and the layer.
For now though I'd just like to get this merged and see my app deploy for the first time.


chore: rename faq route to userdocs + redirect

@JackHamer09 the only thing worth mentioning: on the https://zkSync.io top menu still spells FAQ @JackHamer09

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


[Android] Text missing on Android Q

For an article page we render multiple paragraphs as Text components. Only some paragraphs don't show the last line on Android Q. We couldn't find any logic in which case the paragraph will fail to render everything.
React Native Environment Info:
System:
OS: macOS High Sierra 10.13.6
CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Memory: 3.45 GB / 32.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.13.0 - /usr/local/bin/node
Yarn: 1.15.2 - /usr/local/bin/yarn
npm: 6.4.1 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
Android SDK:
API Levels: 21, 23, 25, 26, 27, 28
Build Tools: 25.0.2, 27.0.3, 28.0.3
System Images: android-23 | Google APIs Intel x86 Atom, android-27 | Google Play Intel x86 Atom, android-28 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6<IP_ADDRESS>22156
Xcode: 10.1/10B61 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: 0.59.9 => 0.59.9
npmGlobalPackages:
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7
Steps To Reproduce

react-native init androidBug
Add script below to App.js

import {Platform, StyleSheet, Text, View, FlatList} from 'react-native';
import { LoremIpsum } from "lorem-ipsum";

const lorem = new LoremIpsum({
  sentencesPerParagraph: {
    max: 8,
    min: 4
  },
  wordsPerSentence: {
    max: 16,
    min: 4
  }
});

lorem.generateWords(1);
lorem.generateSentences(5);
lorem.generateParagraphs(7);

const instructions = Platform.select({
  ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
  android:
    'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu button for dev menu',
});

type Props = {};
export default class App extends Component<Props> {
  render() {
    return (
      <View style={styles.container}>
        <FlatList
          data={[
            {key: lorem.generateParagraphs(7)},
            {key: lorem.generateParagraphs(7)},
            {key: lorem.generateParagraphs(7)},
            {key: lorem.generateParagraphs(7)},
            {key: lorem.generateParagraphs(7)},
            {key: lorem.generateParagraphs(7)},
            {key: lorem.generateParagraphs(7)},
            {key: lorem.generateParagraphs(7)},
            {key: lorem.generateParagraphs(7)},
            {key: lorem.generateParagraphs(7)},
            {key: lorem.generateParagraphs(7)},
            {key: lorem.generateParagraphs(7)},
            ]}
          renderItem={({item}) => {
            console.log(item.key);
           return <Text style={{marginBottom:50, fontSize:18}}>{item.key}</Text>}
          }
        />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
})

open Pixel_2_XL_API_29 in emulator
react-native run-android

I would expect to see all text rendered completely, but some are cut off at the end (see images).

Same here, only happens when use api 29 and android 9, with some device for example pixel 2 XL.
Pixel 2 XL with android 8.1 and api 27 works fine.

Same issue here, it seems to be related to the default textBreakStrategy of a TextView that changed from highQuality into simple since Android Q.
In this screenshot I have Pixel 3, API 28 (Android O) on the left and Pixel 3, API 29 (Android Q) on the right, same textual input.
On the left the word "elektriciteitsfactuur" get's split while on the right that's not the case anymore, this causes an extra newline in the paragraph but the height measurement of the TextView seems to respond wrongly to this behaviour.

Same here for us
See screenshot: from left to right Oreo, Pie, Q and the three of them are rendering the same code
import * as React from 'react';
import { Text, View, StyleSheet } from 'react-native';
import DeviceInfo from 'react-native-device-info';

export default class App extends React.Component {
    render() {
        return (
            <View style={styles.container}>
                <Text style={styles.paragraph}>
                    {`Android ${DeviceInfo.getAPILevel()}`}
                </Text>
                <View style={{marginRight: 10}}>
                    <Text style={styles.paragraph}>
                        {'aaa aaa aaaaa aaa aaa aaaaaaaa aaa aaa aaaa aa a aaaa-aaaaaa, aaa aaa aaaaaaa aaaaa aaaaa aaaaaaaa-aaaa-aaaa-aaaaaa, aaaaaaaa-aa-aaaaaaa-aaaaa-aa-aaa aaa. aaa aaaaa. aaa aaaaa aaaaaaa a aaa\'a aaaa aa aaaaaaaaaaaa aaaa.'}
                    </Text>
                </View>
            </View>
        );
    }
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        paddingTop: 20,
        backgroundColor: '#ecf0f1',
        padding: 8,
    },
    paragraph: {
        fontSize: 15,
        textAlign: 'center',
    },
});

@enahum @tbress89 setting the textBreakStrategy prop for Text to simple solves the problem for us on Android 10

@enahum @tbress89 setting the textBreakStrategy prop for Text to simple solves the problem for us on Android 10

This works for me

@enahum @tbress89 setting the textBreakStrategy prop for Text to simple solves the problem for us on Android 10

how to use with react-native-render-html: https://github.com/archriss/react-native-render-html

Same issue. Is this a breaking change in Android 10? I cannot see anything related to this change on the release notes: https://source.android.com/setup/start/android-10-release

@enahum @tbress89 setting the textBreakStrategy prop for Text to simple solves the problem for us on Android 10

how to use with react-native-render-html: https://github.com/archriss/react-native-render-html??

You go to 'node_modules/react-native-render-html/src/HTML.js' then edit this file.
Change
if (Wrapper === Text) {
  renderersProps.allowFontScaling = allowFontScaling;
  renderersProps.selectable = textSelectable;
}

To
if (Wrapper === Text) {
  renderersProps.allowFontScaling = allowFontScaling;
  renderersProps.selectable = textSelectable;
  renderersProps.textBreakStrategy = "simple"; // Add this line
}

You should request to owner of this react-native-render-html to make a pull request

Any updates on this? It would be useful if there was a solution within React Native (or a way to patch RN), so that developers wouldn't have to manually set every single <Text> component to have the prop textBreakStrategy={'simple'} .

Doc is saying it's highQuality https://reactnative.dev/docs/text#textbreakstrategy

same problem here.. i don't know why if i wrote some text, it will be missing 1 word, if i type "New Series" the word "Series" is wil be gone, i've tried with textBreakStrategy
<View style={styles.left}>
    <Text style={styles.textSection} textBreakStrategy="simple">New Series</Text>
</View>

and the result is :

is'nt working any more, but i've tried with adjustsFontSizeToFit={true} and numberOfLines={1} props :
<View style={styles.left}>
    <Text style={styles.textSection} numberOfLines={1} adjustsFontSizeToFit>New Series</Text>
</View>

result :

its work perfectly, but i don't know is that best practice or not

Is this somehow related to https://github.com/facebook/react-native/issues/25481 ?

Is this somehow related to https://github.com/facebook/react-native/issues/25481 ?

unluckily can not reproduce in our latest master branch using example https://github.com/facebook/react-native/issues/25258#issuecomment-536457183
CLICK TO OPEN TESTS RESULTS

api 29


Partial polyfilling; supporting native inline, polyfilled immersive

There is a scenario where inline sessions are supported (all WebXR implementations must support this), but no immersive session (e.g. an AR headset?).
If and only if an immersive session is needed and unsupported, the polyfilled stereoscopic view (cardboard-vr-display) could be included and supported, but it's a bit of a strange scenario where sessions can either be native or polyfilled.
A similar scenario in the webvr-polyfill existed, where Firefox for Android supported WebVR, but provided no VRDisplays. In this case without intervention, the WebVR spec is providing a worse experience than not at all. The solution was to (optionally), if on mobile, query for VRDisplays if the API exists, and inject a polyfilled VRDisplay only if none exist.
This is a bit of a gray area and could introduce some complexity. Practically speaking, I'd like to wait until there's a device/browser combo that could cause this where the polyfill could produce a more desirable experience.

For WebXR, it's also required to support an inline session even when the device has no VR/AR capabilities as a matter of progressive enhancement. For example, https://storage.googleapis.com/chromium-webxr-samples/M76/magic-window.html uses WebXR and allows the user to view the scene on a regular screen and adjust the viewer pose with mouse or touch input even when no VR headset is connected and there are no orientation sensors, etc.
However, the current polyfill implementation does require a VR-capable device to be connected even to simply create an inline WebXR session.

However, the current polyfill implementation does require a VR-capable device to be connected even to simply create an inline WebXR session.

To clarify, VR-capable browsers/devices aren't necessary, but it is necessary to create the underlying "XRDevice" inside the polyfill, or that which controls the pose, which is possible to not have any (e.g. on desktop or cardboard: false). This seems like two separate issues:

Requesting an immersive session on a platform that only supports inline
Always supporting inline, polyfilled or otherwise

This issue can track the first, and IIUC, it sounds like you're describing the second issue; I'll file an issue for that with more info!


Unsupported mimeTypes can be removed from BrowserMimeType

The current browser mime type type allow's values that are not supported by MediaRecorder API
https://github.com/Flam3rboy/puppeteer-stream/blob/c55492edc9fc6421e095cb173eff4cf8359431bf/src/PuppeteerStream.ts#L118-L129
A list for supported mimetypes can be drawn from the Chromium source code
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/fast/mediarecorder/MediaRecorder-isTypeSupported.html

done in 8109e4e


[SPARK-30625][SQL] Support escape as third parameter of the like function

What changes were proposed in this pull request?
In the PR, I propose to transform the Like expression to TernaryExpression, and add third parameter escape. So, the like function will have feature parity with LIKE ... ESCAPE syntax supported by https://github.com/apache/spark/commit/187f3c17733f94aa3372caca355ad18ec1198f2f.
Why are the changes needed?
The like functions can be called with 2 or 3 parameters, and functionally equivalent to LIKE and LIKE ... ESCAPE SQL expressions.
Does this PR introduce any user-facing change?
Yes, before like fails with the exception:
spark-sql> SELECT like('_Apache Spark_', '__%Spark__', '_');
Error in query: Invalid number of arguments for function like. Expected: 2; Found: 3; line 1 pos 7

After:
spark-sql> SELECT like('_Apache Spark_', '__%Spark__', '_');
true

How was this patch tested?

Add new example for the like function which is checked by SQLQuerySuite
Run RegexpExpressionsSuite and ExpressionParserSuite.

Sorry for posting this review post-hoc, but I strongly believe this PR should be reverted and redesigned.
There are both design and implementation issues with this PR:

Design: in order to get to feature parity between the LIKE syntax and the like built-in function, the latter should only accept Char argument for the escapeChar parameter, instead of the full-blown Expression -- the LIKE syntax only accepts a literal anyway. c.f.
https://github.com/apache/spark/blob/a7451f44d234a946668deb99bed8fdbd4b8ebf8e/sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4#L748
By not changing the escapeChar parameter to an Expression, we can avoid most of the complexity (and bugs) in this PR.

Implementation. The shim of escapeChar = ... to adapt the Expression argument back to a Char is very bad. See this example:

Seq(("abc", "%bc", "/")).toDF("s", "p", "esc").selectExpr("like(s, p, esc)").explain(true)

and on a freshly built Apache Spark master, you'll get:
== Parsed Logical Plan ==
'Project [unresolvedalias('like('s, 'p, 'esc), Some(org.apache.spark.sql.Column$$Lambda$2247/782587714@5cf3924c))]
+- Project [_1#3 AS s#10, _2#4 AS p#11, _3#5 AS esc#12]
   +- LocalRelation [_1#3, _2#4, _3#5]

== Analyzed Logical Plan ==
s LIKE p: boolean
org.apache.spark.sql.AnalysisException: The 'escape' parameter must be a string literal.;
== Optimized Logical Plan ==
org.apache.spark.sql.AnalysisException: The 'escape' parameter must be a string literal.;
== Physical Plan ==
org.apache.spark.sql.AnalysisException: The 'escape' parameter must be a string literal.;

It doesn't look like supporting full-blown Expression for escapeChar is worth the cost here.

Which systems support this syntax?

Thank you for pointing that, @rednaxelafx .

According to the above comment, @MaxGekk is trying to revert this first from 3.0.0 and will target 3.1.0 later.


Coloring issues if stripes are applied after selection

Not sure about steps needed, but looks like stripe colors might override selection color, if striping is enabled after selection.

Before turning on striped option:

After:

Selection colors are different according the design specs.

I need to ask how they reproduced the issue, I was on that telco with phone, so I might have missed something.

Marked fixed to delivery 4


Wayland compatible

Currently requires X to run on Linux,
Wayland is set on becoming the new standard for most distros in the near future, would be nice if this tool could be compatible with it.

I think that's not possible, since wayland prevents sending kestrokes or mouse events to applications for security reasons.
And that is the main reason why I left Linux. If I can't control anything, what's the point.

@sixpetrov - I don't understand. Since when you can't control anything on Linux? You can use whatever desktop environment or window manager you want. Heck! If you don't like something you can fork them! Is there any other operating system that gives it's users that amount of control over it?
Wayland chose to prevent that functionality to increase user security - I guess I won't use it then, because I prefer the possibilities of desktop automation of X11.
But nobody will force any of us to use Wayland or X11 or whatever. Wayland is there to fix some problems with X.org, but X.org is not going to be banned or cast out or broken - they will exist together. And right now X11 is still the standard.

@unfa man I would really like to just use X11 and don't care about wayland. But my biggest concern is hardware. What if at some point nvidia stops supporting X11 completely? I don't have time to deal with open source drivers and I certainly don't wan't to use on-board graphics.
Next problem is gtk3 and new QT5, they don't support all automation tools. Sending keystrokes to these apps is limited. I use space as modifier, but that didn't work in new apps. So I was forced to use gtk2, qt4 or java apps.
Believe me I miss Linux every single day, but without all my tools I can't work properly...

This issue has been closed because it has been inactive for > 180 days.
You may reopen this issue if it has been closed in error.


python setup.py develop to work on pythran code?

Hi,
I'd like to work on pythran code and I try to use python setup.py develop. It would be nice to be able to use this instead of python setup.py install.
It does not work because g++ does not find header files.
I remember that I read something about this issue in the documentation but I can not find it anymore. Did I dream?
What is the recommend method to install pythran when one wants to modify its code?

I usually just do that:
> python setup.py build # once, only to copy boost files

then export PYTHONPATH=$PWD:$PYTHONPATH
The only things that changes is calling python -m pythran.run instead of pythran


too many .so files

When I compile my program without any imports many .so files are included that I do not need. For example audioop.so, libsqlite3.so.0, libx11.s0.6 and libtcl8.6.so. The more packages I have installed the more they become. So my program grows to 30Mb. But my compiled program itself only needs 7Mb.Can you fix that?

That's something that --recurse-stdlib might do, not sure though. But at the cost of increased compile times, and it has been known in the past to not work, maybe still does not.
For me, this is tied to caching. Once stdlib can be used in cached form, no problem at all, lets keep this open as a reminder.  But without analysis, I didn't want to support guess work.
Would you be interested in helping to get the XML streaming and restoration to work?

I would like to help.  I just need more detailed information about the problem.

Ok, then I am going to add in something that will write the XML to cache, and check if reading it back from there will give the same result for code generation. We could aim for that to be achieved for standard library, and then we could use it there as a starting point.
Right now, Nuitka has internally for the modules, a tree of things, where e.g. an assignment statement is a node, and these can be written to XML with --xml. And in theory, this can be read back too. But that is very incomplete and bit rotten, i.e. got out of sync with actual nodes. So if a operator node has a left and right argument, these are nodes too, any maybe it has an operator, and then the XML will contain that. You can look at that output right now, for any script. You get the idea maybe.
Basically, we would then make a cached mode, where it reads Python, optimizes a module, and then writes the XML files and generate C code from it. And then a by default inactive mode, where it reads from the cache if possible, invalidating it if the checksum mismatches, then generates the C code from it.
That will crash a lot, with missing arguments, no such argument, or generate things differently. I think sometimes, the XML output is loosing some information too. That's mostly only debugging work, and should be possible to point to a class constructor, and its getDetails functions.
I can implement the basic caching logic, and make it hidden, but tell you how to use it, and then you can give it a go, and try and get as many issues found and solved. Sometimes we also have had issues that this would find, e.g. when code like this happens:
try:
    something()
finally:
     another()

Then we already now, clone nodes at run time. And sometimes similar errors have occurred, e.g. because an argument name changed for the constructor, and that only got noticed when this kind of node was used in this way. Because the finally code gets put into several exit handlers, being duplicated, depending on what something() does, e.g. return or raise an exception both.

Of course, they do not have to do it immediately.
I will read the developer manual and think about it. When you are ready you can report it to me.

So, with 1.7 already, hello world on Windows is very small. The solution was a bit error prone though, since within stdlib, dependencies are not tracked. The option --recurse-stdlib however, with 1.8 is maybe obsolete. Nuitka now analyses all the modules, and handles some cases of bloat in stdlib.
Depending on how your Python is built, e.g. this is preventing inclusion of _socket.so unless something explicitely imports the socket module of course:
- module-name: 'email.utils'
  anti-bloat:
    - description: 'avoid socket module usage'
      replacements_plain:
        'import socket': ''
        'socket.': '__import__("socket").'
      no-auto-follow:
        'socket': "can break calls of 'email.utils.make_msgid()'"
      when: 'not has_builtin_module("_socket")'

On Windows, only unicodedata.pyd is included other than the Python DLL, I didn't check for Debian Python yet, how good we are there, but surely we can try and get lower there too. I think the unicodedata will be needed for idna encoding that a handful of packages could end up needing.
That Windows result is the same as 1.7, but with maybe a lot less bugs. Therefore we can now try and go further, lets see what Debian Python does.

This is from 1.8 right now on Ubuntu with 3.10:

python3.10 bin/nuitka tests/onefile/HelloWorldTest.py

HelloWorldTest.bin  _codecs_iso2022.so  _codecs_tw.so    _json.so            audioop.so     termios.so
_codecs_cn.so       _codecs_jp.so       _contextvars.so  _multibytecodec.so  libexpat.so.1
_codecs_hk.so       _codecs_kr.so       _crypt.so        _opcode.so          libz.so.1

That's also an improvement over 1.7 which added _dbm.so  and _opcode.so, so down by 2 just by proper analysis.

So, including json.tool is always garbage, it's binary runner script, so lets lower the bytecode burden there.

For zipapp, no need to include its runner, and calendar the same, and if both are not automatically included (I do not think extension modules expect them) then also argparse is gone which I guess it ought to be.

Removing json might be a bit painful for extension modules, I very much suspect it is wanted by quite a few, so that will cause disruption, until we got a proper message to raise for them if found missing at runtime.

From the looks of it, json package is prepared to work even without _json, so what I am going to do is to make a conditional no-auto-follow with a message that explains the downside, such that then people can know and override it. That message will be given for every Ubuntu Python compilation until we make json non-automatic as well.

So we now get this:

Nuitka-Plugins:INFO: anti-bloat: Not including '_json' automatically to avoid bloat, but this may cause: because of may slow down by using fallback implementation.

But only if an import is done. The default inclusion of json does not trigger inclusion of the dependency _json, so we are down by one, json_so is not included anymore.
The kind of config for this is also fairly easy:
- module-name: 'json.encoder'
  anti-bloat:
    - description: 'avoid _json module usage'
      no-auto-follow:
        '_json': "may slow down by using fallback implementation"
      when: 'not has_builtin_module("_json")'

The no-auto-follow is a recent addition, that I have yet to describe, and in a sense also to make it fully workable, such that in non-deployment mode, it helps finding issues with it at runtime like with the extension modules I mentioned.

The audioop module is just generally removed along with the audio modules using it from the list. Same for termios, I do not think that tty, pty and getpass are seeing a lot of usage. We could avoid termios in getpass since it has a fallback too, but I don't want to there now.

Also got rid of _opcode and _contextvars leaving us with ultimately only encoding related extension modules, that we do not want to mess with right now. Also Ubuntu Python has 2 DLLs the libpython pulls in. I wonder if static libpython could avoid these there as well somehow, but a non-Debian Python will be a better choice to achieve these things anyway.

Thanks for your report, this is fixed on the factory branch, which is a development version under rapid development. You can try it out by going here: https://nuitka.net/doc/factory.html
Feedback if this is working is very welcome, just please do not share plans of doing it, but rather confirmations or denials of it working.

So, I also did a bunch of work coming from macOS, that removes a few more modules there. But on that OS, things like math and random or struct cannot really be done like that. So we stop there. That conclused this activity for now.

So, _datetime being optional killed numpy, I have reverted that, but the change is on develop and will give much better results now for many environments. I am closing this early for lack of general relevance at this point, but I will as usual notify when the release was made.

Part of the 1.8 release I just made.


ValueError: Cannot feed value of shape (50, 256, 256, 3) for Tensor 'FID_Inception_Net/ExpandDims:0', which has shape '(1, ?, ?, 3)'

when I use the version tensorflow 1.1and1.2 ,the problem still exist.
ValueError: Cannot feed value of shape (50, 256, 256, 3) for Tensor 'FID_Inception_Net/ExpandDims:0', which has shape '(1, ?, ?, 3)'
I don't know the reason? Can you help me?

I use your fid and use my generating image of other gan，I know it is the batch size. when I change the batch size 50 to 1, it is ok. can you tell me why?

Hey! From your description it is difficult to assess the problem. I will try to reproduce the error.

Oh, I didn't read that you are using  version 1.1 and 1.2. We had to update our code to work with newer versions of tf, see issue #6.


nginx: 1.14.2 -> 1.16.0

Motivation for this change
Update nginxStable and nginxMainline to 1.16.0
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg build nginx
@GrahamcOfBorg test nginx
cc @Mic92

This pull request has been mentioned on Nix community. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/12

Add update nginxMainline to 1.16.0
@GrahamcOfBorg build nginx
@GrahamcOfBorg test nginx

Thanks! :+1:


Removed Google-Analytics-Plugin

Did this break the outgoing links checks?   See the header navigation items.

Resolved as part of #97


Engine locking issue

There is a race condition between engine_unlocked_init and engine_unlocked_finish in crypto/engine/eng_init.c.  The problem being that the global lock is given up to call finish() and taken again immediately afterwards.  If while the lock is released, the initialisation function gets called then an inconsistent situation is created.
engine_unlocked_finish is only called this way from ENGINE_finish further down the file.
Originally found as part of #4821

The solution is simple, for 1.1.0 and on; simply remove the unlock and lock around the finish call.
For 1.0.2, the situation is more difficult, as some of our engines use the same global lock, and other external ones may as well. At this point, I think we need to leave it as a known issue...

Hmmm?  I assumed you were talking about these lines in engine_unlocked_finish:
    if ((e->funct_ref == 0) && e->finish) {
        if (unlock_for_handlers)
            CRYPTO_THREAD_unlock(global_engine_lock);
        to_return = e->finish(e);
        if (unlock_for_handlers)
            CRYPTO_THREAD_write_lock(global_engine_lock);
        if (!to_return)
            return 0;
    }

The answer is very simple, for 1.1.0 and on, they should be reduced to:
    if ((e->funct_ref == 0) && e->finish) {
        to_return = e->finish(e);
        if (!to_return)
            return 0;
    }

The input parameter unlock_for_handlers can also be safely removed.
Why?  Because the engines don't have access to libcrypto locks, so there's no risk of getting an interlock here.

Okay, I'll remove the unlocking code as part of #4821 but keep it as a separate commit

Using the per engine instead of global lock to guard these bits can be done later.


Unable to generate the demo - Template Contoso Air

Error while creating release definition: Tasks with versions 'ARM Outputs:4.*' are not valid for deploy job 'Run on agent' in stage Stage 1.
AB#3937

@bharath199406 If you are running Demo Generator on a brand new organization, please enable the Third-party application access via OAuth under  Organization Setting >> Policies

Run the demo generator again and try to install the extension needed by the template.
Thanks


Support relative Layout values and view paths

I Have one controller action that return Views according to an input parameter like this code:
    [HttpGet]
    public async Task<IActionResult> RenderAViewInFoler(string foldername)
    {...

I can set the view path grammatically but my issue is setting the layout.cshtml and  @Html.Partial("_footer") that come from where ever RazorViewEngine returns.
I need to layout.cshtml and  @Html.Partial("_footer") come from the foldername path.
For temprory solution I set the path of those in View file like this:
@{      Layout = "~/foldername/_layout.cshtml"; }
FYI, in MVC 5 we could set full qualified name of layout for View(...) method.

Could you give an example of a "fully qualified name" that doesn't look like "~/foldername/_layout.cshtml"?

"~/folder1/_layout.cshtml"
"~/folder2/_layout.cshtml"
What all I needs is that when i set a path for a view like View("~/folder1/View1.cshtml)" then all partial view and the layout come from folder1 not come from Views/shared or others place that searched by RazorViewEngine.
It seam RazorViewEngine  doesn't run per request to a controller action.

tl;dr
The view and layout systems in MVC 5 and 6 are slightly different. You've found one of the differences -- Controller in MVC 6 lacks the View(string viewName, string masterName) overload available in MVC 5. In addition Layout values are not handled as relative paths as they are in MVC 5: They're either view names or fully-qualified paths (similar to masterName in the previous version).
We're going to look at adding relative path support throughout this system in MVC 6, providing the best of both words and avoiding odd searches that check for /Views/Home/About.cshtml.cshtml.
MVC 5 details
The MVC 5 lookup is approximately:

Find view page.
If viewName passed to View() is null, search ~/Views/{controller}/{action}.cshtml and ~/Views/Shared/{action}.cshtml. (Area lookup checks ~/Areas/{area}/Views/{controller}/{action}.cshtml and ~/Areas/{area}/Views/Shared/{action}.cshtml first. I ignore areas from here on.)
Otherwise if viewName is fully-qualified, use given path.
Otherwise, search ~/Views/{controller}/{viewName}.cshtml and ~/Views/Shared/{viewName}.cshtml. Note relative paths are not supported in this lookup.
Find all _ViewStart.cshtml files. Start in folder containing view page and move up directories until ~/Views/_ViewStart.cshtml is checked.
Find _Layout.cshtml file.
If masterName passed to View() is null, use Layout value (often set in _ViewStart.cshtml) instead.
1. If Layout is null, stop here. Do not search for a default.
2. If Layout is fully-qualified, use given path.
3. Otherwise, if Layout is a relative path e.g. _Layout.cshtml, it is evaluated when the property is set relative to to the setter. E.g. if ~/Views/{controller}/_ViewStart.cshtml contains Layout = "_Layout.cshtml";, use ~/Views/{controller}/_Layout.cshtml.
Otherwise if masterName is fully-qualified, use given path.
Otherwise, search '~/Views/{controller}/{masterName}.cshtml' and '~/Views/{controller}/{masterName}.cshtml'. Note relative paths are not supported in this lookup.
Find partial views referenced from view page. This follows the same steps as 1. Again relative paths are not supported.

MVC 6 details
The MVC 5 lookup is approximately:

Find view page.
If viewName passed to View() is null, search ~/Views/{controller}/{action}.cshtml and ~/Views/Shared/{action}.cshtml. (Area lookup checks ~/Areas/{area}/Views/{controller}/{action}.cshtml and ~/Areas/{area}/Views/Shared/{action}.cshtml first. I ignore areas from here on.)
Otherwise if viewName is fully-qualified, use given path.
Otherwise, search ~/Views/{controller}/{viewName}.cshtml and ~/Views/Shared/{viewName}.cshtml. Note relative paths are not supported in this lookup.
Find all _ViewStart.cshtml files. Start in folder containing view page and move up directories until ~/Views/_ViewStart.cshtml is checked.
Find _Layout.cshtml file.
If Layout is null, stop here. Do not search for a default.
If Layout is fully-qualified, use given path.
Otherwise, search '~/Views/{controller}/{Layout}.cshtml' and '~/Views/{controller}/{Layout}.cshtml'. Note relative paths are not supported in this lookup.
Find partial views referenced from view page. This follows the same steps as 1. Again relative paths are not supported.

Renaming to make our intended fix more clear. Fix will enable:
View("~/Views/Folder/View.cshtml");    # fully-qualified paths work as they do today
View("View");                          # bare view names work at they do today (are searched for)
View("Folder/View.cshtml");            # relative paths (no leading ~ or / but end with .cshtml) added

Layout = ""~/Views/Folder/_Layout.cshtml"; # fully-qualified paths work as they do today
Layout = "_Layout";                        # bare view names work as they do today
Layout = "Folder/_Layout.cshtml";          # relative paths added

As with MVC 5's Layout property, relative paths are relative to the executing file when the property is set. View("Folder/View.cshtml"); and @Html.PartialAsync("Folder/View.cshtml") are similar but there's no executing page in the first case so "Folder" is interpreted relative to the application root.
Note the last View() case is not supported in MVC 5 and is an enhancement for MVC 6. The current lack of Layout = "Folder/_Layout.cshtml"; support in MVC 6 is a regression.

When I have View("Folder/View.cshtml");
Is it possible to set Layout = "_Layout.cshtml"; in View.cshtml and framework search _Layout.cshtml in the Folder directory?
And the same scenario for partials views?

@mikeandersun once this bug is fixed, your example will find the view at ~/Folder/View.cshtml and the layout at ~/Folder/_Layout.cshtml. You'll get errors if either does not exist. Same for partials.

When I have View("Folder/View.cshtml"); :
What is important for me is haven't to set layout explicitly in the view and can set it like this :
Layout = "_Layout.cshtml";
The _Layout.cshtml file is in the Folder
Sorry if i repeat one thing more and more :)

Sorry, @mikeandersun what is your question? I have described how Layout = "_Layout.cshtml"; will work.

@dougbu it isn't a question ,only description of the scenario that I need.

Commits 08dd77d through 95b3d2c pushed individually :frowning:

@avanderhoorn note 3be6167 changes from the isPartial concept to isMainPage, updating property names in the Microsoft.AspNet.Mvc.ViewFound and ViewNotFound events to match.
Further the Microsoft.AspNet.Mvc.Razor.BeginInstrumentationContext and EndInstrumentationContext events no longer have isPartial properties. (The isMainPage concept is no longer relevant at the page level.)

I think being able to set the layout in the controller is important, especially in an enterprise setting and domain driven architectures. Here is an approach I use that is no longer supported.
I have an enterprise library of layouts (and other things that commonly live in shared). My project has business domain folders at the root. I created an attribute called "Layout". Now if I want to use a layout from the enterprise library I just decorate my controller with [Layout("~/Folder/_EnterpriseLayout.cshtml")] (I also have [LayoutPath("~/folder")], and [LayoutName("Name"). These are merged in a utility class.
Another (to me) extremely valuable use of this is managing domain landing pages like "Index". I use the attributes at the action level too. When you enter a domain I want all of the home/index pages to have a common look, but the other pages have their own look. If I decorate the Index action with these attributes I can have just the home page have its own layout and all of the other actions use a different layout. In my example the [Layout...] on the controller.
I have derived a custom WebViewPage ("ViewPage") that "overrides" the View(0 methods - like,  new ActionResult View(view, layout, model){ base.View(view, layout, model) and handles all of the attribute fetching and resolution. This provides the ability to work with enterprise libraries.

@dougbu Thanks for the heads up!


feat: add repulse to particles

Adds very simple repulse radius to particles #609
Something to consider: should there be an option to slow the particles down while inside each others' repulse radius and collide when they only touch each other? I.e. apply a force that pushes the particles apart from each other.

Could this PR also have the hacktoberfest-accepted label added to it or be approved? 😁

I've fixed the build in the latest commit done in the dev branch

I've tried adding this value on the default preset using the editor but it seems to have some problems, can you try it too?
Anyway, I see repulse options better like this:
repulse: {
    enable: true,
    radius: 20
}

I don't know if these options should be in move section with the similar attract options.

I've tried adding this value on the default preset using the editor but it seems to have some problems, can you try it too?

The default preset works for me with the config below (click on the expand triangle to the left). Notice the bounce: true in the move section. Funny how the default preset goes crazy with the bounce and repulseRadius enabled.
{
  "fpsLimit": 60,
  "particles": {
    "number": {
      "value": 80,
      "density": {
        "enable": true,
        "value_area": 800
      }
    },
    "color": {
      "value": "#ff0000",
      "animation": {
        "enable": true,
        "speed": 20,
        "sync": true
      }
    },
    "repulseRadius": 30,
    "shape": {
      "type": "circle",
      "stroke": {
        "width": 0
      },
      "polygon": {
        "nb_sides": 5
      },
      "image": {
        "src": "https://cdn.matteobruni.it/images/particles/github.svg",
        "width": 100,
        "height": 100
      }
    },
    "opacity": {
      "value": 0.5,
      "random": false,
      "anim": {
        "enable": false,
        "speed": 3,
        "opacity_min": 0.1,
        "sync": false
      }
    },
    "size": {
      "value": 3,
      "random": true,
      "anim": {
        "enable": false,
        "speed": 20,
        "size_min": 0.1,
        "sync": false
      }
    },
    "links": {
      "enable": true,
      "distance": 100,
      "color": "#ffffff",
      "opacity": 0.4,
      "width": 1
    },
    "move": {
      "enable": true,
      "bounce": true,
      "speed": 6,
      "direction": "none",
      "random": false,
      "straight": false,
      "out_mode": "out",
      "attract": {
        "enable": false,
        "rotateX": 600,
        "rotateY": 1200
      }
    }
  },
  "interactivity": {
    "detect_on": "canvas",
    "events": {
      "onhover": {
        "enable": true,
        "mode": "repulse"
      },
      "onclick": {
        "enable": true,
        "mode": "push"
      },
      "resize": true
    },
    "modes": {
      "grab": {
        "distance": 400,
        "line_linked": {
          "opacity": 1
        }
      },
      "bubble": {
        "distance": 400,
        "size": 40,
        "duration": 2,
        "opacity": 0.8
      },
      "repulse": {
        "distance": 200
      },
      "push": {
        "particles_nb": 4
      },
      "remove": {
        "particles_nb": 2
      }
    }
  },
  "retina_detect": true,
  "background": {
    "color": "#000000",
    "image": "",
    "position": "50% 50%",
    "repeat": "no-repeat",
    "size": "cover"
  }
}

Anyway, I see repulse options better like this:
repulse: {
    enable: true,
    radius: 20
}

I don't know if these options should be in move section with the similar attract options.

Why don't we implement it as a reverse attract? Best case it starts to work when attract is given a negative value.

I've tried adding this value on the default preset using the editor but it seems to have some problems, can you try it too?

The default preset works for me with the config below (click on the expand triangle to the left). Notice the "bounce: true" in the move section. Funny how the default preset goes crazy with the bounce and repulseRadius enabled.

Anyway, I see repulse options better like this:
repulse: {
    enable: true,
    radius: 20
}

I don't know if these options should be in move section with the similar attract options.

Why don't we implement it as a reverse attract? Best case it starts to work when attract is given a negative value.

The repulse mode should not be linked to any of the existing configurations, I moved attract away from links because it's easier to understand.
The negative attract is not the behavior I'd expect from the repulse particle mode, it should be something like the mouse repulse mode.

Ah, I see. The repulse fits very well into the collision mode, though. Or I'm seeing it difficult to implement without collisions. The repulsion logic should push the weaker particle to the edge of the repulsion radius if they come too close to each other. If the particles are equally strong, then they should not push each other. Instead, they should stay at a the repulsion radius distance from each other.

Ah, I see. The repulse fits very well into the collision mode, though. Or I'm seeing it difficult to implement without collisions. The repulsion logic should push the weaker particle to the edge of the repulsion radius if they come too close to each other. If the particles are equally strong, then they should not push each other. Instead, they should stay at a the repulsion radius distance from each other.

All particles should have the same strength, the particles are not colliding, they will be just pushed away to the repulse radius. If two particles are close their distance will be the (bigger, if they have it different) repulsion radius.
This mode will be used mainly for short distances (at least in samples) to avoid particles overlapping, colliding, or even linking (this could be an option).
The repulsion speed could be configurable like in the repulse mode of the mouse.

Okay, I updated the repulsion to work without collisions. The repulsion preset seems to work nicely now, the only thing that needs to be tweaked is the factor/duration/speed stuff. Do you have any opinion of how they should be implemented?

Okay, I updated the repulsion to work without collisions. The repulsion preset seems to work nicely now, the only thing that needs to be tweaked is the factor/duration/speed stuff. Do you have any opinion of how they should be implemented?

I think the same way of mouse repulse

Ah! I forgot, there are 3 conflicts, please merge from dev

Okay, dev is now merged in but I still found one bug. The repulse does not work when I decrease the window width a lot. The other presets seem to work while in a narrow window, though. Also, the multiline text preset isn't working for me.

Okay, dev is now merged in but I still found one bug. The repulse does not work when I decrease the window width a lot. The other presets seem to work while in a narrow window, though. Also, the multiline text preset isn't working for me.

Don't worry about those issues, they are known and I'm working on those

Cool! Thanks for all the support! Was a great opportunity to freshen up my typescript skills.


chore(ci): fix backport workflow is failing when PR is not yet merged

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

💚 All backports created successfully

Status
Branch
Result

✅
maintenance/v5.2

✅
maintenance/v5.3

Questions ?
Please refer to the Backport tool documentation and see the Github Action logs for details

💚 All backports created successfully

Status
Branch
Result

✅
maintenance/v5.2

✅
maintenance/v5.3

Questions ?
Please refer to the Backport tool documentation and see the Github Action logs for details


[WIP] Modernize project

:rotating_light: NOT READY TO MERGE :rotating_light:
This is a redux of #60, and has required some pretty major changes to the project and all of the classes. Here be dragons… :fire:
Tasks:

[x] Convert to XCTest and drop SenTestingKit support entirely
[x] Convert to modern Objective-C syntax
[x] Add dynamic framework targets
[x] Make expect the default over EXP_expect
[ ] Convert targets to use ARC

Notes:

The iOS target had to be lifted to iOS 5.1.1 from iOS 5.0 to support the standard iOS architectures.
I'm having the same problems as last time we tried to get the project onto ARC — some of the asynchronous tests are failing. Still looking into why, but happy for any advice/help.

:sparkles:

I'm inclined to push ARC support out into another PR. It's late here and I need some sleep, so I'll leave this in your capable hands, fellow amazing people!

OK, that works for me. If this greens. I'm merging.

Thanks!

Looks like Travis is still building on Mavericks (which is, I assume, why it's failing). I'll have to have a look in the morning — sorry mate!

I don't think Travis has Yosemite images available yet

osx_image: xcode61 or osx_image: xcode611 may do what you're after, but running the script test/support/objc-build-scripts/cibuild on a local clone of this PR doesn't pass for me.

Really? Man, it's green lights across the board here. What's failing for you?

Ugh, now I see it — Xcode is reporting failures as successes:
Test Suite 'CustomMatcherImplementationsTest' started at 2015-02-11 20:29:19 +0000
Test Case '-[CustomMatcherImplementationsTest test_CanUseCustomImplementationsOf_EXPMatcher]' started.
2015-02-12 07:29:19.117 xctest[73490:18438506] /Users/tonyarnold/Documents/Open Source Projects/expecta/test/CustomMatcherImplementationsTest.m:61 Match Failed.
Test Case '-[CustomMatcherImplementationsTest test_CanUseCustomImplementationsOf_EXPMatcher]' passed (0.001 seconds).
Test Suite 'CustomMatcherImplementationsTest' passed at 2015-02-11 20:29:19 +0000.
	 Executed 1 test, with 0 failures (0 unexpected) in 0.001 (0.001) seconds

Actually, those are OK, @orta would you mind posting the output of your local cibuild run for me please?

Oh this gets better!
** TEST SUCCEEDED: 123 passed, 0 failed, 0 errored, 123 total ** (35007 ms)
*** Cleaning Expecta-iOS...
The command "test/support/objc-build-scripts/cibuild" exited with 1.

lolwut

yeah, now nothing,
   specta   bb8be3b ✘ ✭  test/support/objc-build-scripts/cibuild                                                                                 18:40:56
*** Bootstrapping...
*** Checking dependencies...
*** The following schemes will be built:
   Expecta
   Expecta-iOS
   libExpecta
   libExpecta-iOS

*** Cleaning Expecta...

might have old xctool, updating.

I should probably update the build scripts too.

might be worth migrating to xcodebuild test

Cool, passing. You merge that PR. Merge it reeeeeeeal good and slow like.

:boom:


Failed to load the quick-editor package

1 - After last atom-material-ui update
Atom Version: 1.2.4
System: Unknown Windows Version
Thrown From: atom-material-ui package, v1.0.4
Stack Trace
Failed to load the quick-editor package
At .z-depth-1 is undefined in e:\VNabet\.atom\packages\atom-material-ui\styles\buttons.less:13:4

LessError: .z-depth-1 is undefined
  at e:\VNabet\.atom\packages\atom-material-ui\styles\buttons.less:13:4

Commands

Config
{
  "core": {
    "themes": [
      "atom-material-ui",
      "atom-dark-syntax"
    ],
    "openEmptyEditorOnStart": false
  }
}

Installed Packages
# User
.bin, vundefined
atom-material-ui, v1.0.4
atom-typescript, v7.12.1
autoclose-html, v0.19.0
autocomplete-paths, v1.0.2
color-picker, v2.0.13
docblockr, v0.7.3
emmet, v2.3.15
file-icons, v1.6.13
fonts, v1.0.0
highlight-selected, v0.11.1
linter, v1.11.3
linter-jshint, v1.2.1
linter-scss-lint, v2.4.0
minimap, v4.16.2
minimap-highlight-selected, v4.3.1
pigments, v0.19.1
project-manager, v2.6.5
Sublime-Style-Column-Selection, v1.3.0
tool-bar, v0.1.9
tool-bar-main, v0.0.8

# Dev
No dev packages

Had the same issue after updating atom-material-ui

That's an odd one. Looks like quick-editor is trying to read material-ui's buttons.less but it's not loading ui-mixins.less and ui-variables.less where does mixins and variables are defined. I'll fix it ASAP.

:+1:

I still have this error with last update :/

I had to uninstall the theme and reinstall it. Now it works fine.

@vnabet you were probably using one of the now unpublished 1.0.x versions. You just rolled back to 0.8.0 :smile:


Check that factory reset is correctly completed

Description:
The function factory_reset is used to reset a device to its initial state. However it didn't check the successful completion of the operation and instead immediately returned to the user
Fixes issue: #
Checklist:

[ ] Add tests for the change to show correct behavior.
[ ] Add or update relevant docs, code and examples.
[ ] Update CHANGELOG.rst with relevant information and add the issue number.
[ ] Add .. versionchanged:: where necessary.

I took the liberty to add the necessary surrounding things.
One open question is the default timeout. The default of wait_for_state_change (2 seconds) is a bit too short in my opinion. I changed it to the 30 seconds already used in the device settings module ... not sure if you have any objections there.
If you are fine with my adaptions, I can fixup my commit and we can merge it.


Add temp modal

About this change - Why

We now have multiple user journeys where user can cancel or submit forms and get redirected to a different page without warning / information why this is happening.
The Modal from Aquarium design system uses react-aria, which currently does not work in React18 StrictMode.
I added a temporary implementation to create a better usability for our users, especially since we're going to add more forms now. This gives us time to see if the mentioned issue is getting fixed or to decide how we want to continue with this.

About this change - What

uses dialog and aria-modal to support assistive technology
setFocus in Modal is removing focus and focusability from #root while setting focus on the h1 element (it's sometimes recommended to set the focus on the first / primary action, but that leads to confusing information for screen reader users as I think, so I oped for this)

setting it on h1 enables screen reader user (tested with VO) to access content in dialog easily

adds a event listener to enable user to close modal with ESC (when it's closable)

Notes about potential optimisation

the Modal css uses a z-index, since one element (FileInput) uses one already. It would be good to add defined variables and values for z-index, otherwise this could get messy in the future
the minWidth for the modal dialog element is an arbitrary value to prevent layout breaks. It does not use a valid TW value here, but I could not find a fitting one.
it would be ideal to test this with different screen reader, since they support the elements / aria attributes differently and it's possible that we could improve this for the other SR more.

The only problem I noticed was that position: absolute with 100vh results in the backdrop not extending beyond the initial viewport :o I think it's fixed by position:fixed.

🤦  yes, of course! Will update.

I don't know what is the right solution, but I'm pretty wary of the time and effort we devote to working around StrictMode :/
I mean, we're not working around StrictMode, we're working with it ^^

I don't think having to remove <StrictMode> during development in certain areas and adding it back in again before merging is a sustainable thing to do. That would mean that people checking out main and running coral locally would will have areas that are not working (bc strict mode is there) and would have somehow learn why and how do enabled them.
We can only remove StrictMode completely. Not sure if we want to do it. I think it can be quite useful to warn about potential problems.
And: Even using Modal from DS we have to add workarounds to provide more accessibility.  So we're getting 2 things for the price of one 😅  And the same was true for the workaround for tooltips!

@mathieu-anderson  updated the modal and example!
position: fixed is supported in all main browser, only exception is the current Opera mini but I think that's ok for us ^^


Test in ResourceAdapterIT.java fails

Hi a Test on Date failes runnining on Windows 10 with Glashfish 4 and jdk 8.x. The expected datetimestring is set to a language locale version, e.g. Dutch. the actual value is English.
Quick fix, works for me but probably not enough:
I added Locale.ENGLISH to the SimpleDateFormatConstructor.
String expectedTime =
new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy",Locale.ENGLISH).format(new Date());

dateproblem.patch.zip

Strange. Works on Ubuntu with Java 8 as it is. I added your patch. Thanks a lot!


[cgal] Fix incorrect warning message

The upstream uses a special cmake scripts to install Data/data:
https://github.com/CGAL/cgal/blob/master/Scripts/developer_scripts/cgal_create_release_with_cmake.cmake
https://github.com/CGAL/cgal/blob/master/Scripts/developer_scripts/create_new_release#L258
However, that isn't suitable for vcpkg.
After discussed with the upstream, use official patch https://github.com/CGAL/cgal/pull/6649 to fix this.
Fixes #23098.

This would still burn an absolute installation path into user binaries.
I think it needs to take a different direction.

Don't install data for demos/examples/tests/benchmarks (unless required for a feature). This is vcpkg policy.
Change the usage instruction to reflect the limited relevance, app.vcpkg doesn't define CGAL_DATA_DIR. If you need to use CGAL::data_file_path(),
read the function's documentation for how to set the data path for
your build or deployment environment.

Since cgal's cmake buildsystem is too complex, @maxGimeno can you please help me to disable all the tests and examples in this PR?

Since cgal's cmake buildsystem is too complex, @maxGimeno can you please help me to disable all the tests and examples in this PR?

@JackBoosY It is your new patch which installs the data.

@JackBoosY It is your new patch which installs the data.

Yep, I know that. However, cgal provides other options like BUILD_TESTING, BUILD_DOC and CGAL_BUILD_THREE_DOC.
And I found that the feature dependency qt5 is for the test project, which we should disabled.

@lrineau Also please help me in this PR.
Thanks.

This PR cannot be the solution. You do not want to install CGAL examples files in the default installation of CGAL. I will find another way.
Upstream bug: CGAL/cgal#6647

The solution, in my opinion, is the pull-request I have submitted upstream: CGAL/cgal#6649. Its patch is: https://patch-diff.githubusercontent.com/raw/CGAL/cgal/pull/6649.patch.

@lrineau Thank you very much! I will make your changes as a patch and apply it in this PR after your PR merged.

@lrineau So I just need to add a condition CGAL_TEST_SUITE ?

@lrineau So I just need to add a condition CGAL_TEST_SUITE ?

Right: that warning was supposed to be a warning for developers, and not for users. Users can still define CGAL_DATA_DIR manually if they have a .cpp file that uses the function CGAL::data_file_path.

Hello, from this link it seems to me that, to use data_file_path(), just add set(CGAL_DATA_DIR "D:/Programs/CGAL-5.6.1-examples/CGAL-5.6.1/data") and target_link_libraries(target PUBLIC CGAL::Data) in CMakeLists.txt ? But I tried this and it doesn't work.

@citystrawman If you set CGAL_DIR to D:/Programs/CGAL-5.6.1-examples/CGAL-5.6.1 then CGAL_DATA_DIR will be set automatically to D:/Programs/CGAL-5.6.1-examples/CGAL-5.6.1/data.
Is D:/Programs/CGAL-5.6.1-examples/CGAL-5.6.1 a full and virgin installation of CGAL-5.6.1?

@citystrawman If you set CGAL_DIR to D:/Programs/CGAL-5.6.1-examples/CGAL-5.6.1 then CGAL_DATA_DIR will be set automatically to D:/Programs/CGAL-5.6.1-examples/CGAL-5.6.1/data.
Is D:/Programs/CGAL-5.6.1-examples/CGAL-5.6.1 a full and virgin installation of CGAL-5.6.1?

Thank you. I just managed to figure it out:  First you need to setCGAL_DATA_DIRat very beginning, right after the project declaration; then you need to write target_link_libraries(target PRIVATE CGAL::CGAL CGAL::Data), it is case sensitive!!! after all these done, data_file_path() works fine.


examples: rtfm - rtic rename

I only tested pygamer, but change is very minimal for everything except samd21_mini

The CI script for metro_m0 needs updating with the rename.


Creation and Submission delay and status

This PR address issues #369 and #235

New setting to delay the publishing of a note (default is 0)
Cancelable toast when creating a new note
Inline Note status when replying to a note.

When replying, there is a (configurable) 5 seconds countdown before the note is sent

Once the note is sent, it tracks the pending requests via a loading bar

Once all request are settled, it shows a status summary, with the possibility to open a more detailed modal

The post status is displayed for 30 seconds, after which the actions buttons shows up like a normal note

This diff is wonky too. For some reason it's showing all my commits as your commits. I don't know what you're doing to make that happen, but can you reset/rebase to clean it up?

thunk module, it solves a lot of these problems much more cleanly. I'm not sure if we can integrate it cleanly yet, but see if you run into any problems with that.

Thunk is clean for NoteCreate
For the reply, it's feasible too but the thunk will have to travel across 3 or 4 components like this.
NoteReply > Note(parent) > Note(reply) > NotePending
When using the publish command it populates the $publishes store that I can then import directly in NotePending and check out the state of my pub.

EDIT: No I need a callback, the thunk status or result only resolved once the relay replied, I need either one more status (SENT?) or a callback.

Look for the Pending status, that gets set when the event is first sent to the relay. If pub.status is empty, that means the event hasn't been sent yet. You should also be able to pass delay to the thunk to handle the timeout.

For the reply, it's feasible too but the thunk will have to travel across 3 or 4 components like this.
NoteReply > Note(parent) > Note(reply) > NotePending

I'm actually hoping to migrate from publishes to thunks (which are a superset of the functionality), this issue is actually a step in that migration. We can just add these to engine/state so they're available from anywhere. If you want to go ahead and do that migration as part of this issue, and get rid of publishes entirely, go ahead, they're only used in a couple places.

ok I'll make the migration to thunk, almost there

Just finished the thunk migration and rebased from dev
Might be worth another look


Not find my dishwasher

As the main integration from HomeConnect stop working with my dishwasher, I found this integration. But this integration doesn't find my dishwasher. All of the other devices working as expected.

Please read the README and specifically the FAQ before opening issues. You should remove your appliance from the HC service and then add it back.

Das habe ich ja bereits getan, es funktioniert dennoch nicht.

Please describe exactly what you did to remove and add the dishwasher back to Home Connect. Do you see the it in your Home Connect mobile app when wifi is turned off on your phone?

Ok, I've had the same issue for the past couple of weeks. Suddently the dishwasher wasn't provided by the integration. I realized that the device was only controllable from Home Connect when connected to the local LAN. Removing the device and re-adding it to Home Connect did not resolve the issue. Only after power cycling the dishwasher, the cloud connection was re-established. I had restarted the device many times using the power button on the dishwasher, but this wasn't sufficient. I've sent a pull-request to update the FAQ to explicitly state that it needs to be a full power cycle and not just a restart by turning the device off and on.


RidgeRegression_StandardScaler_PolynomialFeatures

In this you have utilized power transformer but the details provide is about polynomial features.
make those required changes and a few line of description for data scaling technique