[Bug]: AutoDNS not working on MacOS Ventura 13.5.2

Have you already looked into this bug?

[x] I have checked the Troubleshooting Guide
[x] I have checked Release notes for potential migration steps
[x] I have checked existing issues for similar bugs
[x] I have googled this bug already with no luck
[ ] I have not done any of the above

(Optional) Error message
;; Got recursion not available from <IP_ADDRESS>, trying next server
What went wrong?
Trying to setup auto-DNS, have added <IP_ADDRESS> as first DNS-server, port 53 is propagated from docker container but get the following nslookup response:
MacBook-Pro-3(arm64):devilbox $ nslookup events-copy.dvl.to
;; Got recursion not available from <IP_ADDRESS>, trying next server
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

** server can't find events-copy.dvl.to: NXDOMAIN

Expected behaviour
That the build in DNS server answered "<IP_ADDRESS>" so that the virtual host inside the Devilbox docker container would be found.
How can we reproduce the bug?
Install according to instructions, enable auto DNS using HOST_PORT_BIND=53.
I can also ping the server from within devilbox:
<EMAIL_ADDRESS>in /shared/httpd $ ping events-copy.dvl.to
PING events-copy.dvl.to (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from localhost (<IP_ADDRESS>): icmp_seq=1 ttl=64 time=0.072 ms
64 bytes from localhost (<IP_ADDRESS>): icmp_seq=2 ttl=64 time=0.156 ms
^C
--- events-copy.dvl.to ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1013ms
rtt min/avg/max/mdev = 0.072/0.114/0.156/0.042 ms
<EMAIL_ADDRESS>in /shared/httpd $
logout
MacBook-Pro-3(arm64):devilbox $ ping events-copy.dvl.to
ping: cannot resolve events-copy.dvl.to: Unknown host

Host Operating System
MacOS
Host Platform (amd64, arm64, other)
arm64
(Linux only) Is SELinux enabled?
Not using Linux
Docker version
Docker version 24.0.6, build ed223bc820
Docker Compose version
Docker Compose version v2.21.0-desktop.1 - but I'm using "docker compose"
Devilbox version
Devilbox v3.0.0-beta-0.3 (2023-01-02)
Have you removed stopped containers before starting?
Yes
Have you pulled latest Docker images before starting?
Yes
Devilbox start command
docker compose up -d php mysql httpd
Config: .env file
###
###  ---------------------------------------------------
###  D E V I L B O X   R U N - T I M E   S E T T I N G S
###  ---------------------------------------------------
###
###  All the following settings are applied during
###  $ docker-compose up
###
###  No need to rebuild any docker images!
###
###  IMPORTANT:
###  ----------
###  When changing any values ensure to stop, rm and restart:
###  $ docker-compose stop
###  $ docker-compose rm -f
###  $ docker-compose up
###
###  NOTE:
###  -----
###  For you own custom variables, scroll to the bottom
###

# The following line will disable any shellcheck warnings throughout this file
# shellcheck disable=SC2034,SC2125

###
### Show all executed commands in each
### docker image during docker-compose up?
###
### 0: Errors
### 1: Errors, Warnings
### 2: Errors, Warnings, Infos  (Recommended)
### 3: Errors, Warnings, Infos, Debug
### 4: Errors, Warnings, Infos, Debug, Trace
DEBUG_ENTRYPOINT=2

###
### Log to file or Docker logs.
###
### Logging to file means log files are available under log/
### on your host operating system.
### Logging to Docker logs means log files are streamed to
### stdout and stderr.
###
### 1: Log to Docker logs
### 0: Log to file
###
DOCKER_LOGS=0

###
### Relative or absolute path to the devilbox repository.
### (Used as a prefix for all mount paths)
### There is no need to change this.
###
### The only exception is for OSX users wanting to use NFS
### mounts instead of Filesystem mounts due to degraded performance
### on OSX.
###
### Note: When changing this variable you must re-create the container.
###       Simply remove it, it will be auto-created during the next start:
###
### $ docker-compose rm -f
###
DEVILBOX_PATH=.

###
### At what IP address should the docker services listen
### on the Host computer?
###
### The specified default should be fine for Linux and OSX (<IP_ADDRESS>:).
### If you are on windows, you will probably have to change
### it to the IP address of the docker machine.
###
### a.) Leave blank, to listen on all interfaces (no trailing colon ':')
###    LOCAL_LISTEN_ADDR=
### b.) If an IP is specified, note the trailing colon ':'
###    LOCAL_LISTEN_ADDR=<IP_ADDRESS>:
###
LOCAL_LISTEN_ADDR=

###
### This is the domain suffix your projects will be made available
### with mass-virtual-hosting.
### It is also required for the internal DNS server to be setup.
###
### Note: In addition to period or dot character ('.'), only ALPHA ([a-zA-Z]+) characters are supported.
###       Mac users should not use the .local TLD, as this will not resolve properly due Apple's
###       use of Multicast DNS.
###
### Note: If you use 'dvl.to' then there is no need for additional DNS as this always points
###       to <IP_ADDRESS> by default.
###
### Example:
###   TLD_SUFFIX=loc
### Makes your project available under <project>.loc
###
### Example:
###   TLD_SUFFIX=local
### Makes your project available under <project>.local
###
TLD_SUFFIX=dvl.to

###
### Optional DNS configuration
### Allows you to add extra DNS records (above the wildcard entry)
### Useful if your host computer run other Docker services that you want to connect to or reach
### from within the Devilbox network by a custom hostname.
###
### Format:
### -------
### Resolve any custom defined hostname to an IP address (useable inside container and host os)
###     EXTRA_HOSTS=<hostname>=<ip>[,<hostname>=<ip>]
###
### Resolve any custom defined hostname to whatever IP address a CNAME resolves to
### (Useable inside the container and host OS).
### Note: CNAME must be resolvable by Google DNS
###     EXTRA_HOSTS=<hostname>=<CNAME>[,<hostname>=<CNAME>]
###
### Examples:
### ---------
### EXTRA_HOSTS=hostname.loc=<IP_ADDRESS>
### EXTRA_HOSTS=host.loc=<IP_ADDRESS>,host.example.org=<IP_ADDRESS>
EXTRA_HOSTS=

###
### Set your user id and group id
###
### This should be changed to the value of your local
### users uid and gid
###
### Type `id` on the terminal to find out your values
###
NEW_UID=501
NEW_GID=20

###
### Timezone for PHP Docker container (system and php.ini)
###
TIMEZONE=UTC

################################################################################
###
### INTRANET SETTINGS
###
################################################################################

###
### TLD_SUFFIX domains are checked if they are set in the
### host computer /etc/hosts or available via attached DNS server.
### Timeout is done on vhosts.php (intranet) via ajax calls.
### In order to keep performance, set this to a low value.
### DNS checks might not succeed in time on slow machines.
### If DNS is valid, but timeout is expired, set this to a higher value.
###
### DNS_CHECK_TIMEOUT value is how many seconds to time out
### Default is to timeout after 1 second (DNS_CHECK_TIMEOUT=1)
###
DNS_CHECK_TIMEOUT=1

###
### Devilbox UI SSL Certificate generation
###
### When using SSL each certificate requires names for which it is responsible:
### Common Name as well as alternative names.
###
### Specify comma separated hostnames below by which you want to access the Devilbox.
### Those hostnames will be included in the SSL certificate for the Devilbox intranet.
### This has nothing to do for SSL certificates for projects, it is just for the intranet
### itself.
###
DEVILBOX_UI_SSL_CN=localhost,*.localhost,devilbox,*.devilbox,httpd

###
### Devilbox UI Password protection enable/disable (1/0)
###
### Set DEVILBOX_UI_PROTECT to 1 in order to password protect the
### intranet.
###
### Example:
###   DEVILBOX_UI_PROTECT=1
###   DEVILBOX_UI_PROTECT=0
###
DEVILBOX_UI_PROTECT=0

###
### Devilbox UI Password
###
### When DEVILBOX_UI_PROTECT=1, use the following password
### to log in. The password can always be changed.
### When changing the password, make sure to restart your
### PHP container.
###
### Example:
###   DEVILBOX_UI_PASSWORD=my-very-secure-password
###   DEVILBOX_UI_PASSWORD=Some pass with spaces
###
### The default username is 'devilbox'
###
DEVILBOX_UI_PASSWORD=password

###
### Enable the Devilbox Intranet?
###
### Example:
###   DEVILBOX_UI_ENABLE=1
###   DEVILBOX_UI_ENABLE=0
###
DEVILBOX_UI_ENABLE=1

###
### Automatically be logged in into phpMyAdmin
###
### Example:
###   DEVILBOX_VENDOR_PHPMYADMIN_AUTOLOGIN=1
###   DEVILBOX_VENDOR_PHPMYADMIN_AUTOLOGIN=0
###
DEVILBOX_VENDOR_PHPMYADMIN_AUTOLOGIN=1

###
### Automatically be logged in into phpPgAdmin
###
### Example:
###   DEVILBOX_VENDOR_PHPPGADMIN_AUTOLOGIN=1
###   DEVILBOX_VENDOR_PHPPGADMIN_AUTOLOGIN=0
###
DEVILBOX_VENDOR_PHPPGADMIN_AUTOLOGIN=1

###
### HTTPD Supvervisord management
###
DEVILBOX_HTTPD_MGMT_USER=supervisord
DEVILBOX_HTTPD_MGMT_PASS=mypassword

################################################################################
###
### 1. Choose Images (Version)
###
################################################################################

###
### You can choose any combination of httpd, mysql, postgresql or php.
### Each of them are fully compatible between one another.
###

###
### 1.1 Choose PHP Server Image
###
### Note: PHP 5.2 is not officially supported. Intranet won't work (due to lack of namespace support).
###       PHP 5.2 only works with Apache 2.4, Nginx stable and Nginx mainline.
###       Use at your own risk.
###
#PHP_SERVER=5.2
#PHP_SERVER=5.3
#PHP_SERVER=5.4
#PHP_SERVER=5.5
#PHP_SERVER=5.6
#PHP_SERVER=7.0
#PHP_SERVER=7.1
#PHP_SERVER=7.2
#PHP_SERVER=7.3
#PHP_SERVER=7.4
#PHP_SERVER=8.0
PHP_SERVER=8.1
#PHP_SERVER=8.2

###
### 1.2 Choose HTTPD Server Image
###
### Choose between 'debian' or 'alpine' flavour and then select the version
###
### Note: apache-2.2 has no arm64 support on 'alpine' flavour
###
HTTPD_FLAVOUR=alpine

#HTTPD_SERVER=apache-2.2
HTTPD_SERVER=apache-2.4
#HTTPD_SERVER=nginx-stable
#HTTPD_SERVER=nginx-mainline

###
### 1.3 Choose MySQL Server Image
###
#MYSQL_SERVER=mysql-5.5
#MYSQL_SERVER=mysql-5.6
#MYSQL_SERVER=mysql-5.7
#MYSQL_SERVER=mysql-8.0
#MYSQL_SERVER=percona-5.5
#MYSQL_SERVER=percona-5.6
#MYSQL_SERVER=percona-5.7
#MYSQL_SERVER=percona-8.0
#MYSQL_SERVER=mariadb-5.5
#MYSQL_SERVER=mariadb-10.0
#MYSQL_SERVER=mariadb-10.1
#MYSQL_SERVER=mariadb-10.2
MYSQL_SERVER=mariadb-10.3
#MYSQL_SERVER=mariadb-10.4
#MYSQL_SERVER=mariadb-10.5
#MYSQL_SERVER=mariadb-10.6
#MYSQL_SERVER=mariadb-10.7
#MYSQL_SERVER=mariadb-10.8
#MYSQL_SERVER=mariadb-10.9
#MYSQL_SERVER=mariadb-10.10

###
### 1.4 Choose PostgreSQL Server Image
###
### https://www.postgresql.org/support/versioning/
###
### IMPORTANT: Alpine based images might cause issues on Docker Toolbox or OSX
###            https://github.com/docker/toolbox/issues/510
###
#
# PostgreSQL without arm64 support
#
#PGSQL_SERVER=9.0
#PGSQL_SERVER=9.1
#PGSQL_SERVER=9.2-alpine
#
# PostgreSQL with arm64 support
#
#PGSQL_SERVER=9.2
#PGSQL_SERVER=9.3
#PGSQL_SERVER=9.3-alpine
#PGSQL_SERVER=9.4
#PGSQL_SERVER=9.4-alpine
#PGSQL_SERVER=9.5
#PGSQL_SERVER=9.5-alpine
#PGSQL_SERVER=9.6
#PGSQL_SERVER=9.6-alpine
#PGSQL_SERVER=10
#PGSQL_SERVER=10-alpine
#PGSQL_SERVER=11
#PGSQL_SERVER=11-alpine
#PGSQL_SERVER=12
#PGSQL_SERVER=12-alpine
#PGSQL_SERVER=13
#PGSQL_SERVER=13-alpine
#PGSQL_SERVER=14
PGSQL_SERVER=14-alpine
#PGSQL_SERVER=15
#PGSQL_SERVER=15-alpine
#PGSQL_SERVER=latest
#PGSQL_SERVER=alpine

###
### 1.5 Choose Redis Server Image
###
### IMPORTANT: Alpine based images might cause issues on Docker Toolbox or OSX
###            https://github.com/docker/toolbox/issues/510
###
#
# Redis without arm64 support
#
#REDIS_SERVER=2.8
#REDIS_SERVER=3.0
#REDIS_SERVER=3.0-alpine
#
# Redis with arm64 support
#
#REDIS_SERVER=3.2
#REDIS_SERVER=3.2-alpine
#REDIS_SERVER=4.0
#REDIS_SERVER=4.0-alpine
#REDIS_SERVER=5.0
#REDIS_SERVER=5.0-alpine
#REDIS_SERVER=6.0
#REDIS_SERVER=6.0-alpine
#REDIS_SERVER=6.2
REDIS_SERVER=6.2-alpine
#REDIS_SERVER=7.0
#REDIS_SERVER=7.0-alpine
#REDIS_SERVER=latest
#REDIS_SERVER=alpine

###
### 1.6 Choose Memcached Server Image
###
### IMPORTANT: Alpine based images might cause issues on Docker Toolbox or OSX
###            https://github.com/docker/toolbox/issues/510
###
#
# Memcached without arm64 support
#
#MEMCD_SERVER=1.4
#MEMCD_SERVER=1.4-alpine
#
# Memcached with arm64 support
#
#MEMCD_SERVER=1.5
#MEMCD_SERVER=1.5-alpine
#MEMCD_SERVER=1.6
MEMCD_SERVER=1.6-alpine
#MEMCD_SERVER=latest
#MEMCD_SERVER=alpine

###
### 1.7 Choose Mongo Server Image
###
### https://www.mongodb.com/evolved
###
#
# MongoDB without arm64 support
#
#MONGO_SERVER=2.8
#MONGO_SERVER=3.0
#MONGO_SERVER=3.2
#
# MongoDB with arm64 support
#
#MONGO_SERVER=3.4
#MONGO_SERVER=3.6
#MONGO_SERVER=4.0
#MONGO_SERVER=4.2
#MONGO_SERVER=4.4
MONGO_SERVER=5.0
#MONGO_SERVER=latest

################################################################################
###
### 2. Host Mounts (Your computer)
###
################################################################################

###
### Global mount options
###
### Note: When adding custom mount options, ensure to start with a
###       leading ',' (comma), as those options are prepended to already
###       existing mount options.
###
### Note: If no mount options are specified, leave this variable empty
###       and do not add a leading ',' (comma).
###
### MOUNT_OPTIONS=,cached
### MOUNT_OPTIONS=
###
### Example: Allow to share mounts accross container with SELINUX enabled
###
### MOUNT_OPTIONS=,z
###
MOUNT_OPTIONS=

###
### Local filesystem path to www projects.
###
### Note: When changing this variable you must re-create the container.
###       Simply remove it, it will be auto-created during the next start:
###
### $ docker-compose rm -f
###
HOST_PATH_HTTPD_DATADIR=./data/www

###
### Local filesystem path to where your backups are stored
###
### Note: When changing this variable you must re-create the container.
###       Simply remove it, it will be auto-created during the next start:
###
### $ docker-compose rm -f
###
HOST_PATH_BACKUPDIR=./backups

###
### The path on your host OS of the ssh directory to be mounted into the
### PHP container into /home/devilbox/.ssh.
###
### IMPORTANT: The path is mounted read-only to ensure you cannot accidentally
##             delete anything inside the php container.
###
HOST_PATH_SSH_DIR=~/.ssh

################################################################################
###
### 3. PHP Docker Settings
###
################################################################################

###
### Enable certain PHP modules which are not enabled by default
###
### Currently the only modules that can be enabled are 'ioncube' and 'blackfire'
### Also ensure to disable xdebug when using any of the above:
### https://xdebug.org/docs/install#compat
###
### PHP_MODULES_ENABLE=ioncube, blackfire
###
PHP_MODULES_ENABLE=

###
### Disable any PHP modules that you don't require
###
### Specify a comma separated list without spaces of modules to disable
###
### PHP_MODULES_DISABLE=xdebug,imagick,swoole
###
PHP_MODULES_DISABLE=oci8,PDO_OCI,pdo_sqlsrv,sqlsrv,rdkafka,swoole,psr,phalcon

###
### Postfix settings for email catch-all
###
### When set to '1' postfix is normally started and made available. However you still need
### to configure it to your needs yourself. For that you can use the autostart scripts
### and define a couple of 'postconf -e name=value' commands.
###
### When set to '2' (email catch-all), no mail will leave the Devilbox. It is automatically
### internally routed the the devilbox mail account and you can see each sent mail
### in the bundled intranet: https://localhost/mail.php
###
### Values:
### 0: Disable postfix (do not start it)
### 1: Enable/Start postfix
### 2: Enable/Start postfix and enable email catch-all
###
PHP_MAIL_CATCH_ALL=2

###
### Configure everything else about PHP in
### * cfg/php-ini-X.X/*.ini
### * cfg/php-fpm-X.X/*.conf

################################################################################
###
### 4. HTTPD Docker Settings
###
################################################################################

###
### Expose HTTPD Port to Host
###
HOST_PORT_HTTPD=80
HOST_PORT_HTTPD_SSL=443

###
### Globally enable/disable HTTP/2 support
###
### This cannot be done on a per vhost level and must be enabled/disabled globally.
###
### Values:
###  * 0: HTTP/2 is disabled
###  * 1: HTTP/2 is enabled
###
HTTPD_HTTP2_ENABLE=1

###
### SSL (HTTP/HTTPS) settings for automated vhost generation
###
### By default each project will have two vhosts (one for HTTP and one for HTTPS).
### You can control the SSL settings for your projects via the below stated values.
###
### This is internally achieved via the '-m' argument of https://github.com/devilbox/vhost-gen
###
### Values:
###   * both:  Serve HTTP and HTTPS for all projects
###   * redir: HTTP always redirects to HTTPS
###   * ssl:   Only serve HTTPS
###   * plain: Only serve HTTP
###
HTTPD_VHOST_SSL_TYPE=both

###
### Document Root Subdirectory
###
### In your project directory, which subfolder should
### serve your files?
###
### When changing this value, restart the devilbox.
###
HTTPD_DOCROOT_DIR=htdocs

###
### Per vHost Config Subdirectory
###
### In your project directory, which subfolder should
### hold apache, nginx templates for a customized vhost?
###
### When changing this value, restart the devilbox.
###
HTTPD_TEMPLATE_DIR=.devilbox

###
### Remote (Upstream) Backend Timeout
###
### This setting specifies the Timeout for a remote Backend server,
### such as PHP-FPM or a Reverse Proxy.
###
### As for PHP, keep in mind that this value should be greater than
### PHP's max_execution_time,otherwise the php script could still
### run and the webserver will simply drop the connection before getting an answer by PHP.
###
HTTPD_BACKEND_TIMEOUT=180

###
### NGINX ONLY
###
### Set worker_processes and worker_connections
###
### https://nginx.org/en/docs/ngx_core_module.html#worker_processes
### https://nginx.org/en/docs/ngx_core_module.html#worker_connections
###
HTTPD_NGINX_WORKER_PROCESSES=auto
HTTPD_NGINX_WORKER_CONNECTIONS=1024

################################################################################
###
### 5. MySQL Docker Settings
###
################################################################################

###
### MySQL root user password
###
### The password is required for the initial creation of the MySQL database
### as well as the Devilbox intranet to display schema and configuration settings.
###
### If you change your MySQL root user password via mysql cli, phpMyAdmin or other tools
### after the database has been created, ensure to adjust the value here accordingly as well.
###
### If you only change this value here after the database has been created,
### the MySQL root user password will not actually be changed and the Devilbox intranet
### won't be able to connect to the MySQL service.
###
MYSQL_ROOT_PASSWORD=

###
### Expose MySQL Port to Host
###
HOST_PORT_MYSQL=3306

################################################################################
###
### 6. PostgreSQL Docker Settings
###
################################################################################

###
### PostgreSQL 'root' user name (usually postgres)
###
PGSQL_ROOT_USER=postgres

###
### PostgreSQL 'root' user password
###
### If you want to set a password, ensure to remove 'trust' from
### PGSQL_HOST_AUTH_METHOD below
###
PGSQL_ROOT_PASSWORD=

###
### In order to not use a password for PostgreSQL, keep this value at 'trust'
###
PGSQL_HOST_AUTH_METHOD=trust

###
### Expose PostgreSQL Port to Host
###
HOST_PORT_PGSQL=5432

################################################################################
###
### 7. Redis Docker Settings
###
################################################################################

###
### Expose Redis Port to Host
###
HOST_PORT_REDIS=6379

###
### Custom startup arguments
###
### Apply custom startup arguments to redis
###
### Example: Password protection
###   Add password protection to the Redis server by specifying it should
###   require a password.
###   Note: Do not add quotes or spaces to the password
###
###   REDIS_ARGS=--requirepass my-redis-root-password
###
### Example: Verbosity
###
###   REDIS_ARGS=--loglevel verbose
###
REDIS_ARGS=
#REDIS_ARGS=--loglevel verbose --requirepass my-redis-root-password

################################################################################
###
### 8. Memcached Docker Settings
###
################################################################################

###
### Expose Memcached Port to Host
###
HOST_PORT_MEMCD=11211

################################################################################
###
### 9. MongoDB Docker Settings
###
################################################################################

###
### Expose MongoDB Port to Host
###
HOST_PORT_MONGO=27017

################################################################################
###
### 10. Bind Docker Settings
###
################################################################################

###
### Expose Bind Port to Host
###
HOST_PORT_BIND=53

###
### Add comma separated DNS server from which you want to receive DNS
### You can also add DNS servers from your LAN (if any are available)
###
BIND_DNS_RESOLVER=<IP_ADDRESS>,<IP_ADDRESS>

###
### Validate DNSSEC
###
### Values:
###  no:    DNSSEC validation is disabled
###  yes:   DNSSEC validation is enabled, but a trust anchor must be manually configured.
###  auto:  DNSSEC validation is enabled, and a default trust anchor for root zone is used.
###
BIND_DNSSEC_VALIDATE=no

###
### Bind timing options (time in seconds)
###
### Leave empty for defaults.
### Only change when you know what you are doing.
###
BIND_TTL_TIME=
BIND_REFRESH_TIME=
BIND_RETRY_TIME=
BIND_EXPIRY_TIME=
BIND_MAX_CACHE_TIME=

###
### Show DNS Queries in Docker logs output?
###
### 1: Yes
### 0: No
BIND_LOG_DNS_QUERIES=0

################################################################################
###
### 11. Custom variables
###
################################################################################

###
### Any variable defined in this file will be available
### as environment variables to your PHP/HHV Docker container.
###
### This might be useful to set application environment and retrieve
### them via: <?php getenv('MY_APPLICATION_ENV'); ?>
###

###
### Example:
### <?php echo getenv('Foo'); ?> would produce: 'some value'
###
#Foo=some value

Config: docker-compose.override.yml
No response
Config: ./check-config.sh
# ==============================================================================
# Checking git
# ==============================================================================
[ERR]   git is unclean
?? cfg/php-ini-8.1/error_reporting.ini-unused
?? cfg/php-ini-8.1/xdebug.ini-unused

# ==============================================================================
# Checking .env file
# ==============================================================================
[SUCC]  .env file exists
[SUCC]  .env file is readable
[SUCC]  All variables are present in .env file
[SUCC]  No variables is duplicated in .env file

# ==============================================================================
# Checking .env file values
# ==============================================================================
[SUCC]  All .env file variables have correct values

# ==============================================================================
# Checking required Devilbox core directories exist
# ==============================================================================
[SUCC]  All PHP cfg/ sub directories are present
[SUCC]  All PHP log/ sub directories are present
[SUCC]  All HTTPD cfg/ sub directories are present
[SUCC]  All HTTPD log/ sub directories are present

# ==============================================================================
# Checking devilbox core directory permissions
# ==============================================================================
[SUCC]  All devilbox directories have correct permissions
[SUCC]  All devilbox directories have correct uid
[SUCC]  All devilbox directories have correct gid

# ==============================================================================
# Checking devilbox core file permissions
# ==============================================================================
[SUCC]  All devilbox files have correct permissions
[SUCC]  All devilbox files have correct uid
[SUCC]  All devilbox files have correct gid

# ==============================================================================
# Checking projects permissions
# ==============================================================================
[SUCC]  All project dirs have correct permissions
[SUCC]  All project dirs have correct uid
[SUCC]  All project dirs have correct gid

# ==============================================================================
# Checking projects settings
# ==============================================================================
[ERR]   Project 'events-copy.dvl.to' has no valid DNS record
[ERR]   Project 'events-migrated-to-J4.dvl.to' has no valid DNS record
[ERR]   Project 'joomla-civicrm.dvl.to' has no valid DNS record
[SUCC]  All projects have valid HTTPD_DOCROOT_DIR

# ==============================================================================
# Checking customizations
# ==============================================================================
[INFO]  No custom configurations applied

# ==============================================================================
# SUMMARY
# ==============================================================================
[ERR]   Found 4 error(s)
[ERR]   Devilbox might not work properly
[ERR]   Fix the issues before submitting a bug report
[INFO]  No custom configurations applied
[INFO]  Ensure to run 'docker-compose stop; docker-compose rm -f' on .env changes or custom configs

Log: docker-compose logs
devilbox-bind-1   | [INFO] Debug level: 2
devilbox-bind-1   |
devilbox-bind-1   | --------------------------------------------------------------------------------
devilbox-bind-1   | /etc/bind/named.conf
devilbox-bind-1   | --------------------------------------------------------------------------------
devilbox-bind-1   | include "/etc/bind/named.conf.logging";
devilbox-bind-1   | include "/etc/bind/named.conf.options";
devilbox-bind-1   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
devilbox-bind-1   | [INFO] BIND logging: disabled explicitly
devilbox-bind-1   | [INFO] Using default DNS TTL time: 3600 sec
devilbox-bind-1   | [INFO] Using default DNS Refresh time: 1200 sec
devilbox-bind-1   | [INFO] Using default DNS Retry time: 180 sec
devilbox-bind-1   | [INFO] Using default DNS Expiry time: 1209600 sec
devilbox-bind-1   | [INFO] Using default DNS Max Cache time: 10800 sec
devilbox-bind-1   | [INFO] Changing DNS Max Cache size to: 90%
devilbox-bind-1   | [INFO] Not adding any PTR records
devilbox-bind-1   | [INFO] Adding A Record: *.dvl.to -> <IP_ADDRESS>
devilbox-bind-1   | zone rpz/IN: loaded serial<PHONE_NUMBER>
devilbox-bind-1   | OK
devilbox-bind-1   | [INFO] Not adding any CNAME records
devilbox-bind-1   | [INFO] $ALLOW_QUERY not set.
devilbox-php-1    | 2023-09-27 11:23:07,290 INFO success: socat-443-httpd-443 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-php-1    | 2023-09-27 11:23:07,290 INFO success: socat-5432-pgsql-5432 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-php-1    | 2023-09-27 11:23:07,290 INFO success: socat-6379-redis-6379 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-php-1    | 2023-09-27 11:23:07,290 INFO success: socat-80-httpd-80 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-php-1    | 2023-09-27 11:23:15,317 WARN received SIGQUIT indicating exit request
devilbox-php-1    | 2023-09-27 11:23:15,318 INFO waiting for rsyslogd, php-fpm, postfix, socat-11211-memcd-11211, socat-27017-mongo-27017, socat-3306-mysql-3306, socat-443-httpd-443, socat-5432-pgsql-5432, socat-6379-redis-6379, socat-80-httpd-80 to die
devilbox-php-1    | 2023-09-27 11:23:15,320 INFO stopped: socat-80-httpd-80 (exit status 143)
devilbox-bind-1   | [INFO] DNS query rules will not be set
devilbox-bind-1   | [INFO] $ALLOW_RECURSION not set.
devilbox-bind-1   | [INFO] DNS recursion rules will not be set
devilbox-bind-1   | [INFO] DNSSEC Validation: no
devilbox-php-1    | 2023-09-27 11:23:15,321 INFO stopped: socat-6379-redis-6379 (exit status 143)
devilbox-php-1    | 2023-09-27 11:23:15,323 INFO stopped: socat-5432-pgsql-5432 (exit status 143)
devilbox-php-1    | 2023-09-27 11:23:15,325 INFO stopped: socat-443-httpd-443 (exit status 143)
devilbox-php-1    | 2023-09-27 11:23:15,326 INFO stopped: socat-3306-mysql-3306 (exit status 143)
devilbox-php-1    | 2023-09-27 11:23:15,328 INFO stopped: socat-27017-mongo-27017 (exit status 143)
devilbox-php-1    | 2023-09-27 11:23:15,329 INFO stopped: socat-11211-memcd-11211 (exit status 143)
devilbox-php-1    | 2023-09-27 11:23:16,332 INFO reaped unknown pid 1298 (terminated by SIGTERM)
devilbox-php-1    | 2023-09-27 11:23:16,333 INFO reaped unknown pid 1299 (terminated by SIGTERM)
devilbox-php-1    | 2023-09-27 11:23:16,333 INFO reaped unknown pid 1300 (terminated by SIGTERM)
devilbox-php-1    | Sep 27 11:23:15 php postfix/postfix-script[1317]: stopping the Postfix mail system
devilbox-php-1    | Sep 27 11:23:15 php postfix/master[1298]: terminating on signal 15
devilbox-php-1    | 2023-09-27 11:23:17,529 INFO stopped: postfix (exit status 0)
devilbox-php-1    | 2023-09-27 11:23:18,558 INFO stopped: php-fpm (exit status 0)
devilbox-php-1    | 2023-09-27 11:23:18,558 INFO waiting for rsyslogd to die
devilbox-php-1    | 2023-09-27 11:23:18,561 INFO stopped: rsyslogd (exit status 0)
devilbox-php-1    | [INFO] Debug level: 2
devilbox-php-1    | [INFO] Changing user 'devilbox' uid to: 501
devilbox-php-1    | root $ usermod -u 501 devilbox 2>/dev/null
devilbox-php-1    | usermod: no changes
devilbox-php-1    | root $ chown -R devilbox /home/devilbox 2>/dev/null || true
devilbox-php-1    | root $ chown -R devilbox /var/lib/php/session
devilbox-php-1    | root $ chown -R devilbox /var/lib/php/wsdlcache
devilbox-php-1    | root $ chown -R devilbox /var/spool/mail/devilbox
devilbox-php-1    | root $ chown -R devilbox /etc/supervisor/custom.d
devilbox-php-1    | [INFO] Changing group 'devilbox' gid to: 20
devilbox-php-1    | root $ groupmod -g 20 devilbox 2>/dev/null
devilbox-php-1    | root $ chown -R :devilbox /home/devilbox 2>/dev/null || true
devilbox-php-1    | root $ chown -R :devilbox /var/lib/php/session
devilbox-php-1    | root $ chown -R :devilbox /var/lib/php/wsdlcache
devilbox-php-1    | root $ chown -R :devilbox /var/spool/mail/devilbox
devilbox-php-1    | root $ chown -R :devilbox /etc/supervisor/custom.d
devilbox-php-1    | [INFO] Setting container timezone to: UTC
devilbox-php-1    | root $ ln -sf /usr/share/zoneinfo/UTC /etc/localtime
devilbox-php-1    | [INFO] Setting PHP: timezone=UTC
devilbox-php-1    | root $ echo 'date.timezone = UTC' > /usr/local/etc/php/conf.d/devilbox-runtime-timezone.ini
devilbox-php-1    | [INFO] Docker date set to: Wed Sep 27 11:23:32 UTC 2023
devilbox-php-1    | [INFO] $DOCKER_LOGS set to 0. Logging to files under: /var/log/php
devilbox-php-1    | [INFO] Make sure to mount this directory in order to view logs
devilbox-php-1    | root $ chown -R devilbox:devilbox /var/log/php
devilbox-php-1    | root $ chmod 0755 /var/log/php
devilbox-php-1    | [INFO] $ENABLE_MAIL set to 2. Enabling postfix catch-all
devilbox-php-1    | root $ chown devilbox:devilbox /var/log/php
devilbox-php-1    | root $ chown devilbox:devilbox /var/log/php/mail.log
devilbox-php-1    | root $ chmod 0644 /var/log/php/mail.log
devilbox-php-1    | root $ chmod 0644 /var/mail/devilbox
devilbox-php-1    | root $ chown devilbox:devilbox /var/mail
devilbox-php-1    | root $ chown devilbox:devilbox /var/mail/devilbox
devilbox-php-1    | root $ postconf -e 'strict_mailbox_ownership=no'
devilbox-bind-1   | [INFO] Adding custom DNS forwarder: <IP_ADDRESS>,<IP_ADDRESS>
devilbox-bind-1   |
devilbox-bind-1   | --------------------------------------------------------------------------------
devilbox-bind-1   | /etc/bind/named.conf.options
devilbox-bind-1   | --------------------------------------------------------------------------------
devilbox-bind-1   | options {
devilbox-php-1    | root $ postconf -e 'inet_protocols=ipv4'
devilbox-php-1    | root $ postconf -e 'myhostname=localhost'
devilbox-php-1    | root $ postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'
devilbox-php-1    | root $ echo<EMAIL_ADDRESS>devilbox' >> /etc/postfix/virtual
devilbox-php-1    | root $ newaliases
devilbox-php-1    | [INFO] Forwarding httpd:80 to <IP_ADDRESS>:80 inside this docker.
devilbox-php-1    | [INFO] Forwarding httpd:443 to <IP_ADDRESS>:443 inside this docker.
devilbox-php-1    | [INFO] Forwarding mysql:3306 to <IP_ADDRESS>:3306 inside this docker.
devilbox-php-1    | [INFO] Forwarding pgsql:5432 to <IP_ADDRESS>:5432 inside this docker.
devilbox-php-1    | [INFO] Forwarding redis:6379 to <IP_ADDRESS>:6379 inside this docker.
devilbox-php-1    | [INFO] Forwarding memcd:11211 to <IP_ADDRESS>:11211 inside this docker.
devilbox-php-1    | [INFO] Forwarding mongo:27017 to <IP_ADDRESS>:27017 inside this docker.
devilbox-php-1    | [INFO] Enabling 'socat-80-httpd-80' to be started by supervisord
devilbox-php-1    | [INFO] Enabling 'socat-443-httpd-443' to be started by supervisord
devilbox-php-1    | [INFO] Enabling 'socat-3306-mysql-3306' to be started by supervisord
devilbox-php-1    | [INFO] Enabling 'socat-5432-pgsql-5432' to be started by supervisord
devilbox-php-1    | [INFO] Enabling 'socat-6379-redis-6379' to be started by supervisord
devilbox-php-1    | [INFO] Enabling 'socat-11211-memcd-11211' to be started by supervisord
devilbox-php-1    | [INFO] Enabling 'socat-27017-mongo-27017' to be started by supervisord
devilbox-php-1    | [INFO] Enabling 'rsyslogd' to be started by supervisord
devilbox-php-1    | [INFO] Enabling 'postfix' to be started by supervisord
devilbox-php-1    | [INFO] Enabling 'php-fpm' to be started by supervisord
devilbox-php-1    | root $ find /usr/local/etc/php/conf.d -type f -iname '*.ini' -exec chmod 0644 "{}" \;
devilbox-php-1    | root $ find /usr/local/etc/php-fpm.d -type f -iname '*.conf' -exec chmod 0644 "{}" \;
devilbox-php-1    | [INFO] $ENABLE_MODULES set, but empty. Not enabling any PHP modules.
devilbox-php-1    | [INFO] Disabling the following PHP modules: oci8,PDO_OCI,pdo_sqlsrv,sqlsrv,rdkafka,swoole,psr,phalcon
devilbox-php-1    | root $ chown devilbox:devilbox /etc/mysqldump-secure.conf
devilbox-php-1    | root $ chown devilbox:devilbox /etc/mysqldump-secure.cnf
devilbox-php-1    | root $ chown devilbox:devilbox /var/log/mysqldump-secure.log
devilbox-php-1    | root $ chown devilbox:devilbox /shared/backups/mysql
devilbox-php-1    | [INFO] $MYSQL_BACKUP_USER set for mysqldump-secure. Changing to 'root'
devilbox-php-1    | root $ sed -i'' 's/^user.*/user = root/g' /etc/mysqldump-secure.cnf
devilbox-php-1    | [INFO] $MYSQL_BACKUP_PASS set for mysqldump-secure. Changing to '******'
devilbox-php-1    | root $ perl -pi -e 's/^password.*/password = /g' /etc/mysqldump-secure.cnf
devilbox-php-1    | [INFO] $MYSQL_BACKUP_HOST set for mysqldump-secure. Changing to 'mysql'
devilbox-php-1    | root $ sed -i'' 's/^host.*/host = mysql/g' /etc/mysqldump-secure.cnf
devilbox-php-1    | root $ chown devilbox:devilbox /shared/backups
devilbox-php-1    | root $ chown devilbox:devilbox /shared/httpd
devilbox-php-1    | root $ chmod 0755 /shared/backups
devilbox-php-1    | root $ chmod 0755 /shared/httpd
devilbox-php-1    | root $ cp /ca/devilbox-ca.crt /usr/local/share/ca-certificates/devilbox-devilbox-ca.crt
devilbox-php-1    | root $ update-ca-certificates
devilbox-php-1    | Updating certificates in /etc/ssl/certs...
devilbox-php-1    | 0 added, 0 removed; done.
devilbox-php-1    | Running hooks in /etc/ca-certificates/update.d...
devilbox-php-1    | done.
devilbox-php-1    | [INFO] Starting supervisord
devilbox-php-1    | 2023-09-27 11:23:34,988 WARN No file matches via include "/etc/supervisor/custom.d/*.conf"
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO Included extra file "/etc/supervisor/conf.d/php-fpm.conf" during parsing
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO Included extra file "/etc/supervisor/conf.d/postfix.conf" during parsing
devilbox-bind-1   |     directory "/var/cache/bind";
devilbox-bind-1   |     dnssec-validation no;
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO Included extra file "/etc/supervisor/conf.d/rsyslogd.conf" during parsing
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO Included extra file "/etc/supervisor/conf.d/socat-11211-memcd-11211.conf" during parsing
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO Included extra file "/etc/supervisor/conf.d/socat-27017-mongo-27017.conf" during parsing
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO Included extra file "/etc/supervisor/conf.d/socat-3306-mysql-3306.conf" during parsing
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO Included extra file "/etc/supervisor/conf.d/socat-443-httpd-443.conf" during parsing
devilbox-bind-1   |     auth-nxdomain no;    # conform to RFC1035
devilbox-bind-1   |     listen-on-v6 { any; };
devilbox-bind-1   |     max-cache-size 90%;
devilbox-bind-1   |     response-policy { zone "rpz"; };
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO Included extra file "/etc/supervisor/conf.d/socat-5432-pgsql-5432.conf" during parsing
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO Included extra file "/etc/supervisor/conf.d/socat-6379-redis-6379.conf" during parsing
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO Included extra file "/etc/supervisor/conf.d/socat-80-httpd-80.conf" during parsing
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO Set uid to user 0 succeeded
devilbox-php-1    | 2023-09-27 11:23:34,989 INFO supervisord started with pid 1
devilbox-php-1    | 2023-09-27 11:23:35,997 INFO spawned: 'rsyslogd' with pid 1199
devilbox-php-1    | 2023-09-27 11:23:36,001 INFO spawned: 'php-fpm' with pid 1200
devilbox-php-1    | 2023-09-27 11:23:36,006 INFO spawned: 'postfix' with pid 1201
devilbox-php-1    | 2023-09-27 11:23:36,010 INFO spawned: 'socat-11211-memcd-11211' with pid 1202
devilbox-bind-1   |     forwarders {
devilbox-bind-1   |         <IP_ADDRESS>;
devilbox-bind-1   |         <IP_ADDRESS>;
devilbox-bind-1   |     };
devilbox-bind-1   | };
devilbox-bind-1   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
devilbox-bind-1   |
devilbox-bind-1   | --------------------------------------------------------------------------------
devilbox-bind-1   | /etc/bind/custom/conf/rpz.conf
devilbox-bind-1   | --------------------------------------------------------------------------------
devilbox-bind-1   | zone "rpz" IN {
devilbox-bind-1   |     type master;
devilbox-bind-1   |     allow-transfer { any; };
devilbox-bind-1   |     allow-update { any; };
devilbox-bind-1   |     file "/etc/bind/custom/zone/rpz";
devilbox-bind-1   | };
devilbox-bind-1   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
devilbox-bind-1   |
devilbox-bind-1   | --------------------------------------------------------------------------------
devilbox-bind-1   | /etc/bind/custom/zone/rpz
devilbox-bind-1   | --------------------------------------------------------------------------------
devilbox-bind-1   | $TTL 3600
devilbox-bind-1   | @                               IN   SOA     bind. admin.bind. (
devilbox-php-1    | 2023-09-27 11:23:36,013 INFO spawned: 'socat-27017-mongo-27017' with pid 1205
devilbox-php-1    | 2023-09-27 11:23:36,015 INFO spawned: 'socat-3306-mysql-3306' with pid 1206
devilbox-php-1    | 2023-09-27 11:23:36,019 INFO spawned: 'socat-443-httpd-443' with pid 1208
devilbox-php-1    | 2023-09-27 11:23:36,022 INFO spawned: 'socat-5432-pgsql-5432' with pid 1209
devilbox-php-1    | 2023-09-27 11:23:36,028 INFO spawned: 'socat-6379-redis-6379' with pid 1210
devilbox-php-1    | 2023-09-27 11:23:36,039 INFO spawned: 'socat-80-httpd-80' with pid 1211
devilbox-php-1    | 2023-09-27 11:23:37,083 INFO success: rsyslogd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-bind-1   |<PHONE_NUMBER>     ; Serial number
devilbox-bind-1   |                                              1200           ; Refresh time
devilbox-bind-1   |                                              180            ; Retry time
devilbox-bind-1   |                                              1209600        ; Expiry time
devilbox-bind-1   |                                              10800          ; Negative Cache TTL
devilbox-bind-1   | )
devilbox-php-1    | 2023-09-27 11:23:37,083 INFO success: php-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-php-1    | 2023-09-27 11:23:37,083 INFO success: postfix entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-bind-1   |
devilbox-bind-1   | ; NS Records
devilbox-bind-1   |                                 IN   NS      bind.
devilbox-bind-1   |
devilbox-bind-1   | ; Custom Records
devilbox-bind-1   | *.dvl.to                        IN   A       <IP_ADDRESS>
devilbox-bind-1   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
devilbox-php-1    | 2023-09-27 11:23:37,083 INFO success: socat-11211-memcd-11211 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-php-1    | 2023-09-27 11:23:37,083 INFO success: socat-27017-mongo-27017 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-php-1    | 2023-09-27 11:23:37,083 INFO success: socat-3306-mysql-3306 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-php-1    | 2023-09-27 11:23:37,084 INFO success: socat-443-httpd-443 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-php-1    | 2023-09-27 11:23:37,084 INFO success: socat-5432-pgsql-5432 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-php-1    | 2023-09-27 11:23:37,084 INFO success: socat-6379-redis-6379 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-php-1    | 2023-09-27 11:23:37,084 INFO success: socat-80-httpd-80 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
devilbox-bind-1   | [INFO] Starting BIND 9.18.16

(Optional) Additional information
No response

@thoni56 Have you done this part: https://devilbox.readthedocs.io/en/latest/howto/dns/add-custom-dns-server-on-mac.html#howto-add-custom-dns-server-on-mac

@vikas5914 Yes, of course. Added <IP_ADDRESS> first and then I get the nslookup above, which clearly states that it tried <IP_ADDRESS> but failed and continued to the next server. When I remove my ordinary server, no name lookup works, so no internet access or nothing.
My guess is that the built in DNS server does not handle the requests that are sent from modern MacOS/nslookup correctly or completely. Is there a way that can monitor that traffic and be explicit about what is really sent to the Devilbox DNS?

Also this is the output of dig:
MacBook-Pro-3(arm64):~ $ dig @<IP_ADDRESS> events-copy.dvl.to

; <<>> DiG 9.10.6 <<>> @<IP_ADDRESS> events-copy.dvl.to
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 28161
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; OPT=15: 00 12 ("..")
;; QUESTION SECTION:
;events-copy.dvl.to.		IN	A

;; Query time: 2 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Thu Sep 28 14:18:48 CEST 2023
;; MSG SIZE  rcvd: 53

It clearly shows that a recursive lookup was requested from the Devilbox DNS server, but was refused.

@thoni56 Can you show that Port 53 is in use/LISTEN? Something like netstat -an | grep -E 'LISTEN\s*$' (I don't if this work in MAC)

When Devilbox is not running there are no other processes on port 53:
MacBook-Pro-3(arm64):~ $ netstat -an | grep -E 'LISTEN\s*$'
tcp4       0      0  <IP_ADDRESS>.51825        *.*                    LISTEN
tcp6       0      0  *.51816                *.*                    LISTEN
tcp4       0      0  *.51816                *.*                    LISTEN
tcp4       0      0  <IP_ADDRESS>.631          *.*                    LISTEN
tcp6       0      0  ::1.631                *.*                    LISTEN
tcp4       0      0  <IP_ADDRESS>.9000         *.*                    LISTEN
tcp4       0      0  <IP_ADDRESS>.49175        *.*                    LISTEN
tcp6       0      0  *.5000                 *.*                    LISTEN
tcp4       0      0  *.5000                 *.*                    LISTEN
tcp6       0      0  *.7000                 *.*                    LISTEN
tcp4       0      0  *.7000                 *.*                    LISTEN
tcp4       0      0  <IP_ADDRESS>.11000        *.*                    LISTEN
tcp4       0      0  <IP_ADDRESS>.33334        *.*                    LISTEN
tcp4       0      0  <IP_ADDRESS>.33333        *.*                    LISTEN
tcp4       0      0  *.88                   *.*                    LISTEN
tcp6       0      0  *.88                   *.*                    LISTEN
tcp4       0      0  *.445                  *.*                    LISTEN
tcp6       0      0  *.445                  *.*                    LISTEN
tcp4       0      0  *.5900                 *.*                    LISTEN
tcp6       0      0  *.5900                 *.*                    LISTEN
tcp4       0      0  *.22                   *.*                    LISTEN
tcp6       0      0  *.22                   *.*                    LISTEN

@thoni56 Does the DNS work when Devilbox is running with a bind container?

@vikas5914 What do you mean? It always starts with a bind container, doesn't it? At least there is always one in the Docker desktop, even when I start it with "docker composer up -d httpd php mysql".
I'll try and explicitly add a bind container...

@thoni56 It Looks like something is wrong with the Bind. Also with dvl.to you don't need AutoDNS. But the domain DNS is broken.
I suggest using dbox.dev and disable AutoDNS. (set to some other port )

So, I have misunderstood the basis of AutoDNS in that I don't need that at all to reach any subdomain of dvl.to? Where in the documentation is that described? I got the impression that in order to avoid editing the /etc/hosts file you need to enable AutoDNS, but that is not true?
Also the documentation explicitly recommends not using .dev since Google has registered that. So what is up with that?
And what exactly did you mean by "using dbox.dev"? Should I change the TLD in the .env file to that? And if I do, will lookups automatically route to <IP_ADDRESS>? And is how is this suggestion connected with "with dvl.to you don't need AutoDNS"? Is it instead of dvl.to?

@thoni56 For example, if you use a TLD or Domain that does not exist (Like .local or .wip or .asdsadasd), you need Auto DNS to point those to <IP_ADDRESS>. The Documentation uses .loc as an example. You will need Auto DNS to point any domain or subdomain *.loc to <IP_ADDRESS>
Both dbox.dev and dvl.to are real domains bought by people (dvl.to is owned by the project owner), and their subdomains are points to <IP_ADDRESS> by their name server. dvl.to was working fine until last month. It downed, and it's not working. So, a community member bought dbox.dev and did this point thing.
Where in the documentation is that described? => Its mentioned in the .env file. Check see the comment above TLD_SUFFIX in .env file. The documentation dos not mention or use dvl.to anywhere. (https://devilbox.readthedocs.io/en/latest/search.html?q=dvl.to&check_keywords=yes&area=default)
And what exactly did you mean by "using dbox.dev" => use dbox.dev as TLD_SUFFIX . So the URL will <project_name>.dbox.dev and automatically point to <IP_ADDRESS> without Auto DNS.


ReactIntl.message and ReactIntlPpxAdapter could be part of this project

Right now we require the user to create those 2 modules in order to work with the ppx, but in reality those 2 are not flexible and could be provided by the melange-react-intl.lib
Thought about this since I added more "interface" between the 2: https://github.com/ahrefs/melange-react-intl/pull/25/files#diff-0b2e24b1e87ace382914b90ce6adca2ff259e791970c4f2e57f3f7298a0b5f56R124
Also, the ppx could use ppx_runtime_deps and would avoid the need for a separate lib (potentially different issue)

ReactIntl.message type is a part of the project.
Ahrefs codebase has 2 different implementation of the ReactIntlPpxAdapter (because of different intl messages injection methods- through the JS env variables and through the json files on native side), I think it does make sense to keep the adaptor implementation outside of the repo (at least till for now)
I agree that it sounds reasonable to share interface, but we need to have a single implementation to do so


feat: add queries for nvim-treesitter-textobjects

Adds queries for the nvim-treesitter/nvim-treesitter-textobjects plugin, enabling users to navigate, select, and modify ReScript code using text objects. See nvim-treesitter-textobjects/CONTRIBUTING.md for more info.

Side note (click to expand)
Side note: This is only tangentially related to this PR, but while developing it I discovered a slight issue with the parsing of comment nodes; the node doesn't stop at the end of the comment, all of the whitespace after the comment is swallowed up too:

I can open a separate issue for this if you'd prefer.

Hey! Thanks a lot for bringing text objects SCM :star_struck:
I’m not sure the file belongs here and not https://github.com/nkrkv/tree-sitter-rescript/tree/main/queries … Yes, technically it’s an NVim feature but highlights.scm is NVim-specific too. I was mistaken thinking highlights.scm is a universal file. So, in the spirit of keeping all the sources in the root repo, I think textobjects.scm belongs there too. Whereas this repo should trivially pull/generate/rearrange files to satisfy NVim requirements.

Sounds good to me, I'll re-open over in the root repo.


Relax childprocess dependency version

childprocess turned 1 on January, so I tried to relax childprocess dependency version from ~> 0.6 to >= 0.6.3.
Let's see if CI passes :)

Dang! It breaks on Windows! Maybe because of https://github.com/enkessler/childprocess/pull/132 ? 🤔

Thanks for the PR, @delphaber.
Yes, childprocess requires the ffi gem to be installed on Windows machines. However, it doesn't require this by default since most use cases don't need it and it slows down installs. See https://github.com/enkessler/childprocess/issues/150 for context.
I think the simplest workaround is to add the following to this project's Gemfile so we get the tests to pass on Windows:
gem 'ffi' if Gem.win_platform?

What do you think?

Makes totally sense! thanks :) I'm updating the PR

Done! Let's wait for the CIs :)

Thanks for the PR! Fixed the broken test and merged in #653.


Project Contact Summary page doesn't show secondary contacts[7]

Describe the Bug:
The project contact summary form does not display secondary contacts despite their existence.
Probability (how likely the bug is to happen, scored from 1-5): 4
(For example, probability of 5 is something like "it happens to all users every time they log in."
Probability of 1 "only happens to certain users when a really specific and unlikely path is followed.")
Effect (how bad the bug is when it does happen, scored from 1-5): 3
(For example, effect of 5 is "the entire app crashes and makes it unusable for all users" or "the bug causes the wrong data to be saved, with critical information (e.g. payment) being affected."
Effect of 1 is "It makes some styling look a little bit weird.")
Steps to reproduce the behaviour:

Add secondary contacts to a revision
Commit that revision
create another revision
change a random field in the project overview form
commit the revision
go to project contact form view page
secondary contacts are not there 😱

Nice work @Sepehr-Sobhani ! The secondary contacts are working :)


Basic readme example not cleaning up stuff?

    home: function () {
        this.trigger('newPage', new HomePage());
    },

This means that whenever you go to the homepage it will create a new instance of HomePage and probably bind some events. That code suggests that the events don't get cleaned up.
I think it's better to update the example to either store the last view and then cleanup or to use the ampersand-view-switcher.

I think incorporating ampersand-view-switcher into the readme example is a little outside the scope of the router's documentation, since it would also require us to show the code for a view to instantiate the view-switcher.
I do think the example should be updated. I'm thinking we should put a note in there, about using app.trigger like we do in the ampersand cli generated app's router and main view.
I'll work on getting a PR with the updated example.


fix: remove upper limit for required terraform version

/run pipeline

/run pipeline

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

GitHub release
v5.24.5

Your semantic-release bot :package::rocket:


Errors unifi

I see these errors daily, is it a problem? Or can i ignore them?
level":"error","time":"2024-11-09T17:59:46+01:00.999","message":"[6014a7] all [upstream.0] endpoints failed"} {"level":"error","error":"deadline exceeded","time":"2024-11-09T17:59:47+01:00.004","message":"[efc5da] failed to resolve query"} {"level":"error","time":"2024-11-09T17:59:47+01:00.005","message":"[efc5da] all [upstream.0] endpoints failed"} {"level":"error","error":"deadline exceeded","time":"2024-11-09T17:59:47+01:00.340","message":"[d08129] failed to resolve query"} {"level":"error","time":"2024-11-09T17:59:47+01:00.341","message":"[d08129] all [upstream.0] endpoints failed"} {"level":"error","error":"deadline exceeded","time":"2024-11-09T17:59:47+01:00.343","message":"[ff1536] failed to resolve query"} {"level":"error","time":"2024-11-09T17:59:47+01:00.343","message":"[ff1536] all [upstream.0] endpoints failed"} {"level":"error","error":"deadline exceeded","time":"2024-11-09T17:59:48+01:00.052","message":"[ac396f] failed to resolve query"} {"level":"error","time":"2024-11-09T17:59:48+01:00.053","message":"[ac396f] all [upstream.0] endpoints failed"}`
I use a Cloud-Gateway-Max from unifi

It indicates that you cannot connect to upstream server. If you still have internet access then, you could be fine.


No way to set :path header in Node.js

What version of gRPC and what language are you using?
Node 8 with grpc version 1.4.1.
What operating system (Linux, Windows, …) and version?
Apple OS X 10.12.5.
What runtime / compiler are you using (e.g. python version or version of gcc)
Node 8.
What did you do?
Using linkerd in unison with gRPC, I have to set the server as the linkerd gRPC endpoint. I then need to be able to set the :path header so linkerd knows where to route the request. By default, gRPC derives the path from the fully qualified name and the method name: https://github.com/grpc/grpc/blob/master/src/node/src/protobuf_js_5_common.js#L114
My service is called "Spaces" and my method is called "ListSpaces", so gRPC creates a path name of /Spaces/ListSpaces. However, linkerd doesn't allow for uppercase letters in routes.
What did you expect to see?
A successful gRPC call with data returned from my service.
What did you see instead?
{
  Error: Received RST_STREAM with error code 7
    at /Users/ro/microservice/node_modules/grpc/src/node/src/client.js:570:15 code: 14, metadata: Metadata { _internal_repr: {} }
}

Anything else we should know about your project / environment?
This is all being run in Kubernetes.

Using /Service-Name/Method-Name as the path is part of the gRPC protocol spec. If you want an all-lowercase path, don't use uppercase letters in those strings. Or use an IDL with case-insensitive service and method names.

It looks like linkerd does have some sort of a renaming convention so hopefully that'll work: https://github.com/linkerd/linkerd-examples/pull/126/files/431aa28a7c6530014d0264b89569868b502bb83f#diff-b8797241c28b5379b52aeb709e26ae41
Closing this now. Thanks for your speedy response!


Feat/support for 0.14.0

Codecov Report

Merging #101 into next will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##             next     #101   +/-   ##
=======================================
  Coverage   31.94%   31.94%
=======================================
  Files          33       33
  Lines        2880     2880
=======================================
  Hits          920      920
  Misses       1847     1847
  Partials      113      113

Impacted Files
Coverage Δ

internal/ingress/controller/kong.go
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Restore Box.framework as a dependency

Fixes #36
@robrix Let me know how this looks. I’m happy to make changes! :smile:

You are a kind soul, @mdiep :bow:

:tada:

:bow: thank you!

Happy to help. :smile:


Boehner retirement

Is running retire.py sufficient?
https://github.com/joelcollinsdc/congress-legislators/commit/8e3da14ebabe2100da73f118b5b9ddda2063d587

Also adding ryan to leadership roles section
https://github.com/joelcollinsdc/congress-legislators/commit/3c16e241f6629c3301722ddda281284b7adccffa
I did these by hand... anything else i'm missing?

This looks right to me. @JoshData can you think of anything else?
@joelcollinsdc In any case, feel free to open these as PRs, it's okay to open a PR before it's finalized. Want to open a PR now?

Looks great!

thanks, submitted PR


[CWS] add fallback on /proc for ebpf-less fd resolution

What does this PR do?
When running in wrap mode we should hopefully collect all file descriptor (or it's a bug), but when running in attach mode not having all fds in the cache is the regular mode of operation. To fight this this PR adds a fallback on /proc to query the latest fd path when it's not in the cache.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Skeleton with Node.js back-end

I'm submitting a feature request
Just like the below existing skeletons with aspnetcore back-end, can we have a Node.js back-end skeleton? Many customers want to use Node.js as a back-end with Aurelia.

Existing
skeleton-esnext-aspnetcore
skeleton-typescript-aspnetcore

Proposed
skeleton-esnext-nodejs
skeleton-typescript-nodejs

Node Version:
=>6.x

Language:
TypeScript & ESNext

What kind of backend? There are lots of options...

I think the express-based back-end is a good idea as it is used mostly as a de-facto framework.

koa2

Adonis JS
http://adonisjs.com/docs/3.2/overview
nuxt.js is already using it.
https://github.com/nuxt/adonuxt

stale
think it is covered by real world app repo.
can pick any backend there

Yes, I agree. The Real World repo has multiple different backends which can work with the various front-ends, which now include Aurelia :) We've got a draft blog post on Real World that should be going out soon as well.

Yes, here is the repository of aurelia-realworld.
https://github.com/gothinkster/aurelia-realworld-example-app


Support for modifying hive external table resource properties through SQL

What type of PR is this

[ ] bug
[x] feature
[ ] enhancement
[ ] others

What feature
Support for modifying hive external table resource properties through SQL
How to use

ALTER RESOURCE 'hive0' SET PROPERTIES ("hive.metastore.uris" = "thrift://<IP_ADDRESS>:9083")

Why support this feature
When using hive external tables, sometimes the uri of the metastore is changed. The existing method can only recreate the hive external resources, and rebuild all the downstream tables.
But now , you can use sql to dynamically modify the metastore uri ,but not need rebuild table downstreams .

run starrocks_fe_unittest

/run starrocks_fe_unittest


some files saved in working directory

ISSUE - some files (downloads, screenshots, text-captures) are saved in TA.Gui working directory. FIX - files should be saved in the same directory as the automation flow

Closing, all cases covered and tested -

for downloading files, and receiving files event
handling save, dump, snap steps with filenames specified for text files and image files
handling save, dump, snap steps with filenames NOT specified for text files and image files


Refactor #system_connect without yield

Socket#system_connect yields in case of an error. I understand the intention to avoid actually raising an exception for efficient error handling in case multiple targets are being tried (for example with Addrinfo.resolve).
But I’m not sure what’s the motivation for yielding instead of returning the Exception. The yield always happens just right before the method returns. This is a simple refactor of an internal method to make it simpler and easier to reason about.
The public method Socket#connect keeps the yielding behaviour to not break the API.
This cleans up the internal interface a in preparation of a bigger refactoring of the event loop (#10766).

Yes, the initial idea (#3750) was to avoid raising/catching an exception when trying multiple IP to connect to. I suppose the yield crept up to the internal calls.

I suppose yielding could make some sense if the exception was allocated on the stack to avoid heap allocations. Then a caller who wants to raise, would need to clone it to the heap first. That seems a bit brittle, though.

FTR: I was wondering whether the yield setup could have any effect on the strack trace. But it seems it does not. The strack trace is exactly the same with or without this change (except for shifted line numbers of course).


Login into kafka server with username and password failed.

Issue submitter TODO list

[X] I've searched for an already existing issues here
[X] I'm running a supported version of the application which is listed here and the feature is not present there

Is your proposal related to a problem?
This is my docker compose file that helps me to create my kafka server.
version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
    restart: unless-stopped

  kafka:
    image: wurstmeister/kafka
    depends_on:
    - zookeeper
    ports:
      - "9092:9092"
    environment:
      KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
      KAFKA_LISTENERS: SASL_PLAINTEXT://:9092
      KAFKA_ADVERTISED_LISTENERS: SASL_PLAINTEXT://localhost:9092
      KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
      ALLOW_PLAINTEXT_LISTENER: 'yes'
      KAFKA_OPTS: "-Djava.security.auth.login.config=/etc/kafka/kafka_server_jaas.conf"
      KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.auth.SimpleAclAuthorizer
      KAFKA_INTER_BROKER_LISTENER_NAME: SASL_PLAINTEXT
      KAFKA_SASL_ENABLED_MECHANISMS: PLAIN
      KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN
      KAFKA_SECURITY_PROTOCOL: SASL_PLAINTEXT
      KAFKA_SUPER_USERS: User:admin,User:enzo
      KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: 'true'
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./kafka_server_jaas.conf:/etc/kafka/kafka_server_jaas.conf

    restart: unless-stopped

kafka_server_jaas.conf
 KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret"
user_admin="admin-secret"
user_enzo="cisternino";
};

KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
user_admin="admin-secret";
};

Client {};

This is my docker for creating kafka-ui
version: '2'
services:
  kafka-ui:
    image: provectuslabs/kafka-ui
    container_name: kafka-ui
    ports:
    - "8080:8080"
    environment:
      KAFKA_CLUSTERS_0_NAME: 'local'
      KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: 'localhost:9092'
      KAFKA_CLUSTERS_0_ZOOKEEPER: 'zookeeper:2181'
      KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SASL_PLAINTEXT
      KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM: PLAIN
      KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";'

I get the following error after runing kafka-ui docker:
AdminClient clientId=kafka-ui-admin-1707208145-7] Connection to node -1 (localhost/<IP_ADDRESS>:9092) could not be established. Broker may not be available.
Describe the feature you're interested in
I want to log into the kafka server successfully.
Describe alternatives you've considered
I did read this issue, however the issue still remain.
https://github.com/provectus/kafka-ui/issues/573
Version you're running
the latest version
Additional context
No response

I have this configured appropriately:
    environment:
      DYNAMIC_CONFIG_ENABLED: 'true'
      KAFKA_CLUSTERS_0_NAME: relay-cluster
      KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092

And I am still getting this error in the logs:
kafka-ui  | 2024-08-24 15:50:31,526 WARN  [kafka-admin-client-thread | kafka-ui-admin-1724514626-3] o.a.k.c.NetworkClient: [AdminClient clientId=kafka-ui-admin-1724514626-3] Connection to node 1 (localhost/<IP_ADDRESS>:9092) could not be established. Broker may not be available.

Same problem here, I'm trying with kafka local (docker.io/confluentinc/confluent-local image). I tried both configuration with environment variables:
nerdctl run -d --name kafka-ui -p 8080:8080 -e "KAFKA_CLUSTERS_0_NAME=local0" -e "KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092" provectuslabs/kafka-ui
and with dynamic_config.yaml:
auth:
  type: DISABLED
kafka:
  clusters:
  - bootstrapServers: kafka:9092
    name: local-cluster
    properties:
      security.protocol: PLAINTEXT
    readOnly: false
rbac:
  roles: []
webclient: {}

nerdctl run -d --name kafka-ui -p 8080:8080 -e DYNAMIC_CONFIG_ENABLED=true -e LOGGING_LEVEL_ROOT=DEBUG -v "C:\PSI\LIM\dynamic_config.yaml:/etc/kafkaui/dynamic_config.yaml" provectuslabs/kafka-ui
But I have the same problem:
2024-11-22 11:44:36,908 WARN  [kafka-admin-client-thread | kafka-ui-admin-1732275876-27] o.a.k.c.NetworkClient: [AdminClient clientId=kafka-ui-admin-1732275876-27] Connection to node 1 (localhost/<IP_ADDRESS>:9092) could not be established. Broker may not be available.
Then some debug log:
2024-11-22 11:44:37,003 DEBUG [kafka-admin-client-thread | kafka-ui-admin-1732275876-27] o.a.k.c.ClientUtils: Resolved host localhost as <IP_ADDRESS>
2024-11-22 11:44:37,003 DEBUG [kafka-admin-client-thread | kafka-ui-admin-1732275876-27] o.a.k.c.NetworkClient: [AdminClient clientId=kafka-ui-admin-1732275876-27] Initiating connection to node localhost:9092 (id: 1 rack: null) using address localhost/<IP_ADDRESS>
2024-11-22 11:44:37,003 DEBUG [kafka-admin-client-thread | kafka-ui-admin-1732275876-27] o.a.k.c.n.Selector: [AdminClient clientId=kafka-ui-admin-1732275876-27] Connection with localhost/<IP_ADDRESS> (channelId=1) disconnected
If I try to change the port to 9094, it seems to convert the host name Kafka to the correct ip address:
2024-11-22 11:44:37,770 DEBUG [kafka-admin-client-thread | kafka-ui-admin-1732275471-20] o.a.k.c.NetworkClient: [AdminClient clientId=kafka-ui-admin-1732275471-20] Initiating connection to node kafka:9094 (id: -1 rack: null) using address kafka/<IP_ADDRESS>
Why does it try to connect in localhost if I use port 9092?


Need information on setting the Username and Password for Configured Thanos RemoteWrite Url

Hi All,
I am using the below mentioned command for setting the configurations to send the data to thanos using remotewrite API.
docker run -p 9001:9001 quay.io/freshtracks.io/avalanche  --metric-count=5 --label-count=2  --const-label=TenantId=tenant1 --const-label=ProductName=Pname  --remote-url=http:///api/v1/receive
Need information on how to set the user name and password for the Thanos remote write URL to push the data to thanos.
When i checked the help options i dont see any option to set Username and Pwd .

Can not be done using https://<username>:<password>@<url>/<path> format? Not the best but probably a good workaround

I don't know about thanos, but we successfully used avalanche to perform load testing from different tenants doing remote writes to cortex.
we used in our deployments to set container arguments something like this:
      containers:
      - name: pg-avalanche
        image: avalanche-image-here
        args:
        - "--metric-count=15000"
        - "--series-count=4"
        - "--label-count=5"
        - "--port=9001"
        - "--series-interval=2629746"
        - "--metric-interval=2629746"
        - "--remote-url=https://cortex-distributor.***.****.**/api/prom/push"
        - "--remote-batch-size=1000"
        - "--const-label=orgid={{ .Values.orgId }}"
        - "--remote-requests-count=1000"
        - "--remote-write-interval=30s"
        - "--remote-tenant={{ .Values.orgId }}"
        - "--tls-client-insecure"


Generalize the properties :numerator, :denominator, :multiplier, and :multiplicand

The domains and ranges applied to the properties :numerator, :denominator, :multiplier, and :multiplicand (i.e., :RatioUnit, :ProductUnit, and :UnitOfMeasure) leave them more constrained than they perhaps ought to be.
Also, :mutliplier and :multiplicand should be inverses.

DECISION:

Create separate issue for broadening the definition of Specification (See: https://github.com/semanticarts/gist/issues/405)
Reconsider the other points afterwards.

When the order is important, it would be easier to remember factor1 and factor2.

From issue review meeting 2021-07-22:
When would the distinction between multiplier and multiplicand be significant?
Why are they limited to ProductUnits?
Similarly, why are numerator and denominator limited to units of measure?
Deferring discussion for feedback from @uscholdm.

multiplier and multiplicand are not inverses, as @uscholdm points out. Both predicates relate one of the multipliers to the product, not to one another. It's analogous to the relationship between fromAgent and toAgent.

When would the distinction between multiplier and multiplicand be significant?

I don't know if it would ever matter, I presume this is just borrowed from mathematics which uses these (albeit rather obscure) terms. Factor1 and Factor2 would might be easier as Phil suggests. If we wanted to be analy consistently, we would use divndent and divisor rather than numerator and denominator, but lets forget that bad idea.

Why are they limited to ProductUnits?
Because they only make sense when you multiply two units which is what a ProductUnit is.

MORE IMPORTANTLY: Having spent untold hours painstakingly using multiplicand/multiplier/numerator/denominator to create many dozens of units, so far it has never paid any dividends. (so to speak).

multiplier and multiplicand are not inverses, as @uscholdm points out. Both predicates relate one of the multipliers to the product, not to one another. It's analogous to the relationship between fromAgent and toAgent.

Excellent analogy

We have a client who is using numerators and denominators for ordinary fractions, and has to define them because the gist predicates are overly narrow.

We have a client who is using numerators and denominators for ordinary fractions, and has to define them because the gist predicates are overly narrow.

I see..So relaxing the domain/range makes sense. You could add domain(range)Incldes annotations.
We made formulas for one of our cients (@Boris do you recall whether we used numerator/denominator for that)

Boris: numerator and denominator are needed for complex units of measure. owl:rational can be used in other cases.
DECISION: Remove domain and range from all four predicates.


Change request for Early Bound Types

Hi Scott,
Our team in Capgemini really like the SPKL framework. Really great job!
With regards to Early Bound Types, it would seem the all entities will be created within a single file. We think having the entities generated in separate files will work better for our use cases. We are happy to contribute this back to the framework if this is OK with you.
Cheers.

Thanks for the encouraging words 👍
I agree it would be good to have the option to do this (although I don't do it myself)
A configuration option flag to turn on splitting could be added using a similar approach to Darly's implementation here - https://github.com/daryllabar/DLaB.Xrm.XrmToolBoxTools/blob/de389e0be4be4e2b05aaeceff484863ad61d136e/DLaB.CrmSvcUtilExtensions/BaseCustomCodeGenerationService.cs#L264
Since CrmSvcUtil doesn't give the option natively - the code file must then be parsed and split after it is generated.
A Pull Request would be very well received!

Awesome! we will take this up and start looking at it now.

Hi Scott, just finished the work to implement these changes, however I am having some issue creating a pull request. Probably I am doing something wrong :)

Hi @scottdurow I eventually figured out how to address my issue. Pull request is now ready for your review:
https://github.com/scottdurow/SparkleXrm/pull/216
Thanks.

Hi @scottdurow, without trying to put any pressure on you :) was wondering if you have had any time to review my pull request. Thanks.

@scottdurow are you shelling out to the crmsvcutil in order to Generate your entities?  Why not just use my project?  You'd just have to map from whatever your config settings are to the crmsvcutil.exe.config and use the dlls from the EarlyBoundGenerator crmsvcutil folder straight up.

@daryllabar If you could provide your wrapper assembly as a nuget package so it can be pulled in as part of the automated build that would make it easy to swap out.
@realekhor Would prefer for the code to be pulled into the Tasks Assembly - rather not introduce another assembly just for this one SourceCodeManipulator class

So I could easily add a nuget package that is just the CrmSvcUtil Extensions dll.  You'd have to manage setting the the settings in the app.config and configuring the CrmSvcUtil to use the correct services in the command line.  Would that work?

Hi Scott, Roslyn provides a very simple approach for processing the generated file from crmsvcutil. However, I didn’t want Roslyn libraries polluting Spkl :). That is why I implemented it as a separate lib - agree one class in a lib is overkill :)
Sent with BlackBerry Work
(www.blackberry.com)
From: Scott Durow <notifications<EMAIL_ADDRESS>Date: Thursday, 12 Apr 2018, 5:33 pm
To: scottdurow/SparkleXrm <SparkleXrm<EMAIL_ADDRESS>Cc: Asemota, Ekhor <ekhor.asemota<EMAIL_ADDRESS>Mention <mention<EMAIL_ADDRESS>Subject: Re: [scottdurow/SparkleXrm] Change request for Early Bound Types (#215)
@daryllabarhttps://github.com/daryllabar If you could provide your wrapper assembly as a nuget package so it can be pulled in as part of the automated build that would make it easy to swap out.
@realekhorhttps://github.com/realekhor Would prefer for the code to be pulled into the Tasks Assembly - rather not introduce another assembly just for this one SourceCodeManipulator class
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/scottdurow/SparkleXrm/issues/215#issuecomment-380865195, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AcOoFgiXRKZUSBGdJBFrYkbeZ7lhOwzGks5tn4BdgaJpZM4SyKeV.

Capgemini is a trading name used by the Capgemini Group of companies which includes Capgemini UK plc, a company registered in England and Wales (number 943935) whose registered office is at No. 1, Forge End, Woking, Surrey, GU21 6DB.
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.

@realekhor The Microsoft.CodeAnalysis.* packages will need to be downloaded either way  - so let's keep it all in the spkl tasks assembly.

@scottdurow Would you want that nuget package: https://github.com/scottdurow/SparkleXrm/issues/215#issuecomment-380886525

@scottdurow Would you be able to set some config options in a config file and shell out to an exe?  If that's the case, you can use the XrmToolBoxPlugin Early Bound Generator Nuget Package as is.  I could also probably provide a C# dll that populates the config file correctly as well if that is helpful... Let me know.

Would rather not have an exe calling an exe calling an exe! Would it be possible to factor the bit out into a class library?

@scottdurow did the regex change not achieve this?

@scottdurow I use the CrmSvcUtil.  If you are already using that, then all you need from me is my assembly, and documentation on how to update the command you're shelling to, and how to set the app.config settings.  If that statement sounds correct, I can get on that for you.

@realekhor using Darly's library will enable us to get other things that he does already like create string constants and control the case of the attribute names. It'll be a parallel feature that can be used along side the existing earlybound generation in spkl 👍

@daryllabar That sounds good - so we would just call crmsvcutil with your config.

@scottdurow and @daryllabar looking at this from a different angle, do you guys know if the Microsoft team responsible for CrmSvcutil will be open to us actually contributing to CrmSvcUtil and just make it generate the code "properly" into separate files in the first place :) i think CrmSvcUtil is not open source so might be an issue :(
If they accept, i will volunteer to help.

@realekhor We wouldn't be able to tell you if we've heard of any plans that are not public.  I have not seen anything publicly that says they are looking to open source anything in the SDK.

@scottdurow I believe this is all ready existing for you in the same NuGet package for the XrmToolBox.

Reference the DLaB.EarlyBoundGenerator.dll,
Call var config = DLaB.EarlyBoundGenerator.Settings.EarlyBoundGeneratorConfig.Load("StringPathToWhereYouWantToStoreTheEarlyBoundConfigSettings");
Configure the properties for the EarlyBoundGeneratorConfig however you'd like.
Save the Config settings if you'd like.  If you are managing all of these settings yourself, you can always give skip this call, and give the parameter in step 2 a dummy path: config.Save("StringPathToWhereYouWantToStoreTheEarlyBoundConfigSettings");
5.. Create an instance of the logic class passing in the config: var logic = new DLaB.EarlyBoundGenerator(config);
Generate the files logic.ExectueAll();

If you'd like to control the command line calling yourself, I'll need to make a few methods in the logic class public.  There is also a LogHandler Delegate that you'll need to wire up if you want logging.  logic.OnLog += (LogMessageInfo info) => {}

@daryllabar When I try and install the nuget package I get Unable to resolve dependency 'XrmToolBox' - I'd rather not take a copy of your assembly - rather just reference the package from nuget.

hmm... the assembly itself also has references to XTB stuff that you don't want as well.  I'll build a separate dll and nuget.

@scottdurow This has 0 dependencies on XrmToolBox, and the dll itself has 0 dependencies on Xrm, so it should be agnostic to whatever version of the SDK you may or may not be using. https://www.nuget.org/packages/DLaB.Xrm.EarlyBoundGenerator.Api/

Did this get resolved @scottdurow ?

Hi @daryllabar,
I thought I might take a look into this one.  Would you be able to strongly-name the assembly in your nuget package please?  Before I could use the DLaB.EarlyBoundGenerator.Api nuget package I had to sign it otherwise I was getting the error:
Generating early bound types
Searching for plugin config in 'C:\Dev\Repos\SparkleXrm\spkl\spkl\bin\Debug'
Using Config 'C:\Dev\Repos\SparkleXrm\spkl\spkl\bin\Debug'
The application terminated with an error.
Could not load file or assembly 'DLaB.EarlyBoundGenerator.Api, Version=1.2019.5.12, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)

I signed it using the instructions here, https://www.codeproject.com/tips/341645/referenced-assembly-does-not-have-a-strong-name, which might get boring after a few releases!
I'm pretty much a noob to this so the above may also be due to an obvious configuration I've got wrong.

Just pushed a signed version.

So, I've had a first stab at this, my code is here:  https://github.com/filcole/SparkleXrm/tree/ebg. It's not quite ready for a pull request!
I've added a new earlyBoundGeneratorSettings option inside the earlyboundtypes JSON configuration.   If this configuration is set then Daryls Early Bound Generator library will be called with the configuration file.  If it's empty, then then spkl behaves as before.  Logging now included, thanks @daryllabar for all your help!


All mod toggles in separate category

Implements some changes discussed in #14. Creates a "Toggle Mods" category in the mod options that contains the toggles for all toggleable mods. Categories for each individual mod no longer have the toggle in them, and are only created if the mod has additional settings.
Currently, mods that have no settings and are not toggleable do not appear in the mod options at all, but given that users have to specify their modlist separately anyway, that's probably fine. After all, if a mod doesn't have settings and can't be toggled, then there's nothing to configure, and configuring loaded mods is what the mod options menu is for.

In this image, you can see that the mods "Sorted Mission Grid," "Click2Play," and "FullAuto" do not have their own categories because they don't have any options (other than being toggleable). The mouse is hovering over the toggle for "Click2Play," which displays the mod description as its tooltip.

Currently, mods that have no settings and are not toggleable do not appear in the mod options at all, but given that users have to specify their modlist separately anyway, that's probably fine.

I disagree. Since we have practically no non-DMF mods, people are accustomed to the mod options being a complete list of their installed mods.
And when troubleshooting, "Does it appear in the mod options?" is the easiest way to discern between "has loaded but fails elsewhere" vs "failed during initial load".

 Their toggles are disabled, locked in the "On" position. I'm not sure of a better way that would still list them in load order without messing up the formatting, and this provides a way of communicating that the mod is loaded and can't be turned off. Hovering over a disabled toggle still provides the mod's description as a tooltip, as in the screenshot below.

No issues I can find testing it out. Looks good!


Add an option for incremental restore snapshot by leveraging difference comparasion of two snapshots

Output of restic version
restic 0.14.0 compiled with go1.17.3 on linux/amd64
What should restic do differently? Which functionality do you think we should add?

Currently, restic can only restore the full snapshot content. But in some cases, there are already existing previous snapshot content in the restore target location, it's time consuming to make a full restore in this case.
In https://github.com/restic/restic/issues/2348#issuecomment-553436818, one way to do this is to compare the target file modify date and size with snapshot meta data. In this way, restic need to scan the target location first.
In https://github.com/restic/restic/issues/2348#issuecomment-740527540, it uses restic mount and rclone together to accomplish incremental restore.  In this way, restic incremental restore is dependent on external command. And restic mount would constantly sync remote status in the background which consume network resources in case there are lots of backups.
So I'm proposing a more direct way to accomplish this, which is to add an option in command restic restore for user to choose if they want to leverage the result of restic diff <snapshot1> <snapshot2>.
I see in the implementation of diff command, the Comparer can get a list of new/delete/modified file list. I think this information can be used to restore file on the target snapshot if user make sure the data consistency on the target restore location.
In this way, restic can generate a serial of restore operation such as creating/updating/deleting files on target destination without extra scanning effort, as well as preventing full restore every time.
What are you trying to do? What problem would this solve?
Use new restic restore option to accomplish incremental restore restic snapshot content leveraging previous snapshot information.

Did restic help you today? Did it make you happy in any way?

if user make sure the data consistency on the target restore location.

As discussed in https://github.com/restic/restic/pull/3425#issuecomment-1336908260 that is a rather risky assumption to make. I'd rather prefer to provide a restore --sync snapshot-ID command, which would restore/remove files as necessary and could skip already up-to-date files.
That will be a bit slower than the suggestion here, but will be far easier to use correctly. With a bit of scripting it should already be possible to create the include patterns to just let the restore command restore only the modified files.

Any update about the a restore --sync command since the pull request making restore directly resumable has been closed? Since mounting a snapshot and using rsync is a lot slower it would be great to have a restore --sync option. https://github.com/restic/restic/issues/3828

Closing in favor of https://github.com/restic/restic/issues/4817


fix: support custom slog levels

Motivation
Closes #116
Changes
I've removed the fromSlogLevel map and type casting to int32/Level instead.
For more information look at the commits.
Tests done
I've provided two unit tests with custom slog levels. If you want me to write additional test cases, feel free to ask for them.

Thank you @lvlcn-t!


Typo Update faqs.md

Description:
This PR corrects an awkwardly phrased sentence in the FAQ section of the documentation. The original sentence:
This section of the documentation will cover common questions and encounters often asked by users and developers.

has been updated to:
This section of the documentation will cover common questions and common encounters by users and developers.

Explanation of the fix:
The phrase "encounters often asked" is grammatically incorrect and unclear. It has been replaced with "common encounters," which is more appropriate and natural in this context.
Why this is important:
Clarity in documentation is essential for users and developers to easily understand the content. This change improves the sentence structure and ensures the meaning is clear, avoiding any confusion for those reading the FAQ section.

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

No thanks


[share_plus] Dependency resolution issue

Because share_plus >=1.1.0 depends on share_plus_windows ^1.0.0 which doesn't match any versions, share_plus >=1.1.0 is forbidden.
Seems like share_plus should depend on share_plus_windows ^0.1.0 or share_plus_windows 1.0.0 should be published.

Hi @britannio for what I can see share_plus depends on share_plus_windows ^0.1.0: https://github.com/fluttercommunity/plus_plugins/blob/main/packages/share_plus/pubspec.yaml#L26.
However when I import the project, the same issue can be observed.
I tried to release share_plus 1.1.1 which depends on share_plus_windows ^0.1.0 yet the same issue is observed.
Maybe someone else can clarify why this issue is happening.

Does it need some specific platform or Flutter version? I tried Windows, Linux, and Android, but had no issues. I'm on the dev channel.

Not happening to me any more too.
I added  share_plus: ^1.1.1 to a project and pub get worked well.
Maybe was a caching issue? I will close this meanwhile, please reopen it if the issue persist.


Enh/wonders

Summary by CodeRabbit
Release Notes

New Features

Introduced hasWonder property to realm and structure data, enhancing the representation of structures with wonders.
Added new label textures for the minimap to visually distinguish structures based on ownership and wonder presence.
Enhanced ResourceCost component to display amounts with up to six decimal places for improved precision.

Bug Fixes

Updated logic in several components to ensure proper handling and display of structure names and properties.

Style

Adjusted text wrapping for longer structure names in the PlayerId component to improve readability.

can you fix build


v-once don't work inside router-link

Vue.js version
2.0.2
Reproduction Link
Sorry, i don't know how to reproduce in JS Fiddle, follow the code:
<router-link :to="{ name: 'users.show', params: { user: $route.params.user } }" tag="li" >
    <a v-once>{{ user.name }}</a>
</router-link>

Steps to reproduce

Instanciate a data with an object
Create a router-link and set the context an attribute of the object you create previously
Add v-once (in this step) the text stop showing

What is Expected?
Expect to show the user name and don't change the value if the object data is changed.
What is actually happening?
When add the v-once directive to the wrap element of the var the attribute is not showed any more.

Please move this issue to https://github.com/vuejs/vue-router
Also, I cannot reproduce the issue. You can make a reproduction based on this fiddle: http://jsfiddle.net/yyx990803/xgrjzsup/


Send sync status metrics to Datadog

Every n minutes1, send over the count of sync statuses to Datdog. In other words, we want this query available as a Datadog metric:
psql> SELECT "syncStatus", COUNT(*) FROM "Subscriptions" GROUP BY "syncStatus";
 syncStatus | count
------------+-------
            | 5
 PENDING    | 1
 COMPLETE   | 100
 ACTIVE     | 10
 FAILED     | 5
(5 rows)

This adds bin/send-sync-status-metrics that runs the above query and sends it along to Datadog under the jira_integration.syncs metric.
jira_integration.syncs:5|g|#status:
jira_integration.syncs:1|g|#status:PENDING
jira_integration.syncs:100|g|#status:COMPLETE
jira_integration.syncs:10|g|#status:ACTIVE
jira_integration.syncs:5|g|#status:FAILED

This will allow us to track syncs over time and proactively track the health of syncs. My hope is that this can focus our attention on driving the total number of failed syncs to zero.

1: Once deployed, I plan to add a Heroku scheduler job that sends the metrics every ten minutes. This is the most frequent interval possible with that add-on. I'm working to install the Advanced Scheduler add-on, which will allow this metric to be collected every minute.

By the way, I've noticed you have posted these metrics in other PRs:

jira_integration.syncs:5|g|#status:

I think that's great! How do you print that out? I'd like to do the same in my PRs.

script/datadog-spy listens for statsd metrics and prints them to the console. It's a quick way to test that things are working as expected.
There's one quirk: because hot-shots doesn't end messages with \n, everything gets printed to one line. 🤦♂ If you figure out a way to inject a newline between metrics, I'd be in your debt!

There's one quirk: because hot-shots doesn't end messages with \n, everything gets printed to one line. 🤦♂ If you figure out a way to inject a newline between metrics, I'd be in your debt!

I just ran into this from another scenario. I found https://stackoverflow.com/a/24574563 and created a bash script in my PATH:
#!/bin/bash

# Found from https://stackoverflow.com/a/24574563
# Convert "\n" literals into new lines

awk '{gsub(/\\n/,"\n")}1'

I run it like some_command_that_outputs_literals | literal_to_newline


Remove temporary "semicolon_delimited_script"

When using this action, the directory will be left with a "semicolon_delimited_script" file.
In my case, this script was then built to a container and distributed to the world, just because it wasn't deleted after usage.
When using use bash Shell Parameter Expansion, we do not need to create this file at all.

Looks good to me although I might have to add a multiline test to make sure it's being delimited with a semicolon right.
Because this is a docker run command, I don't know how it's possible for this file to end up in your built image since the image built before this file was created. Because it's sharing the same volume, I suspect you must be building it again in the same volume after the docker run action. Can you confirm?

Hi
Yes, that's correct, I have to mount the workdir to run container actions, like:
uses: addnab/docker-run-action@v3
with:
  image: eu.gcr.io/private-image
  options: -v ${{ github.workspace }}:/home/node/app
  run: |
    npm ci
    npm run production

I tested multiline manually (as my script, in fact, uses multi-line).

Thanks for fixing this.

I'll release this as a patch on v3 on Friday after testing it.

Hi!
We're using docker-run-action to run integration tests for https://github.com/heyman/postgresql-backup.
I believe this PR broke our tests where we run commands with multi line SQL queries passed in as arguments.
Here is an example that doesn't work with the main branch: https://github.com/heyman/postgresql-backup/blob/1d38f991cd4bd4d2b7eb2043ac062c9354c53502/.github/workflows/test.yml#L39-L52
I was able to fix the tests by switching to the v3 tag instead of the main branch.

Hi @heyman
Yes, this change might break some special cases of multiline-script, one might be yours. Your issue is most likely, that you use indents for formatting reason. However, indents in YAML multiline-folding (>) AFAIK does also force a newline.

So you might be fine when removing additional indents for the lines after the first one
or adding line continuation backslash before the line break (\ at the end of lines except the last one)

Other than that, I have to say that I also had a lot of issues with this Action for my purposes. First I wanted to fix them in this repo, but i found that it's very hard to do in a Docker Container Action.
I therefore wrote a new Javascript based Action published as kohlerdominik/docker-run-action.


WAVE-438 - Removes XMPP federation implementation along with relevant…

… resources and unit tests.
Fixes issue with a test when running with Java1.8.

LGTM, I like the changes from string to immutable maps :)


[mempool] evict txn only for adding ready txn

Motivation
originally, when adding a txn to a full mempool, we were evicting txns at the cost of inserting any txn. This is problematic when trying to add a non-ready txn with sequence number x, we evict a txn with sequence number x+1, which blocks progress for that account. This PR adds the restriction where we only evict txns from a full mempool for inserting a txn that will be ready for broadcast upon insertion.
Test Plan
Added new test, breaks without impl changes

@bors-libra: r+

:pushpin: Commit e170e97 has been approved by phoenix-antigravity

:hourglass: Testing commit e170e97d600bd22b8725a02d342547dda8da4ce3 with merge ab8d734582386339391f16a4440d18ec59fb3bfa...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: phoenix-antigravity
Pushing ab8d734582386339391f16a4440d18ec59fb3bfa to master...


[VsCode] Connecting to a task hub results in error like 'npm list -g --depth=0 npm ERR! ...'

Starting from v5.2 DfMon's VsCode extension resolves the full true path to func.exe by executing npm list -g --depth=0 (to get the location of npm's global packages) and then looking for azure-functions-core-tools package in that folder.
It appears, that npm list -g --depth=0 might fail, if there's any corruption/incompatibility in those global packages.
If you're getting an error related to this, then the quick solution is to explicitly specify full path to func.exe (or just func on some platforms) via this setting:

On Windows that path typically looks like C:\Users\username\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\func.exe. On other platforms it will be different, but similarly related to npm's global folder.

Also getting this error

@mikeleuer , do you have azure-functions-core-tools globally installed (since it is a requirement for VsCode ext to work) ?

@mikeleuer , in that case the solution for you should be the same - just specify the full path to func.exe (wherever it is on your system) via Custom Path to Azure Functions Host setting.

@scale-tone That worked thank you. "C:\Program Files\Microsoft\Azure Functions Core Tools\func.exe" was the location of the file. Hopefully the extension will auto detect the location with updates.

Would you consider to fall back to system path "func"? I use yarn as my package manager.

@junalmeida , sure, the fix is on its way. Expect a newer version in the next few days.
And I will consider checking yarn global package folder as well.

fixed in v5.3

It is not working for me, this is the output I get when it tries to start the backend:
npm list -g failed. Command failed: npm list -g --depth=0
npm ERR! peer dep missing<EMAIL_ADDRESS>|| >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev, required by<EMAIL_ADDRESS>npm ERR! missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>|| >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev, required by<EMAIL_ADDRESS>Using Functions host: C:\Users\junior\AppData\Local\Yarn\bin\func
Attempting to start the backend from c:\Users\junior\.vscode\extensions\durablefunctionsmonitor.durablefunctionsmonitor-5.3.0\backend on http://localhost:37072/a/p/i...

No response within 60 seconds. Ensure you have the latest Azure Functions Core Tools installed globally.
It seems the file it is trying to start is not correct, as bin\func is for bash on *nix. On windows it should be either bin\func.cmd or C:\Users\junior\AppData\Local\Yarn\Data\global\node_modules\azure-functions-core-tools\bin\func.exe.

Apologize, I should have tested this with yarn on Windows (I only tested on Linux).
Please, specify the explicit path to func.exe as a workaround.

No need to apologize, this happens. And yes I can confirm it works if I set func.exe explicit.

Re-fixed in v5.4. Please, validate