Possible to attach hosted ledger on EC2

I am running a hosted von-network on EC2 and I have ensured the port 9000 is open for communication and the nodes are able to communicate to each other. I tested it and am able to access it. I changed the ledger url to the ip at port 9000 and am getting the following errors.
2024-01-10 18:16:06,314 aries_cloudagent.commands.start ERROR Exception during startup:
issuer-kit-agent-1         | Traceback (most recent call last):
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/commands/start.py", line 72, in init
issuer-kit-agent-1         |     await startup
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/commands/start.py", line 28, in start_app
issuer-kit-agent-1         |     await conductor.setup()
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/core/conductor.py", line 184, in setup
issuer-kit-agent-1         |     if not await ledger_config(
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/config/ledger.py", line 136, in ledger_config
issuer-kit-agent-1         | }
issuer-kit-agent-1         | Shutting down
issuer-kit-agent-1         |     async with ledger:
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/ledger/indy_vdr.py", line 308, in aenter
issuer-kit-agent-1         |     await self.pool.context_open()
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/ledger/indy_vdr.py", line 229, in context_open
issuer-kit-agent-1         |     await self.open()
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/ledger/indy_vdr.py", line 192, in open
issuer-kit-agent-1         |     self.handle = await open_pool(transactions=txns, socks_proxy=self.socks_proxy)
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/indy_vdr/pool.py", line 177, in open_pool
issuer-kit-agent-1         |     await pool.refresh()
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/indy_vdr/pool.py", line 58, in refresh
issuer-kit-agent-1         |     await bindings.pool_refresh(self.handle)
issuer-kit-agent-1         |   File "/usr/local/lib/python3.9/asyncio/futures.py", line 284, in await
issuer-kit-agent-1         |     yield self  # This tells Task to wait for completion.
issuer-kit-agent-1         |   File "/usr/local/lib/python3.9/asyncio/tasks.py", line 328, in __wakeup
issuer-kit-agent-1         |     future.result()
issuer-kit-agent-1         |   File "/usr/local/lib/python3.9/asyncio/futures.py", line 201, in result
issuer-kit-agent-1         |     raise self._exception
issuer-kit-agent-1         | indy_vdr.error.VdrError: Pool timeout: Request was interrupted
issuer-kit-api-1           | debug: Agent not ready, retrying in 500ms...
issuer-kit-api-1           | debug: Agent not ready, retrying in 500ms...
issuer-kit-agent-1 exited with code 0
Im running in the exact configuration of demo mode just changed the ledger to the one hosted on EC2. Am I missing something? Thanks.

@SuryaSHalwasia, what does the genesis file look like for your network?  It needs to list the publicly available IP addresses and ports of the nodes.  I think the URL you updated is only used to fetch the genesis file from a von-network instance.  The nodes themselves need to be publicly accessible and will use port 9701 through 9708.

Hey, so I have hosted the ledger on http://<IP_ADDRESS>/ using the above command.
But I'm getting the same issues are below.
issuer-kit-api-1           | debug: Agent not ready, retrying in 500ms...
issuer-kit-keycloak-1      | 2024-01-10 20:25:15,513 WARN  [io.quarkus.agroal.runtime.DataSources] (main) Datasource  enables XA but transaction recovery is not enabled. Please enable transaction recovery by setting quarkus.transaction-manager.enable-recovery=true, otherwise data may be lost if the application is terminated abruptly
issuer-kit-api-1           | debug: Agent not ready, retrying in 500ms...
issuer-kit-agent-1         | 2024-01-10 20:25:15,990 aries_cloudagent.commands.start ERROR Exception during startup:
issuer-kit-agent-1         | Traceback (most recent call last):
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/commands/start.py", line 72, in init
issuer-kit-agent-1         |     await startup
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/commands/start.py", line 28, in start_app
issuer-kit-agent-1         |     await conductor.setup()
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/core/conductor.py", line 184, in setup
issuer-kit-agent-1         |     if not await ledger_config(
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/config/ledger.py", line 136, in ledger_config
issuer-kit-agent-1         |     async with ledger:
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/ledger/indy_vdr.py", line 308, in aenter
issuer-kit-agent-1         |     await self.pool.context_open()
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/ledger/indy_vdr.py", line 229, in context_open
issuer-kit-agent-1         |     await self.open()
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/aries_cloudagent/ledger/indy_vdr.py", line 192, in open
issuer-kit-agent-1         |     self.handle = await open_pool(transactions=txns, socks_proxy=self.socks_proxy)
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/indy_vdr/pool.py", line 177, in open_pool
issuer-kit-agent-1         |     await pool.refresh()
issuer-kit-agent-1         |   File "/home/aries/.local/lib/python3.9/site-packages/indy_vdr/pool.py", line 58, in refresh
issuer-kit-agent-1         |     await bindings.pool_refresh(self.handle)
issuer-kit-agent-1         |   File "/usr/local/lib/python3.9/asyncio/futures.py", line 284, in await
issuer-kit-agent-1         |     yield self  # This tells Task to wait for completion.
issuer-kit-agent-1         |   File "/usr/local/lib/python3.9/asyncio/tasks.py", line 328, in __wakeup
issuer-kit-agent-1         |     future.result()
issuer-kit-agent-1         |   File "/usr/local/lib/python3.9/asyncio/futures.py", line 201, in result
issuer-kit-agent-1         |     raise self._exception
issuer-kit-agent-1         | indy_vdr.error.VdrError: Pool timeout: Request was interrupted
issuer-kit-agent-1         | }
issuer-kit-agent-1         | Shutting down
issuer-kit-keycloak-1      | 2024-01-10 20:25:16,226 WARN  [org.infinispan.PERSISTENCE] (keycloak-cache-init) ISPN000554: jboss-marshalling is deprecated and planned for removal
Thanks.

@SuryaSHalwasia, If you look at the genesis file you'll see it's using the internal IP addresses of the nodes; http://<IP_ADDRESS>/genesis.  You need to start von-network using the public IP address of the server, as indicated in the examples above.  The command I provided is ONLY an example.  Please update the IP address and values appropriately for your environment, and remove any references to the BCovrin Test environment.  Since you've already run von-network once, you'll have to run ./manage rm to delete all of the stored values and start over.

@SuryaSHalwasia, I also want to make sure you saw this notice; https://github.com/bcgov/von-network?tab=readme-ov-file#von-network-is-not-a-production-level-indy-node-network

@WadeBarnes yes thanks. Using this majorly for testing purposes. Thank you. The ledger is running just getting one error in my BCWallet.

Do I also need to host the issuer-web as currently thats running on my local desktop? Thanks

Are you using a custom version of the BC Wallet that has been configured to connect to your von-network instance?
Also since you reset the ledger, you'll have to reset everything else too; agents, wallets, etc.

@SuryaSHalwasia, Here is a startup command customized for your environment.  Could you use it rather than the only with all the command line options from the example please:
./manage start <IP_ADDRESS> LOG_LEVEL=info RUST_LOG=error POOL_CONNECTION_DELAY=20 POOL_CONNECTION_ATTEMPTS=30 WEB_SERVER_HOST_PORT=80 "LEDGER_CACHE_PATH=/home/indy/.indy_client/ledger-cache/ledger-cache-db"

Are you using a custom version of the BC Wallet that has been configured to connect to your von-network instance?
Also since you reset the ledger, you'll have to reset everything else too; agents, wallets, etc.

No. Do I need to have one custom one? Its also not running on my esatus wallet. Thanks

Are you using a custom version of the BC Wallet that has been configured to connect to your von-network instance?
Also since you reset the ledger, you'll have to reset everything else too; agents, wallets, etc.

No. Do I need to have one custom one? Its also not running on my esatus wallet. Thanks

Yes, the wallet needs to be configured to talk to your network.  By default the BC Wallet only communicates with three pre-configured ledgers, and your custom ledger is not in that list.
BCovrin Test, is in that list.  So you might find it easier to just use it.

The esatus wallet is also only able to communicate with a list of preconfigured ledgers.  BCovrin Test is in that list too.

The esatus wallet is also only able to communicate with a list of preconfigured ledgers. BCovrin Test is in that list too. With esatus, you can configure custom ledgers by providing it with the genesis file for the ledger. On the settings screen, select Change Ledger, then click the + in the top right corner. From there you can import a genesis file that has been saved to your phone. BC Wallet does not have this sort of option yet.

Thank you so much.


Error using the test_start-scripts

Error description:
502 Bad Gateway Error occurs on URL after running sudo ./test_start.sh sub.domain.tld. The test_start_ssl.sh-script is behaving identical.
Steps to reproduce

Clone the repository
Change external access interface to external IP-adress of the server in the .env file (see blow).

#
# docker-compose-letsencrypt-nginx-proxy-companion
#
# A Web Proxy using docker with NGINX and Let's Encrypt
# Using the great community docker-gen, nginx-proxy and docker-letsencrypt-nginx-proxy-companion
#
# This is the .env file to set up your webproxy enviornment

#
# Your local containers NAME
#
NGINX_WEB=nginx-web
DOCKER_GEN=nginx-gen
LETS_ENCRYPT=nginx-letsencrypt

#
# Set the IP address of the external access Interface
#
IP=xxx.xxx.xxx.xxx

#
# Default Network
#
NETWORK=webproxy

# If you want to customize the created network, use the following variable
#NETWORK_OPTIONS="--opt encrypted=true"

#
# Service Network (Optional)
#
# In case you decide to add a new network to your services containers you can set this
# network as a SERVICE_NETWORK
#
# [WARNING] This setting was built to use our `start.sh` script or in that special case
#           you could use the docker-composer with our multiple network option, as of:
#           `docker-compose -f docker-compose-multiple-networks.yml up -d`
#
#SERVICE_NETWORK=webservices

# If you want to customize the created network, use the following variable
#SERVICE_NETWORK_OPTIONS="--opt encrypted=true"

#
## NGINX file path (mount into the host)
# Here you can configure the path where nginx stores all the configurations and certificates.
# With the value ./nginx-data it creates a new sub-folder into your current path.

NGINX_FILES_PATH=./nginx-data

#
# NGINX use special conf files
#
# In case you want to add some special configuration to your NGINX Web Proxy you could
# add your files to ./conf.d/ folder as of sample file 'uploadsize.conf'
#
# [WARNING] This setting was built to use our `start.sh`.
#
# [WARNING] Once you set this options to true all your files will be copied to data
#           folder (./data/conf.d). If you decide to remove this special configuration
#           you must delete your files from data folder ./data/conf.d.
#
#USE_NGINX_CONF_FILES=true

#
# Docker Logging Config
#
# This section offers two options max-size and max-file, which follow the docker documentation
# as follow:
#
# logging:
#      driver: "json-file"
#      options:
#        max-size: "200k"
#        max-file: "10"
#
NGINX_WEB_LOG_DRIVER=json-file
NGINX_WEB_LOG_MAX_SIZE=4m
NGINX_WEB_LOG_MAX_FILE=10

NGINX_GEN_LOG_DRIVER=json-file
NGINX_GEN_LOG_MAX_SIZE=2m
NGINX_GEN_LOG_MAX_FILE=10

NGINX_LETSENCRYPT_LOG_DRIVER=json-file
NGINX_LETSENCRYPT_LOG_MAX_SIZE=2m
NGINX_LETSENCRYPT_LOG_MAX_FILE=10

#
# Set the local exposed ports for http and https on the Host
#
# NOTE: The default values are 80 and 443, only change this options if you really know what you are doing
#
#DOCKER_HTTP=80
#DOCKER_HTTPS=443

run sudo ./start.sh
run sudo ./test_start.sh sub.domain.tld
To retrieve Error log: sudo docker logs nginx-letsencrypt

Expected result
No 502 error on page, when visiting in Browser.
Error result
Besides 502 error in browser, the log shows:
Info: Custom Diffie-Hellman group found, generation skipped.
Reloading nginx docker-gen (using separate container nginx-gen)...
Reloading nginx (using separate container 2f7ef7a238239d0474b6c23ac6225691e6242c0dcd01dfd991ae9902eae1xxxx)...
2020/02/23 16:22:37 Generated '/app/letsencrypt_service_data' from 3 containers
2020/02/23 16:22:37 Running '/app/signal_le_service'
2020/02/23 16:22:37 Watching docker events
2020/02/23 16:22:37 Contents of /app/letsencrypt_service_data did not change. Skipping notification '/app/signal_le_service'
Sleep for 3600s
2020/02/23 16:22:55 Received event start for container 4d30277dxxxx
2020/02/23 16:23:10 Debounce minTimer fired
2020/02/23 16:23:10 Generated '/app/letsencrypt_service_data' from 4 containers
2020/02/23 16:23:10 Running '/app/signal_le_service'
/etc/nginx/certs/sub.domain.tld /app
Reloading nginx docker-gen (using separate container nginx-gen)...
Reloading nginx (using separate container 2f7ef7a238239d0474b6c23ac6225691e6242c0dcd01dfd991ae9902eae1xxxx)...
Creating/renewal sub.domain.tld certificates... (sub.domain.tld)
2020-02-23 16:23:11,708:INFO:simp_le:1323: Generating new account key
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 157, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw
  File "/usr/lib/python3.7/site-packages/urllib3/util/connection.py", line 61, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/lib/python3.7/socket.py", line 748, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
    chunked=chunked,
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 376, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 994, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 334, in connect
    conn = self._new_conn()
  File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 169, in _new_conn
    self, "Failed to establish a new connection: %s" % e
urllib3.exceptions.NewConnectionError: <urllib3.connection.VerifiedHTTPSConnection object at 0x7f8bd87fb8d0>: Failed to establish a new connection: [Errno -3] Try again

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 720, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/usr/lib/python3.7/site-packages/urllib3/util/retry.py", line 436, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f8bd87fb8d0>: Failed to establish a new connection: [Errno -3] Try again'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/simp_le.py", line 1565, in main
    return main_with_exceptions(cli_args)
  File "/usr/lib/python3.7/site-packages/simp_le.py", line 1549, in main_with_exceptions
    persist_new_data(args, existing_data)
  File "/usr/lib/python3.7/site-packages/simp_le.py", line 1408, in persist_new_data
    args, existing_data.account_key, existing_data.account_reg)
  File "/usr/lib/python3.7/site-packages/simp_le.py", line 1341, in registered_client
    directory = messages.Directory.from_json(net.get(args.server).json())
  File "/usr/lib/python3.7/site-packages/acme/client.py", line 1161, in get
    self._send_request('GET', url, **kwargs), content_type=content_type)
  File "/usr/lib/python3.7/site-packages/acme/client.py", line 1110, in _send_request
    response = self.session.request(method, url, *args, **kwargs)
  File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3.7/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f8bd87fb8d0>: Failed to establish a new connection: [Errno -3] Try again'))

Unhandled error has happened, traceback is above

Debugging tips: -v improves output verbosity. Help is available under --help.
/app
Sleep for 3600s
2020/02/23 16:25:51 Received event die for container 4d30277dxxxx
2020/02/23 16:25:51 Received event stop for container 4d30277dxxxx
2020/02/23 16:26:06 Debounce minTimer fired
2020/02/23 16:26:06 Received event start for container 4c085b5exxxx
2020/02/23 16:26:06 Generated '/app/letsencrypt_service_data' from 4 containers
2020/02/23 16:26:06 Running '/app/signal_le_service'
Sleep for 3600s
2020/02/23 16:26:21 Debounce minTimer fired
2020/02/23 16:26:21 Contents of /app/letsencrypt_service_data did not change. Skipping notification '/app/signal_le_service'
2020/02/23 16:34:58 Received event die for container 4c085b5exxxx
2020/02/23 16:34:58 Received event stop for container 4c085b5exxxx
2020/02/23 16:35:13 Debounce minTimer fired
2020/02/23 16:35:13 Contents of /app/letsencrypt_service_data did not change. Skipping notification '/app/signal_le_service'
2020/02/23 16:35:17 Received event start for container a9c96955xxxx
2020/02/23 16:35:32 Debounce minTimer fired
2020/02/23 16:35:32 Contents of /app/letsencrypt_service_data did not change. Skipping notification '/app/signal_le_service'

Comments

DNS record is set as A-level record to subdomain.
Maybe not to important: Time in logfile differs from system clock
OS is CentOS 8

Thank you for much appreciated help!

Hello there!
Set in the env file the IP <IP_ADDRESS> and try again.

Hey,
already tried this, but to no success. It's resulting in the identical error.
Cheers,
Laenan

Is this running on a vpn? Any firewall behind your internet connection? When you ping your domain from your server does it shows the servers up address?

Hey,

no VPN running
It's running on a VPS, so no Firewall in the connection.
CentOS is the OS, so firewalld and SELinux. On another machine (same config), I have a Letsencrypt Docker Setup running, so not clear to me why not this time. ;-)
Domain is pingable from the Server as it should. DNS record was normal as well.

Your conclusion is, that there is a problem with the Internet connection from inside the docker-container?

No conclusion yet...
Could you run start.sh script again please and try again?

Did that, but sadly with no success. (Also deleted the repo and cloned it anew, to avoid any other problems.)

Stopped with sudo docker-compose down
sudo ./start.sh (no reported errors)
sudo ./test_start.sh sub.domain.tld

The most recent log:
Info: Custom Diffie-Hellman group found, generation skipped.
Reloading nginx docker-gen (using separate container nginx-gen)...
Reloading nginx (using separate container 92fe45fea51acfad85f977bcd377027152018af8ea2f1a90f612331a119a0b29)...
2020/02/25 11:24:30 Generated '/app/letsencrypt_service_data' from 3 containers
2020/02/25 11:24:30 Running '/app/signal_le_service'
2020/02/25 11:24:31 Watching docker events
2020/02/25 11:24:31 Contents of /app/letsencrypt_service_data did not change. Skipping notification '/app/signal_le_service'
Sleep for 3600s
2020/02/25 11:25:16 Received event start for container 3f65b76d081a
2020/02/25 11:25:31 Debounce minTimer fired
2020/02/25 11:25:31 Generated '/app/letsencrypt_service_data' from 4 containers
2020/02/25 11:25:31 Running '/app/signal_le_service'
/etc/nginx/certs/sub.domain.tld /app
Reloading nginx docker-gen (using separate container nginx-gen)...
Reloading nginx (using separate container 92fe45fea51acfad85f977bcd377027152018af8ea2f1a90f612331a119a0b29)...
Creating/renewal sub.domain.tld certificates... (sub.domain.tld)
2020-02-25 11:25:33,552:INFO:simp_le:1323: Generating new account key
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 157, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw
  File "/usr/lib/python3.7/site-packages/urllib3/util/connection.py", line 61, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/lib/python3.7/socket.py", line 748, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
    chunked=chunked,
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 376, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 994, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 334, in connect
    conn = self._new_conn()
  File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 169, in _new_conn
    self, "Failed to establish a new connection: %s" % e
urllib3.exceptions.NewConnectionError: <urllib3.connection.VerifiedHTTPSConnection object at 0x7f85ad05e810>: Failed to establish a new connection: [Errno -3] Try again

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 720, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/usr/lib/python3.7/site-packages/urllib3/util/retry.py", line 436, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f85ad05e810>: Failed to establish a new connection: [Errno -3] Try again'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/simp_le.py", line 1565, in main
    return main_with_exceptions(cli_args)
  File "/usr/lib/python3.7/site-packages/simp_le.py", line 1549, in main_with_exceptions
    persist_new_data(args, existing_data)
  File "/usr/lib/python3.7/site-packages/simp_le.py", line 1408, in persist_new_data
    args, existing_data.account_key, existing_data.account_reg)
  File "/usr/lib/python3.7/site-packages/simp_le.py", line 1341, in registered_client
    directory = messages.Directory.from_json(net.get(args.server).json())
  File "/usr/lib/python3.7/site-packages/acme/client.py", line 1161, in get
    self._send_request('GET', url, **kwargs), content_type=content_type)
  File "/usr/lib/python3.7/site-packages/acme/client.py", line 1110, in _send_request
    response = self.session.request(method, url, *args, **kwargs)
  File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3.7/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f85ad05e810>: Failed to establish a new connection: [Errno -3] Try again'))

Unhandled error has happened, traceback is above

Debugging tips: -v improves output verbosity. Help is available under --help.
/app
Sleep for 3600s

Another thing I noticed:

Couldn't remove the webproxy network with sudo docker network rm webproxy.
Had to delete the test-web container with sudo docker rm -fv test-web.
Removing webproxy was now possible.
Running start.sh and start_test_ssl.sh again didn't worked.

I use it on Debian and Ubuntu but not sure if this is the issue...

So had the time to install a new OS: Debian 10.
To make it short: Worked out of the box. So unclear to me, what was the problem with CentOS 8, but I will keep it on Debian. The CentOS machine was fresh and used for nothing else than the docker-companion.
I will close this issue, feel free to reopen it.

@laenan8466 thanks for you feedback and attention!


Add Homer Homepage as a service

Feature Request
Members in the raspiblitz community are eager to have a unified interface to bookmark installed applications.  Some users are using homer provided by Bastienwirtz at https://github.com/bastienwirtz/homer.  I've integrated homer as an optional service to bookmark favorite applications.

[x] Tested on RaspiBlitz v1.6.3
[x] Install/Uninstall capable
[x] Adds user homer
[x] Updates firewall rules

Concern

Upstream dependency conflict

Resolution - npm install --legacy-peer-deps
Issue opened with project upstream.

Future work

Automate config generation from list of installed applications

Further testing appreciated as I have yet to setup a proper dev environment just yet.

Hi @hashes4merkle .. thanks for adding Homer :) Normally for new features a PR should be based against dev branch. To port this over I sqash merged in to v1.6-interim and then cherry-picked over into a newly created feature-branch called 2152-homer you find here: https://github.com/rootzoll/raspiblitz/tree/2152-homer
There some small fixes I think that are needed and I will comit them to the branch.


Trouble with installing on RPi4

Hi,
First of all, I have limited knowledge of Linux.
I have tried to install hyperion.ng now on latest Raspian (Buster Rev. 2020-02-13) on a RPi4 (4GB RAM) and ended up in the same scenario all the time.
What I can read it's something wrong with  SSL & CMake.
I have run the commands:

sudo apt-get update
sudo apt-get install git cmake build-essential qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python3-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev libjpeg-dev libqt5sql5-sqlite
sudo apt-get install libraspberrypi-dev
wget -qO- https://raw.githubusercontent.com/hyperion-project/hyperion.ng/master/bin/compile.sh | sh

At 100% it's as follow:
> [100%] Linking CXX executable ../../bin/hyperiond
> -- CMake Version: 3.13.4
> CMake Deprecation Warning at CMakeLists.txt:18 (CMAKE_POLICY):
>   The OLD behavior for policy CMP0026 will be removed from a future version
>   of CMake.
>
>   The cmake-policies(7) manual explains that the OLD behaviors of all
>   policies are deprecated and that a policy should be set to OLD only under
>   specific short-term circumstances.  Projects should be ported to the NEW
>   behavior and not rely on setting a policy to OLD.
>
>
> -- PLATFORM is not defined, evaluated platform: rpi
> -- PLATFORM: rpi
> -- ENABLE_AMLOGIC = OFF
> -- ENABLE_DISPMANX = ON
> -- ENABLE_FB = ON
> -- ENABLE_OSX = OFF
> -- ENABLE_SPIDEV   = ON
> -- ENABLE_TINKERFORGE = ON
> -- ENABLE_V4L2 = ON
> -- ENABLE_WS281XPWM = ON
> -- ENABLE_USB_HID = ON
> -- ENABLE_X11 = OFF
> -- ENABLE_QT = ON
> -- ENABLE_TESTS = OFF
> -- ENABLE_PROFILER = OFF
> -- validate json files
>    checked files: 78 success: 78 errors: 0
> -- validate json effect files
>    checked effect files: 38 success: 38 errors: 0
> -- validate json file
> -- Current Version: 2.0.0-alpha.1
> --  - Build: master (GitHub-00502890/2e15ef7c-1581970640) Git Remote: https://github.com/hyperion-project/hyperion.ng.git
> -- Linker: GNU gold
> -- Found Qt Version: 5.11.3
> -- Found libusb-1.0:
> --  - Includes: /usr/include/libusb-1.0
> --  - Libraries: /usr/lib/arm-linux-gnueabihf/libusb-1.0.so
> -- Using JPEG library: /usr/lib/arm-linux-gnueabihf/libjpeg.so
> -- Using flatbuffers compiler: /home/pi/hyperion/build/bin/flatc
> CMake Deprecation Warning at dependencies/external/protobuf/src/CMakeLists.txt:329 (cmake_policy):
>   The OLD behavior for policy CMP0026 will be removed from a future version
>   of CMake.
>
>   The cmake-policies(7) manual explains that the OLD behaviors of all
>   policies are deprecated and that a policy should be set to OLD only under
>   specific short-term circumstances.  Projects should be ported to the NEW
>   behavior and not rely on setting a policy to OLD.
>
>
> -- Using protobuf compiler: /home/pi/hyperion/build/bin/protoc
> -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.7m.so (found suitable version "3.7.3", minimum required is "3.5")
> -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.7m.so (found suitable version "3.7.3", minimum required is "3.4")
> CMake Error at /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
>   Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
>   system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
>   OPENSSL_INCLUDE_DIR) (Required is at least version "1.0.0")
> Call Stack (most recent call first):
>   /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
>   /usr/share/cmake-3.13/Modules/FindOpenSSL.cmake:412 (find_package_handle_standard_args)
>   src/hyperiond/CMakeLists.txt:49 (find_package)
>   src/hyperiond/CMakeLists.txt:260 (InstallDependencies)
>
>
> -- Configuring incomplete, errors occurred!
> See also "/home/pi/hyperion/build/CMakeFiles/CMakeOutput.log".
> See also "/home/pi/hyperion/build/CMakeFiles/CMakeError.log".
> make[2]: *** [src/hyperiond/CMakeFiles/hyperiond.dir/build.make:191: bin/hyperiond] Error 1
> make[2]: *** Deleting file 'bin/hyperiond'
> make[1]: *** [CMakeFiles/Makefile2:2991: src/hyperiond/CMakeFiles/hyperiond.dir/all] Error 2
> make: *** [Makefile:152: all] Error 2
>

Any help is appreciated.

sudo apt-get install libssl-dev

Hi,
Thanks for your answer.
Seems like the error disappeared but I can't get the web GUI on RPi Ip on 8090 or 8091.
Any Idea?

How do you run hyperion? Did you install it or took the binaries out of the build folder?
Output log from 'hyperiond - d'!

How do you run hyperion? Did you install it or took the binaries out of the build folder?
Output log from 'hyperiond - d'!

My misstake, I thought it was autostarted but it wasn't.
All works fine now but how do I make it autostart on boot?
The hyperiond in located in /usr/local/share/hyperion/bin

https://github.com/hyperion-project/hyperion.ng/tree/master/bin/service

Thanks,
But like I said my knowledge of Linux is limited.
I have tried to copy hyperion.systemd  to /etc/systemd/system/ and renamed it to hyperion.service
Without changing it i get the error:
Feb 19 22:01:10 raspberrypi systemd[1]: /etc/systemd/system/hyperion.service:7: Invalid user/group nam
When I change the user to Pi I can start it but the webserver doesn't start.

If you want you can use one of our fresh Releases :)
It will install an service right away.
wget https://github.com/hyperion-project/hyperion.ng/releases/download/2.0.0-alpha.2/Hyperion-2.0.0-alpha.2-Linux-armv7hf-rpi.deb sudo dpkg -i Hyperion-2.0.0-alpha.2-Linux-armv7hf-rpi.deb
If using user pi your service will be<EMAIL_ADDRESS>

I just updated to alpha 3, but now I have to first disable and enable hyperion by the web interface in order to start the grabbing.
What can I do to start after booting immediately?

I think it is the same problem as here described https://github.com/hyperion-project/hyperion.ng/issues/710

Is resolved


Replace Birthdaybot with our own

We currently use birthday bot do give the birthday role.
Since we can now use cron, we want to do this in our bot now.
The Bot should check all 30 mins, if a user has now his birthday. Be aware of the different time zones.
After 24h, the birthday role should be removed by the bot.

So we figured out, that we have stored some timezones in the database, but in text form. Some users don't have a timezone.

Going through that list, it appears that those users had their birthday set with an old version of the birthday command. I went through the list by hand and BirthdayBot reported not having birthday data for any of them.
Given that those members don't receive the Birthday role anyway atm, I don't mind still moving forward with this though. We should think about a way of notifying those members about the situation and ways to set their timezone and expect null values in the timezone field when implementing our own birthdaybot version.


[3.50] "delay" property in animation config results in uninterruptible/unstable animation

Version

Phaser Version: 3.54.0 (earliest version with issue: 3.50.0-beta.7)

Operating system: Any, but using Windows 10 right now

Browser: Firefox Any, but using Firefox right now

Description

When the delay property is set on an animation configuration, the animation is put in an unstable state where it is either not acknowledged or unable to be interrupted.
Expected
When setting the delay property on an animation config, the animation will be delayed the set number of milliseconds before starting. Also, when another animation is played, it will interrupt the animation currently being played.
Actual
When the delay property is set, the animation fails to load its initial frame when the game loads, and the animation cannot be interrupted by another.
Example Test Code

I was trying to explain this in the Discord forum, but I felt like no one knew what the heck I was talking about. And so plenty more details are here.
The problem can be seen in this GitLab project. It is a codebase that is gradually getting more sophisticated, but the general problem is exhibited.
The animations, such as the idle_left animation, generally look like this
import {Animations, Types} from 'phaser';

export default class Left extends Animations.Animation {
    static key = 'idle_left';
    constructor(manager: Animations.AnimationManager) {
        const { key } = Left;
        const config: Types.Animations.Animation = {
            key,
            frames: manager.generateFrameNames('atlas', {
                prefix: `player/mp_${key}_`,
                suffix: '.png',
                start: 1,
                end: 2,
                zeroPad: 2
            }),
            frameRate: 10,
            repeat: -1,
            repeatDelay: 5000,
            delay: 3000,
            yoyo: true
        };
        super(manager, key, config);
    }
}

Please try deploying this project to see what I am talking about. Instructions are in the readme. Basically, clone the repo, install with yarn or npm, copy the example config file to a real config file, and run yarn start or npm start in the app folder. This project was scaffolded with Create React App and it uses TypeScript.
I tried to keep things generally organized. The runnable app is in the app folder. Assets the project needs, like spritesheets and meta data, are in app/public/assets. Everything is organized in classes. Sprites are in app/src/Sprites, scenes are in app/src/Scenes, and animations are in app/src/animations. Of particular note are the Player animations.
Please let me know if you have any questions.
Additional Information

When the Idle and Walk animations work properly, the character moves like this:

Note how when the page initially loads, the frame that loads is the first frame in the idle_right animation. Also, there is a few seconds of delay before the character blinks (the Idle animation). Note how after making the character move in either direction and stopping, again there is a few seconds of delay before the Idle animation, and the character is facing in that direction. This is how this is supposed to work.
When using at least Phaser 3.50.0-beta.7, this happens:
https://user-images.githubusercontent.com/4011193/116803545-4c083500-aade-11eb-9b1a-57da270abe82.mp4
The video file size is much smaller as an MP4 than an animated GIF.
Note how the Character sprite starts with the first sprite listed in app/public/assets/atlas.json instead of the first sprite of the idle_right animation. After a few seconds, you will see that it does start playing the idle animation properly. But when you move the character, it is frozen in a frame, I'm not sure exactly which one, I think the first or last one played in the idle animation. Then you will see how at one point, the walking animation suddenly plays, but I am not even pressing anything. This behavior is actually a fluke that only occurred when I used a new screen recording program. The typical behavior is that when I move the character to the left, they remain facing to the right and the walking animation does not play. After a few seconds, the idle_left animation plays but the delay seems a little longer. Anyway, as you can see, things are clearly not working.
However, if the delay property is removed from the Idle animations, you will see this:
https://user-images.githubusercontent.com/4011193/116803650-4ced9680-aadf-11eb-94bd-1891868fb2da.mp4
Everything is pretty much normal now,  but only because the delay for the idle animation has been commented out. You will see how this restored the first frame in the idle animation to load this time at the start of the scene. But since the delay property is removed, the character starts blinking immediately instead of the delay.
Can anyone help determine why this is happening? Why does the delay property on an animation config cause this broken behavior in newer Phaser?
Again, the earliest version on which I could confirm this issue occurs was 3.50.0-beta.7.  The latest version that did not have this issue was 3.50.0-beta.2. I could not get 3.50.0-beta.4 to load. It gave me the dreadful "Phaser could not be found" error.

Note how the Character sprite starts with the first sprite listed in app/public/assets/atlas.json instead of the first sprite of the idle_right animation. After a few seconds, you will see that it does start playing the idle animation properly.

I think that's expected. If a delay is set, the first frame shouldn't show until the delay has expired.

But when you move the character, it is frozen in a frame, I'm not sure exactly which one, I think the first or last one played in the idle animation. Then you will see how at one point, the walking animation suddenly plays, but I am not even pressing anything.

I think that may be a bug. Try instead
sprite.anims.playAfterDelay('walk_right', 0);

sprite.anims.stop().playAfterDelay('walk_right', 0);

Using the first frame in the animation was a feature that made a lot of sense in previous Phaser. I can work with that if need be because it will still load what is provided to Sprite.setFrame, but then the sprite shows up in a different position than when it loads the frame from the animation for some reason.
playAfterDelay is something I did try earlier just to experiment, but it does not address the issue because the problem is that the walk animation is not interrupting the idle animation. So it is not that the walk animation should be played after the delay, rather the walk animation should play immediately upon request while the idle animation is playing, so as to interrupt the idle animation and play the walk animation instead, as seen in the animated gif.
I also tried AnimationManager.addMix but that does not have the right effect either.  I have a strong feeling that something has fundamentally changed in the framework that has inadvertently effected the original behavior.

I mean the second thing you described is probably a Phaser bug. Here is the unwanted delay problem: https://codepen.io/samme/pen/GRrVjoG
I think it happens because AnimationState#delayCounter isn't cleared when switching animations.
A workaround in that example is
this.rob.anims.stop().playAfterDelay("death", 0);

Calling .stop().playAfterDelay for each animation every time is most certainly not what I want. I'm just looking for the delay feature to work for animations that need a delay, not every animation.
I assure you, delayed animations previously worked exactly as depicted in the animated gif, where the initial frame was set from the idle_right animation. It seems to me that the delay feature being broken has a lot to do with the previous initial frame behavior not working as well.

The unwanted delay needs a bug fix, but I'm not sure where AnimationState#delayCounter should be reset.
I think the initial frame behavior you're seeing is probably correct since v3.50. You might be able to imitate the previous behavior by removing your animation delays and using instead:
this.anims.play('key', true);
this.nextTick += DELAY;

This has all be rather confusing, but I appreciate you looking into this so much.
I've been examining your example more and I do agree with calling the main issue "unwanted delay", because another animation will not interrupt the currently playing one immediately. Instead, there is a few seconds of unwanted delay. Also, I am seeing how you wrote an assertion to check the value of AnimationState#delayCounter and how it is not resetting unless you do the .stop().playAfterDelay('key', 0) workaround, which also results in the first animation being interrupted as expected.
I have returned to my project and updated it to Phaser 3.55.2. I'm still confused about how this engine will now set a sprite with an animation delay to the first sprite in the atlas. I am indeed calling Sprite.setFrame in my project. Take a look at how all Sprites are using the Entity class and this class always sets a default frame when the object is instantiated. So, as soon as an object is made for a sprite, the constructor will set a default frame. That frame ends up getting replaced by the very first frame in the atlas during the animation delay.
I did try the last workaround you suggested that involved removing the animation delay and using Animation.nextTick instead. Fortunately, that is indeed working and now the playable character has its original animation behavior restored.
I noticed that the Critters in my game are still using the Animation.delay property, yet their animations appear to be working as expected. When this problem first happened, the Critter animations were also affected. But now, apparently they are not.

The delay issue is now fixed in the master branch. I've also added a new config property showBeforeDelay which, as the name implies, will set the first frame immediately and not after the delay expires.


File Artifacts Api does not return new lines

What's your CLI version?
0.80.23
Description & steps to reproduce
The file artifacts contents are returned to th UI as a blob of text without the new lines; for example this is what i see for yaml file.
# Extends the mainnet preset# This *could* be 'minimal', but it's not recommended to use because not every client supports 'minimal'PRESET_BASE: 'mainnet'CONFIG_NAME: testnet # needs to exist because of Prysm. Otherwise it conflicts with mainnet genesis# Genesis# ---------------------------------------------------------------# `2**14` (= 16,384)MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 64MIN_GENESIS_TIME:<PHONE_NUMBER>GENESIS_FORK_VERSION: 0x10000038GENESIS_DELAY: 120# Forking# ---------------------------------------------------------------# Some forks are disabled for now:# - These may be re-assigned to another fork-version later# - Temporarily set to max uint64 value: 2**64 - 1# Note: The module runs a merged chain so ALTAIR_FORK_EPOCH, BELLATRIX_FORK_EPOCH and TERMINAL_TOTAL_DIFFICULTY# are all hardcoded to zero.# AltairALTAIR_FORK_VERSION: 0x20000038ALTAIR_FORK_EPOCH: 0# MergeBELLATRIX_FORK_VERSION: 0x30000038BELLATRIX_FORK_EPOCH: 0TERMINAL_TOTAL_DIFFICULTY: 0# 0x0000...000 indicates that we use TERMINAL_TOTAL_DIFFICULTY instead of a block has to trigger the mergeTERMINAL_BLOCK_HASH: 0x0000000000000000000000000000000000000000000000000000000000000000# NOTE: This is commented out because Nimbus warns us that it's an unrecognized parameterTERMINAL_BLOCK_HASH_ACTIVATION_EPOCH:<PHONE_NUMBER>3709551615# CapellaCAPELLA_FORK_VERSION: 0x40000038CAPELLA_FORK_EPOCH: 1# DENEBDENEB_FORK_VERSION: 0x50000038DENEB_FORK_EPOCH: 500# Time parameters# ---------------------------------------------------------------# 12 secondsSECONDS_PER_SLOT: 12# 5 epochs ~0.5 hoursMIN_VALIDATOR_WITHDRAWABILITY_DELAY: 1# 2**8 (= 256) epochs ~27 hoursSHARD_COMMITTEE_PERIOD: 1# It's very important that SECONDS_PER_ETH1_BLOCK * ETH1_FOLLOW_DISTANCE is a good amount of time, else# jitter will cause the Beacon nodes to think they're far behind the Eth1 nodes and give up syncingSECONDS_PER_ETH1_BLOCK: 12ETH1_FOLLOW_DISTANCE: 12# Validator cycle# ---------------------------------------------------------------# 2**2 (= 4)INACTIVITY_SCORE_BIAS: 4# 2**4 (= 16)INACTIVITY_SCORE_RECOVERY_RATE: 16# 2**4 * 10**9 (= 16,000,000,000) GweiEJECTION_BALANCE:<PHONE_NUMBER>0# 2**2 (= 4)MIN_PER_EPOCH_CHURN_LIMIT: 4# 2**16 (= 65,536)CHURN_LIMIT_QUOTIENT: 65536# Fork choice# ---------------------------------------------------------------# 40%PROPOSER_SCORE_BOOST: 40# Deposit contract# ---------------------------------------------------------------DEPOSIT_CHAIN_ID: 3151908DEPOSIT_NETWORK_ID: 3151908DEPOSIT_CONTRACT_ADDRESS: 0x4242424242424242424242424242424242424242# Networking# ---------------------------------------------------------------# `10 * 2**20` (= 10485760, 10 MiB)GOSSIP_MAX_SIZE: 10485760# `2**10` (= 1024)MAX_REQUEST_BLOCKS: 1024# `2**8` (= 256)EPOCHS_PER_SUBNET_SUBSCRIPTION: 256# `MIN_VALIDATOR_WITHDRAWABILITY_DELAY + CHURN_LIMIT_QUOTIENT // 2` (= 33024, ~5 months)MIN_EPOCHS_FOR_BLOCK_REQUESTS: 33024# `10 * 2**20` (=10485760, 10 MiB)MAX_CHUNK_SIZE: 10485760# 5sTTFB_TIMEOUT: 5# 10sRESP_TIMEOUT: 10ATTESTATION_PROPAGATION_SLOT_RANGE: 32# 500msMAXIMUM_GOSSIP_CLOCK_DISPARITY: 500MESSAGE_DOMAIN_INVALID_SNAPPY: 0x00000000MESSAGE_DOMAIN_VALID_SNAPPY: 0x01000000# 2 subnets per nodeSUBNETS_PER_NODE: 2# 2**8 (= 64)ATTESTATION_SUBNET_COUNT: 64ATTESTATION_SUBNET_EXTRA_BITS: 0# ceillog2(ATTESTATION_SUBNET_COUNT) + ATTESTATION_SUBNET_EXTRA_BITSATTESTATION_SUBNET_PREFIX_BITS: 6# Deneb# `2**7` (=128)MAX_REQUEST_BLOCKS_DENEB: 128# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCKMAX_REQUEST_BLOB_SIDECARS: 768# `2**12` (= 4096 epochs, ~18 days)MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096# `6`BLOB_SIDECAR_SUBNET_COUNT: 6# `uint64(6)`MAX_BLOBS_PER_BLOCK: 6

The api does not return \n characters.
Desired behavior
The desired response from the api is that it returns the file contents with the \n character as well, so that they can be rendered nicely on the frontend.
What is the severity of this bug?
Papercut; this bug is frustrating, but I have a workaround.

Assigning to @adschwartz as he'll be tackling this as part of Sept work

Anders - There's a bug in the APIC where when we are writing the files artifact we are stripping away line breaks.


Use OSS Licenses Plugin to display license under "View Licenses" in menu

Fixes #2326

Introduces the oss-licenses-plugin that builds the licenses for each dependency and shows them in a dynamically generated list.

[x] Verified that "View Licenses" button triggers the plugin in debug mode.
[x] Verified that licenses are shown in release build.

"View Licenses":

Debug build:

Release build:

Some are inlined:

PTAL @gino-m!

Hi @sufyanAbbasi! Did you manage to build a release APK to test the licenses?

Hi @sufyanAbbasi! Did you manage to build a release APK to test the licenses?

Yes I did, thanks to @shobhitagarwal1612's help. Please see the screenshots. Note that it just borrows the app theme, which is currently set to AppTheme.Launcher, hence the logo in the middle of the page.

@sufyanAbbasi Lmk once you fix the theme (icon showing in the middle of the screen) and we can merge.

@sufyanAbbasi Lmk once you fix the theme (icon showing in the middle of the screen) and we can merge. We can move the link to the licenses in our "About" page once designs and impl are ready.

Fixed now... but I had to change the entire App theme from AppTheme.Launcher to AppTheme.Base. I didn't detect any diffs when I did this!

Please see https://medium.com/@jokatavr/how-to-use-android-open-source-notices-299a0635b5c2

Just fixed the build issue and updated against main.

Can you please verify that the splash logo is still visible when opening the app?

Can you please verify that the splash logo is still visible when opening the app?

On Emulator:

On Pixel (dark theme applied):


Different leaderboard display options by time interval

show all time top, daily top, weekly top, monthly top
or
most recent runs

@bricehalder for ui, I think this old archived prompt shows it pretty well: https://wikispeedruns.com/prompt/7?time_filter=all.
Lmk if you have suggestions tho, could potentially use some clean up


FS2020 stopped working in VR after update 10

pimax-openxr.log
Hi,
I used PimaxXR with FS2020 succesfully until th recent update 10 of FS.
Now when I want to go in vr the error message " the initialization of vr failed"  appears.
the Pimax openXR log says:
2022-09-24 13:39:14 +0200: PimaxXR - v0.2.6
2022-09-24 13:39:14 +0200: PVR: 1.23.1
2022-09-24 13:39:14 +0200: Application: FS2020; Engine: Zouna
2022-09-24 13:39:15 +0200: PVR: 1.23.1
2022-09-24 13:39:15 +0200: Application: FS2020; Engine: Zouna
2022-09-24 13:39:15 +0200: Requested extension: XR_KHR_D3D11_enable
2022-09-24 13:39:15 +0200: Requested extension: XR_KHR_D3D12_enable
2022-09-24 13:39:15 +0200: Requested extension: XR_KHR_composition_layer_depth
2022-09-24 13:39:15 +0200: Requested extension: XR_KHR_win32_convert_performance_counter_time
2022-09-24 13:39:15 +0200: Requested extension: XR_EXT_eye_gaze_interaction
2022-09-24 13:39:15 +0200: xrCreateInstance failed with XR_ERROR_EXTENSION_NOT_PRESENT
Using the Pimax 8KX, MS store version of FS2020, latest nvidia drivers.
The VR PiTool is working fine and is running.
I don't know how to solve this one, as mentioned it worked flawless before the update.
Appreciate any feedback!

Are you using OpenXR Toolkit? If so, its trying to enable some sort of eye tracking. Clearing all your settings in OpenXR Toolkit safe mode should do the trick.

Ahh that brought it back to life!
Thanks so much!


Include hmac in distribution?

I don't know if it's possible (for licensing/other reasons), but it would be nice to include the stuff inside of "vendor/resty" in the packaged distribution when builds are made.
Again - not a super urgent issue - and it's something that can be grabbed separately, but it's kind of nice to have a distribution package that contains all the required files.

I'm not super familiar with luarock, but
according to rockspec, I think I already included the hmac lib.
So, I guess you're talking about the .tar.gz and zip in release, right?

Yeah - particularly because I also do not use luarocks.  😄 I'm talking about the .tar.gz that you created in the release (https://github.com/SkyLothar/lua-resty-jwt/releases/download/v0.1.4/lua-resty-jwt-0.1.4.tar.gz)
Currently, I'm actually just grabbing the source and extracting just the lib and vendor paths...so it's working just fine for me.  I just thought it might be nice (for future releases) to also include hmac.lua in that release package.

It's a mistake.
I put hmac.lua in older releases, but I forgot to put it in 0.1.4.
Just updated the 0.1.4 release archives, hmac.lua included.

Cool - thanks!


Attributes don't change

Hi,
Thank you very much for sharing this helpful code.
I am training the AttGAN with CelebA image size 128, 1GPU, batch size 32.
After about 60K iterations I don't see any change in face attributes.
Is there something I need to change in order to see the attributes change?

Hi @morkap, which PyTorch version are you using? I only tested on 0.4.0 and everything should work well. If you train AttGAN with newer PyTorch version, I cannot guarantee the behavior be the same. I suggest you to roll back to 0.4.0 and try again.

Is this code can train other attribute except paper provided,if can,where the code should i change,i tried,but it not work

Hello , I face the same question now. May I ask if you later resolved the issue of ineffective training?

@morkap Hello , I face the same question now. May I ask if you later resolved the issue of ineffective training?

AltLayer Airdrop Season One Announcement

Exciting news! AltLayer token (ALT) is set to launch on Binance on January 25, 2024. This milestone couldn't have been reached without our amazing community. Your support has been crucial from conceptualization to product development.
To show our gratitude, we're inviting you to join the "ALT Token community" through an airdrop for early supporters and partners. Below is a summary:

Total Allocated ALT Tokens: 300,000,000 (3% of total supply)
Distribution Categories:

NFT Holders
Altitude Campaign Participants
EigenLayer Restakers
EigenLayer Ecosystem Partners
Celestia Stakers and others

For detailed criteria and information, check the full announcement here.
Claim opens from January 25 to February 25, 2024. Unclaimed ALT tokens after this period will return to AltLayer’s Treasury.
Thank you for being part of AltLayer's success! More to come in Season One, stay tuned.
Note: Certain regions are restricted from the airdrop. Please review the disclaimer before participating.
Winners: @zhubuz, @tonyfung99, @MiLLeRRain, @0xneox, @chris-krypto, @Yorkemartin, @0x0000369, @Cltlient, @hahadaxia, @kenny99qi, @ethereumdegen, @panteo92, @hlongvu, @pynchmeister, @monk-chain, @nafizb, @Baracudas1, @oueldz4, @saantiaguilera, @yashwantx

AltLayer Airdrop Season One Announcement

Exciting news! AltLayer token (ALT) is set to launch on Binance on January 25, 2024. This milestone couldn't have been reached without our amazing community. Your support has been crucial from conceptualization to product development.
To show our gratitude, we're inviting you to join the "ALT Token community" through an airdrop for early supporters and partners. Below is a summary:

Total Allocated ALT Tokens: 300,000,000 (3% of total supply)
Distribution Categories:

NFT Holders
Altitude Campaign Participants
EigenLayer Restakers
EigenLayer Ecosystem Partners
Celestia Stakers and others

For detailed criteria and information, check the full announcement here.
Claim opens from January 25 to February 25, 2024. Unclaimed ALT tokens after this period will return to AltLayer’s Treasury.
Thank you for being part of AltLayer's success! More to come in Season One, stay tuned.
Note: Certain regions are restricted from the airdrop. Please review the disclaimer before participating.
teonnik, @shreyasvinaya, @kamilchm, @croqaz, @togosh, @Chenjinyu, @BigCatAccount, @unbalancedparentheses, @rferro, @goofcc, @abouolia, @rajbansikishore, @yenwel, @twitteried, @g-bauer, @rhelsing, @sam-willis, @capaci, @PrimOox, @jinjiaKarl

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
heliumcxxi, @smartdone, @yuya-iwabuchi, @0x0E, @mathdroid, @eunicevin, @Peefy, @tconnolly11, @mirooon, @yxf, @fionnachan, @Hemantsheoran, @pa4080, @higherdawn, @SteveTaoTao, @Chanoreal93, @aka-STInG, @0xJackLee, @kadenzipfel, @xhm121


Verify registered claims like "exp"

Hi, I'm using guardian with JWT and I want to know if the library contains a way to force registered claims to be filled. For instance reject claims without exp. I created my own plug but I wanted to be sure Guardiant doesn't handle this already (couldn't find anything in the documentation about this).

Hi @Grafikart
Guardian comes with the ability for you to specify your own module to check claims. In the configuration it is:
verify_module: Guardian.JWT

This is a simple implementation of the Guardian.ClaimValidation behaviour. If you require different or more stringent checks on claim validation you can use Guardian.ClaimValidation and overwrite the validate_claim function to do what you need. https://github.com/ueberauth/guardian/blob/master/lib/guardian/claim_validation.ex has all the default implementations.
https://github.com/ueberauth/guardian/blob/master/lib/guardian/jwt.ex

Thanks


⚠ Bofrost.fr has degraded performance

In b7d455c, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1098 ms

Resolved: Bofrost.fr performance has improved in 2c5a24e.


Allow feathers client to work in IE 11

Feathers client was not working in IE 11 due to use of Object.assign and Promise. I have put polyfills in for those and now it is working and all tests are still running correctly. This is pretty urgent for us for our live deployment.

As a reference (assuming this was why it was closed), the client documentation does state:

Important: The Feathers client libraries come transpiled to ES5 but require ES6 shims either through the babel-polyfill module or by including core.js in older browsers e.g. via <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/core-js/2.1.4/core.min.js"></script>

Yes I realised that and closed it, thanks for the reference


Add error reporting to demo UI

Depends on #148

Saw this demoed by Alex, and saw the error box pop up. It should be the case that the error message also has a description field that has more info on what step range was skipped over. We should probably include that info in the displayed message.

Saw this demoed by Alex, and saw the error box pop up. It should be the case that the error message also has a description field that has more info on what step range was skipped over. We should probably include that info in the displayed message.

Ha, nevermind, we just realized it could be clicked.


Failing connections cause exceptions thrown outside of Promise

I'm getting this error when connecting to RabbitMQ
PHP Fatal error:  Uncaught Bunny\Exception\ClientException: Broken pipe or closed connection. in /.../vendor/bunny/bunny/src/Bunny/AbstractClient.php:289
This happens because when I connect, I'm connecting with specific credentials and RabbitMQ is denying the connection. When this happens the stream is closed so we get an end of file:
https://github.com/jakubkulhan/bunny/blob/d0dec8fbbac4e4edd6cdc892fe14cfa607c386ce/src/Bunny/AbstractClient.php#L288-L290
I have multiple connections opened by different users, so I need to handle this gracefully. This is the extension I've written to handle the problem.
I'm using https://packagist.org/packages/evenement/evenement as well.
Hope this helps.
<?php
declare(strict_types=1);

namespace MyClient;

use Bunny\Async\Client;
use Evenement\EventEmitterInterface;
use Evenement\EventEmitterTrait;
use React\Promise;

class BunnyAsyncClient extends Client implements EventEmitterInterface
{
    use EventEmitterTrait;

    /**
     *
     */
    public function onDataAvailable()
    {
        try {
            parent::onDataAvailable();
        } catch (\Throwable $e) {
            $this->eventLoop->removeReadStream($this->getStream());
            $this->eventLoop->futureTick(function () use ($e) {
                $this->emit('error', [$e, $this]);
            });
        }
    }

    /**
     * @return Promise\PromiseInterface
     */
    public function connect()
    {
        $deferred = new Promise\Deferred();

        $errBack = function (\Throwable $e) use ($deferred, &$errBack) {
            $this->removeListener('error', $errBack);
            $deferred->reject($e);
        };

        $this->on('error', $errBack);

        parent::connect()->then(
            function () use ($deferred) {
                return $deferred->resolve($this);
            },
            function (\Throwable $e) use ($deferred) {
                // needed in case rejected not by the errBack
                $deferred->reject($e);
            }
        )->always(function () use ($errBack) {
            $this->removeListener('error', $errBack);
        });

        return $deferred->promise();
    }
}

I noticed when this exception caused,call $client->isConnected() gave you the wrong result which is true while I was expecting false.
I'm wondering if it can be fixed by just write following code in that if condition:
    if (@feof($this->stream)) {
        $this->eventLoop->removeReadStream($this->getStream());
        $this->state = ClientStateEnum::ERROR;
        throw new ClientException("Broken pipe or closed connection.");
    }

A similar issue occurs when disconnecting a client that has not opened a channel yet.
======================================================================
   The application has thrown an exception!
======================================================================
 Bunny\Exception\ClientException
 Connection closed by server: CHANNEL_ERROR - expected 'channel.open'
----------------------------------------------------------------------
/var/www/vendor/bunny/bunny/src/Bunny/AbstractClient.php:448
#0 /var/www/vendor/bunny/bunny/src/Bunny/Async/Client.php(306): Bunny\AbstractClient->onFrameReceived(Object(Bunny\Protocol\MethodConnectionCloseFrame))
#1 /var/www/vendor/react/event-loop/src/StreamSelectLoop.php(245): Bunny\Async\Client->onDataAvailable(Resource id #2073)
#2 /var/www/vendor/react/event-loop/src/StreamSelectLoop.php(212): React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL)
#3 /var/www/Common/src/Adapter/Cli/CliController.php(88): React\EventLoop\StreamSelectLoop->run()


Update Pages “SignsOfTermitesPage”

Automatically generated by Netlify CMS

👷 Deploy Preview for chic-shortbread-66a66b processing.

Name
Link

🔨 Latest commit
bab4e1727ba520a95418fc805c6ef6146a90966c

🔍 Latest deploy log
https://app.netlify.com/sites/chic-shortbread-66a66b/deploys/6556caf42f9d410008025a46


Update to Core 13.9.4

@tgoyne the failed workflows seems to related to some connections issues at the time of running. I'll run it again to check, but everything seems to be working fine.


Refactoring - reduce the dependencies to HttpClient

To make it simpler to replace the HttpClient by a newer version or something completely different...

Cookie
HttpClientConverter - we have serveral direct dependencies on this; maybe we have to hide this behind WebConnection / HttpWebConnection
HttpClientConverter defines the constants for the Http Status Codes; maybe we have to maintain our own list of this codes
WebResponseData - we can add some builder methods for typical cases /200 / 404 ...
DefaultCredentialsProvider

org.htmlunit.http.HttpStatus added

HttpUtils.formatDate(Date) / HttpUtils.parseDate(String)

HttpUtils.parseUrlQuery(String, Charset) / HttpUtils.toQueryFormFields(List, Charset)

branch 'towards5' created


TCD-2584

Description

Motivation and Context

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation fix (typos, incorrect content, missing content, etc.)

Checklist

[ ] I have read the contributing document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@aliciakrebs I created this PR in order to cover TCD-2584 and added some missing components


chore: adding a read into memory example to the Dropzone component template

Description

Merge Checklist

[ ] If your update includes visual changes, have they been reviewed by a designer? Send them a link to the Netlify deploy preview, if applicable.
[ ] Does your change adhere to the documented style conventions?
[ ] Do any prop types have missing descriptions in the Props API tables in the documentation site (check deploy preview)?
[ ] Were your changes tested using all available themes (see theme switcher in the header of the deploy preview, under the "Settings" icon)?
[ ] Were your changes tested in the example app?
[ ] Is there adequate test coverage for your changes?
[ ] Consider whether this change needs to reviewed/QA'ed for accessibility (a11y). If so, please add wittjeff and adamstankiewicz as reviewers on this PR.

Post-merge Checklist

[ ] Verify your changes were released to NPM at the expected version.
[ ] If you'd like, share your contribution in #show-and-tell.
[ ] 🎉 🙌 Celebrate! Thanks for your contribution.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 22.0.0-alpha.7 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


error: No streams found on this URL: twitch.tv/****

shotbygun@shot5 ~ $ livestreamer twitch.tv/wcs
[cli][info] Found matching plugin twitch for URL twitch.tv/wcs
error: No streams found on this URL: twitch.tv/wcs
Same stream opens up on windows with livestreamer 1.11.1 on my friends computer.
livestreamer 1.10.2
Debian Jessie 64bit
Linux Mint Debian Edition 2
I tried to install livestreamer from debian sid repository eg. version 1.12, but all I get is stack trace of "unknown distribution" error so I reverted back to default distribution version.
Is this new bug, or is my software just out of date? and if so, how can I expedite new version to come into debian jessie repository?

You'll need at least 1.11.1. You can install it from source.

Thanks, works great! Installed 1.12.1 using pip
For everyone else using debian:
sudo apt-get remove livestreamer
sudo apt-get autoremove
sudo apt-get install python-pip
sudo pip install -U livestreamer
livestreamer -V


[rdbms-connect] Use compatible release for setproctitle to support Python 3.10

Similar to #4643
setproctitle starts to support Python 3.10 in 1.2.3. It is not a good practice to use a pinned version in setup.py.

rdbms-connect


Add option to open eml files from file managers

Checklist

[X] I have used the search function to see if someone else has already submitted the same feature request.
[X] I will describe the problem with as much detail as possible.
[X] This issue only contains a request for one single feature, not multiple (related) features.

App version
6.801
Problem you are trying to solve
I sometimes get eml-files through other apps, sometimes as attachements from e-mails.
I'd like to be able to open them, especially from within file managers.
Suggested solution
Implement eml viewer (I found a few issues for this, and it seems this is already implemented (?)), and add the option to open eml files through file managers (add link handlers)
Screenshots / Drawings / Technical details
No response

Duplicate of #733


  These differences include:

The container is not initialized with each build, so a command like mkdir xxx fails on the second build because directory xxx already exists.   For performance reasons, we may not want to re-initialize by default every time, but it should be an option.
Build attribute variables such as $$BRANCH are not available.
.drone.sec is not decrypted.  Ideally, it would be possible to provide a link to the repo on a Drone server, so that .drone.sec could be decrypted as if it were that build's secret.  An alternative would be a drone exec argument to reference a plaintext alternative to .drone.sec for testing.

See also Brad's comment on PR pass drone exec args to drone-exec container #14

we should be able to use the following to get the commit, remote, branch and other git-related details and pass to the build: https://github.com/mattn/goveralls/blob/master/gitinfo.go
the secure file cannot be decrypted locally without exposing the key or sending the secret file to the server. I would suggest we provide a -e parameter to the command line to pass multiple secret environment variables. These can be added to the list of global variables, which are injected in a similar manner to secure variables in the .drone.sec.
the drone server url (in system.link) can come from the DRONE_SERVER environment variable that is required when using the command line utility.
these changes should get us 90% there ...

I would be interested in helping implement this. I'm using this in conjunction with Terraform to build up and destroy clusters, so the secrets are needed in every run.

+1

I just pushed https://github.com/drone/drone-cli/commit/4c47c74bb86ece88b44622475b01242f4936ad7e which should allow us to execute drone exec with some extra data, including multiple secrets using -e FOO=BAR syntax and commit details based on your local git repository.
This doesn't close out the issue, as there are still some gaps, but hopefully this gets us a bit closer

all drone server fields now exposed to the drone exec command as flags. This is as close as we can get, given that drone server and drone exec have one major difference ... the former clones your code and the latter does not.


changes

Please take the pull from the main and update your forked repo's. Unfortunately due to a minor mistake, I merged my own PR into the main branch. The site is working as expected. Just make take the PULL from the main and things should be working fine. I have just updated the app.js file.


Adding select flag information to stg_dbt__run_results

stg_dbt__run_results show models args as selected_models column, but since moving to dbt1, the models flag has been deprecated and the select flag is being used instead. It would be great to have the information from the select flag available in the model.
An example implementation could be replacing this line:
https://github.com/brooklyn-data/dbt_artifacts/blob/main/models/staging/stg_dbt__run_results.sql#L36
by something like the following code:
coalesce(data:args:models, data:args:select) as selected_models,

to account for projects transitioning from dbt prior to dbt1 to dbt1.

If you see above as valid and valuable update to the package, I would also be open to contribute directly to the package and open a PR for it.

I think this would be a great contribution @LukasSandm . Could you put together a PR?


Explicitly configure 'requirements.txt'

I'm confused why this needs an explicit configuration since in https://github.com/apache/infrastructure-actions/pull/63 it looks like you gave it a default value. Am I missing something?

Yep, action maintainers in infra has since made a change to not have a default, and since we use a non-versioned action (@main) it affects us.


Update docs and GatewayProvider factories

Describe your changes

This PR extends the documentation.
It also renames GatewayProvider.Factory methods to make_Provider from make_Client.
Linked issues

Closes #98
Breaking changes

[x] This issue contains breaking changes

Renamed GatewayProvider.Factory methods to make_Provider from make_Client.

Codecov Report
Base: 70.69% // Head: 70.69% // No change to project coverage :thumbsup:

Coverage data is based on head (9f088fa) compared to base (c917ffd).
Patch has no changes to coverable lines.

Additional details and impacted files
@@                          Coverage Diff                           @@
##           feat/make-custom-exceptions-unchecked     #218   +/-   ##
======================================================================
  Coverage                                  70.69%   70.69%
======================================================================
  Files                                         56       56
  Lines                                       1573     1573
  Branches                                     114      114
======================================================================
  Hits                                        1112     1112
  Misses                                       430      430
  Partials                                      31       31

Impacted Files
Coverage Δ

...nsion/starknet/provider/gateway/GatewayProvider.kt
81.55% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Nested html tags in markdown cells parsed incorrectly

The bug only appears when there is something in front of the nested html

Create Python file with the following code

#%%md
# hi

Run line 2 in any way you would like
The result looks like this

      "hi "

I was unaware of this, but I was using markdown incorrectly.
The only restrictions are that block-level HTML elements — e.g. , , , , etc. — must be separated from surrounding content by blank lines, and the start and end tags of the block should not be indented with tabs or spaces. Markdown is smart enough not to add extra (unwanted)  tags around HTML block-level tags.


[Addon name] Issue description

Which addon?

Addon name : Qbittorrent and Jackett
Addon version : <IP_ADDRESS>202110311443-7435-01519b5e7ubuntu20.04.1-ls166-5 and 0.20.371, respectively

Describe the bug

Updating to the mentioned addon versions makes them not able to start, with the error messages being "Image ghcr.io/alexbelgium/qbittorrent-amd64:<IP_ADDRESS>202110311443-7435-01519b5e7ubuntu20.04.1-ls166-5 does not exist for addon_db21ed7f_qbittorrent" and "Image ghcr.io/alexbelgium/jackett-amd64:0.20.371 does not exist for addon_db21ed7f_jackett_nas"
To Reproduce

Supervisor version: 2021.12.2
Host system version: Debian 11 (Supervised install)

Please refresh your repro manually and it should hopefully work - I had built the images this morning and it works on mine

Sorry I've implemented autobuild and it caused some issues with the set up. For those addons it will be solved. For other addons I had to revert

For qBittorrent : <IP_ADDRESS>202110311443-7435-01519b5e7ubuntu20.04.1-ls166-5 will work.
For Jackett : 0.20.371 should work in around 5 min

For qBittorrent : <IP_ADDRESS>202110311443-7435-01519b5e7ubuntu20.04.1-ls166-5 will work. For Jackett : 0.20.371 should work in around 5 min

Sorry for the delay, I was away during the whole day.
Can confirm that Jacket started working again after a new update.
qBittorrent still complains that "Image ghcr.io/alexbelgium/qbittorrent-amd64:<IP_ADDRESS>202110311443-7435-01519b5e7ubuntu20.04.1-ls166-5 does not exist for addon_db21ed7f_qbittorrent", even after a HA restart.
Can try updating the repository manually, though I'd need pointers on how to do it.

OK thanks... Weird... Hopefully I'll have solved those build issues in the next couple days. I'll push  new version - 6 to see if it helps

Good news! Well that's already a start. Thanks for the feedback I'm relieved because I thought it had know understand and had working images for those addons at least :) thanks

I deeply apologize. I enabled autobuild as recommended by the HA guidelines, and it brought 2 big issues :

Multi-arch base images are not supported (it needs a pull --platform tag that is not implemented yet, and the system is very complex to fork and customize)
Upgrade from a locally built addon to an autobuilt addon is not supported : the addon still tries to locally build and then provides a failure message as it doesn't find a local image...

I have decided to revert the changes. This means that everyone that has installed the new versions pushed since 2 days will have to restore a backup, or uninstall the app and reinstall it...
Here is the full procedure :

Manually refresh the repository by going in the repository section (the same place your added my custom repo to your system) and click on reload. This will refresh the repositories and allow you to install the new corrected addon versions (or wait 1 day)
if you have a backup :
- restore the backup
- hopefully everything should work directly, as for most of my addons the data is stored out of the addon
- DO NOT update BEFORE you had refreshed the repo, or you will face the issue again
if you didn't have a backup :

uninstalling the app is the only solution
if you're lucky, everything could work directly, as for most of my addons the data is stored out of the addon
DO NOT update BEFORE you had refreshed the repo, or you will face the issue again

Thanks for your understanding.


[$250] [Performance] Implement a debug setting that simulates a poor connection by going online/offline a bunch

What performance issue do we need to solve?
When on a poor connection, authentication calls can sometimes fail. This is sometimes de-authing users from the app (logging them out) when it shouldn't be, because we have infinite sessions.
What is the impact of this on end-users?
Users need to re-authenticate when this happens, and this is annoying.
List any benchmarks that show the severity of the issue
It has been reported numerous times in the #quality Slack channel.
Proposed solution (if any)
Implement a debug setting that simulates a poor connection, then see how much of the app breaks and try to fix those spots.
This could be done by setting up some code that will call NetworkActions.setNetWorkStatus(networkStatus); with a random value of CONST.NETWORK.NETWORK_STATUS at random intervals like every 2-5 seconds.
https://expensify.slack.com/archives/C05LX9D6E07/p1728935338695029?thread_ts=1728600237.229689&cid=C05LX9D6E07
List any benchmarks after implementing the changes to show impacts of the proposed solution (if any)
It might be time to add some benchmarking for how often the network connection is changing. How about logging every hour how many times the network connection state changed?
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number:
Reproducible in staging?:
Reproducible in production?:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
View all open jobs on Upwork
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021864308224556700727
Upwork Job ID:<PHONE_NUMBER>556700727
Last Price Increase: 2024-12-04

Issue OwnerCurrent Issue Owner: @hoangzinh

@muttmuure for this one, can we just send it to contributors to have this done? I don't think it needs anything from anyone internal.

Sure!

Hi, I'm Viktoryia from Callstack - expert contributor group - and I would like to work on this issue.

I've opened a PR , which adds the Simulate poor internet connection toggle. It changes connection from online to offline randomly every 2-5 seconds using NetworkActions.setShouldForceOffline method (NetworkActions.setNetWorkStatus didn't have the expected effect on the app).
Please, let me know what you think! @hoangzinh @tgolen
Also, I have a question regarding this part:

How about logging every hour how many times the network connection state changed?

@muttmuure  Where do we want to log this value?

I think you can just log that information with Log.info() and it should be fine.

Should it be counted when poor connection simulation is turned on or real-life cases only?
Should it be counted within one session only or persist between several sessions within an hour (I mean if user close/re-open the app)?

It would be nice to log it whether or not the setting is turned on. In fact, let's add the state of the setting in the log itself. I think it would also be nice to span sessions if that's not too much extra work. I'm not worried about losing it if they sign out though.

@tgolen I've added the log in this commit : https://github.com/Expensify/App/pull/53698/commits/5e52653975b8eeb83dfa441ea46498858c6f7f7f, let me know what you think. It is triggered by the connection change on its own and reports the connection changes within the 1+ hour.

I don't feel too strongly about that. If I were thinking about this with a fresh perspective I guess it wouldn't be three on/off settings, but one setting with several options:

Always offline
Poor connection
Failing requests

I don't feel too strongly about that. If I were thinking about this with a fresh perspective I guess it wouldn't be three on/off settings, but one setting with several options:

Always offline
Poor connection
Failing requests

@tgolen But you can't use all options at once, right? You can use only one out of three options per time?

@hoangzinh Okay, I'll update the PR within the next couple of hours 👌

Updates:

Moved logic of simulating a poor connection into src/libs/NetworkConnection.ts so the code is aligned with force offline functionality
Use NetworkConnection.setOfflineStatus instead of forceOffline
Made it possible to turn on only one network test toggle per time:

https://github.com/user-attachments/assets/63d07b17-cbd7-4cbe-84f6-ccb13884c5de
TODOs:
I haven't had enough time to re-test it fully, so plan to do it tomorrow.
Questions:
We can try to update the UI to something like:

But it will require some side updates.
@tgolen wdyt?

Payment summary:

@hoangzinh $250 through NewDot

$250 approved for @hoangzinh


Eliminate N+1 API requests in issues

Fixes https://github.com/AllSpiceIO/py-allspice/issues/70.
This issue was caused by Issue fetching the repository every time it is initialized via parse_response. This leads to an N+1 query, which can be especially cumbersome when fetching all issues of a repository with many issues. This commit fixes that by propagating the repository from the caller of Issue.parse_response, and eager loading it only in cases where one issue at a time is loaded.

Yep, there's many tests which call Repository.get_issues, Issue.request, Repository.create_issue etc.


Error: Path must be a string. Received undefined using Node 6.9

Using this grunt-processhtml config in my Gruntfile:
processhtml: {
      dist: {
        files: {
          'dest/index.html': ['index.html']
        }
      }
    }

Verbose output:
Running "processhtml:dist" (processhtml) task
Verifying property processhtml.dist exists in config...OK
Files: index.html -> dest/index.html
Options: process=false, data={}, templateSettings=null, includeBase=null, commentMarker="build", strip=false, recursive=false, customBlockTypes=[], environment="dist"
Warning: Path must be a string. Received undefined Use --force to continue.

I get this error using Node.js 6.9.5, grunt 1.0.1 and grunt-processhtml 0.4.1:
Error: Path must be a string. Received undefined.
Using Node 4.2.3 everything works fine.

could you provide a full working example of the grunt file you are testing with? So I can replicate the issue as well.
Thanks

No more data provided. Re-open if needed.


Non recursive consumer message processing

This addresses the issue identified in #93 which is caused by the way  _process_messages uses a callback chain to itself to process a large batch of messages.
This logic has been changed to use a simple while loop. Since we want to avoid processing a batch of messages until the current batch has been committed, the while loop yields until the Deferred returned by the current processor has fired.
Unit tests required one change caused by the fact that now _process_messages returns a Deferred since it is decorated with inlineCallbacks
The debug statement that logs the result of the processor was moved to a callback function since otherwise it prints a Deferred object, not the actual return value of the processor function. This change is not part of the fix of the issue, but something additional that I noticed that seemed wrong to me.

I just forced pushed the last commit because an integration test failed, although the previous run succeeded (and the only change between them was a change on a unit test?). Since I know the integration tests are flaky trying to get a clean build. We should probably open an issue about the reliability of the integration tests.

@twm and @rthille I have addressed the review comments. Thanks a lot to both for the review!

Thank you @twm !


Writing error log ID or PEL ID as meta data

While collecting HOSTBOOT or HW dump if the dump collection fails then it generates a PEL for SbeChipOpFailure. This commit aims to write that PEL ID as meta data into the dump file

Can one of the admins verify this patch?

add to approvelist


I am getting following error when i try to add table pptx.tableToSlides('tableId'); - Uncaught TypeError: pptx.tableToSlides is not a function

Thank you for reporting an issue, suggesting an enhancement, or asking a question.
We appreciate your feedback - to help the team understand your needs please complete the below template to ensure we have the details to help. Thanks!
Please check out the Docs to see if your question is already addressed there. This will help us ensure our documentation covers the most frequent questions.
Category

[ ] Enhancement
[ * ] Bug
[ ] Question
[ ] Documentation gap/issue

Version
Please specify what version of the library you are using: [    3.4.0     ]
Please specify what version(s) of PowerPoint you are targeting: [   2016      ]
If you are not using the latest release, please update and see if the issue is resolved before submitting an issue.
Expected / Desired Behavior / Question
If you are reporting an issue please describe the expected behavior. If you are suggesting an enhancement please describe thoroughly the enhancement, how it can be achieved, and expected benefit. If you are asking a question, ask away!
Observed Behavior
If you are reporting an issue please describe the behavior you expected to occur when performing the action. If you are making a suggestion or asking a question delete this section.
Steps to Reproduce
If you are reporting an issue please describe the steps to reproduce the bug in sufficient detail to allow testing. If you are making a suggestion or asking a question delete this section.
Submission Guidelines
Delete this section after reading

All suggestions, questions and issues are welcome, please let us know what's on your mind.
Remember to include sufficient details and context.
Please check back occasionally on your issue as we may have follow up questions.
If you have multiple suggestions, questions, or bugs please submit them in separate issues so we can track resolution.

Thank you for your feedback!

That means the library is not loaded or you didn't initialize pptx
Please check the /demos directory for working examples using tableToSlides().
Documentation

I did checked the documentation and here is my complete code -

S NoComments

1.Comments

<button
onclick="{ var pptx=new PptxGenJS(); pptx.tableToSlides('tblX'); pptx.writeFile(); }"
type="button"

Export to PPTX


Upgrade to learnlib 0.17.0

Upgrade to use the newly released learnlib-0.17.0.
With the exception of one file (out of 140), most of the changes are OK, I thnk.
Help is needed (@fhowar @mtf90  @pfg666) to properly adapt the code of  AbstractToolWithRandomWalk.java.
To simplify things, changes to this file are separated from the rest and appear in the last commit.

Since you have adapted to slf4j in the remaining code, i think the most reasonable approach would be to return a Set<Marker>. However, given that you likely want to use the slf4j-jdk14 backend (since the OPTION_LOGGING_LEVEL parser returns a native j.u.l.Level object) you may as well remove/ignore this property completely, because I don't think j.u.l. logging supports the concept of markers anyway.


Need very serious help

This does not add path.net DDoS protection to my internet!!!!!!!!!!!!

this is not related


Can't use vitis-ai-pytorch with GPU Docker

I'm trying Vitis-AI 3.0.
I am building and using GPU Docker, but I have failed to generate a conda virtual environment for vitis-ai-pytorch, and I cannot use this virtual environment.
Even if I try to create a virtual environment manually as follows, an error will occur.
conda env create -f /Vitis-AI/docker/conda/gpu_conda/vitis-ai-pytorch.yml
Collecting package metadata (repodata.json): done
Solving environment: failed

ResolvePackageNotFound:
  - vai_utf
  - vart
  - vaic
  - dpuv3-pycompiler
  - xcompiler
  - xnnc
  - pytorch_nndct

I want to quantize a model in pytorch and want to make use of this virtual environment.
How can I resolve this issue?

Sorry, I was able to figure out the cause myself.
When building GPU Docker, it was caused by specifying opt_pytorch.
I was able to use vitis-ai-pytorch within Docker by building with pytorch specified as he TARGET_FRAMEWORK instead of opt_pytorch.
Thanks for everyone!


[Help] I can't for the life of me figure out how to add a checkbox

First of all Gooey is amazing. I discovered it two days ago and have already reduced a colleague's two day job down to 5 MINUTES!
Anyway, I decided to add a checkbox, but keep getting the error list index out of range.
I have followed the Dev's advice in a related issue [#148 ] word for word and letter for letter, but cannot seem to fix this.
All I want is a store_true check box, which by default is False.
My args:
@Gooey(program_name="Moneyback Calculator",  default_size=(710, 500))
def parse_args():
    parser = GooeyParser(description='Create Monthly MoneyBack Report')

    parser.add_argument('Transaction_File',
                        metavar='Transaction Files',
                        action='store',
                        widget='FileChooser',
                        help="Upload Your File Containing All Transactions Here")

    parser.add_argument('Smart_Rewards_File',
                        action='store',
                        metavar='Smart Rewards File',
                        widget='FileChooser',
                        help="Upload The anPost Smart Rewards File Here")

    parser.add_argument('Choose_File_Name',
                        action='store',
                        metavar='File Name',
                        help="Choose A File Name For Your Report")

    parser.add_argument('Output_Directory',
                        widget='DirChooser',
                        metavar='Output',
                        action='store',
                        help="Output Directory To Save Report")

    parser.add_argument('Action',
                    widget='CheckBox',
                    metavar='Completed File',
                    action='store_true',
                    default=False,
                    help="Open Excel File Once Complete?")

    args = parser.parse_args()
    return args

If I tick the box, I get the error:
Traceback (most recent call last):
  File "C:\Users\seanc\Anaconda3\lib\site-packages\wx\core.py", line 3259, in <lambda>
    lambda event: event.callable(*event.args, **event.kw) )
  File "C:\Users\seanc\Anaconda3\lib\site-packages\gooey\gui\containers\application.py", line 87, in onStart
    if config.isValid():
  File "C:\Users\seanc\Anaconda3\lib\site-packages\gooey\gui\components\config.py", line 50, in isValid
    states = [widget.getValue() for widget in self.reifiedWidgets]
  File "C:\Users\seanc\Anaconda3\lib\site-packages\gooey\gui\components\config.py", line 50, in <listcomp>
    states = [widget.getValue() for widget in self.reifiedWidgets]
  File "C:\Users\seanc\Anaconda3\lib\site-packages\gooey\gui\components\widgets\bases.py", line 133, in getValue
    'cmd': self.formatOutput(self._meta, value),
  File "C:\Users\seanc\Anaconda3\lib\site-packages\gooey\gui\components\widgets\checkbox.py", line 45, in formatOutput
    return formatters.checkbox(metatdata, value)
  File "C:\Users\seanc\Anaconda3\lib\site-packages\gooey\gui\formatters.py", line 9, in checkbox
    return metadata['commands'][0] if value else None
IndexError: list index out of range

And if I don't tick the box, nothing happens.
Help? I have googled everywhere and can't find an answer.
If more code is needed I will add it. It needs to be anonymized, which is why I just posted the args in case that's all that's needed.
Thank you

Try deleting the default clause and the widget clause.

Thanks for the tip, unfortunately that didn't work. Same IndexError
If you look at the traceback, it's trying to index metadata['commands'][0] which causes the index error. Is that a clue to something I an fix in my arguments?

So you're doing something which is confusing. An argument name such as 'Action' suggests a Positional Parameter (which is no optional); and on the other hand, store_true suggests an Optional Parameter (which may or may be not specified).
If you try the same with argparse instead of Gooey you will see it doesn't work there as well.
So your solution is to add two dashes before the word Action.

OK ... I have never used argumentparser before. First time I used it was when I found Gooey two days ago. I guess I should read some how-to guides before getting too deep into this app.
One more question - what does the two dashes mean and should I use it in any of my other arguments? If you know a good guide I can read I'd appreciate if you share a link.

It works now by the way, thank you.
You say that store_true is an optional argument. So what do we do if we want the checkbox to be a required argument? For example, moving it from the Optional section to Required:

I don't know if you can do it. I usually use a drop box with two choices: yes and no.

OK, good idea. Thanks for your help. Closing this issue now.


The "Bult import" users option should not be available /visible for secondary user store

Describe the issue:

The "Bult import" users option should not be available for the secondary user store
https://github.com/wso2/product-is/assets/40081059/60e152ec-7f03-4693-b058-6fb4f3a3295e
Git issue - https://github.com/wso2/product-is/issues/16935
The local build given below is used for testing-
https://drive.google.com/drive/u/2/folders/1r-t8ek3TPl_oN7F3gT28fTZdCjoM
How to reproduce:

1.Login into the console using the below local pack
https://drive.google.com/drive/u/2/folders/1r-t8ek3TPl_oN7F3gT28fTZdCjoMCpqP
2.Go to the user management section => users => Add user
3.Select a secondary user store(should create a secondary user store before)
3.Choose bulk import option
Expected behavior:

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0, IS 5.9.0]
OS: [e.g., Windows, Linux, Mac]
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

Optional Fields
Related issues:

Suggested labels:

IMO, the primary function of the user store filter dropdown should be to refine the table results. Using it to conditionally hide or show options, like the bulk import, might not be the most intuitive approach. For instance, when adding a user, the wizard provides an option to select a user store if multiple are available. It would be more consistent. In the absence of multiple user stores, the system explicitly shows that the "DEFAULT" user store is selected, rather than making implicit assumptions based on the dropdown.

Issue - https://github.com/wso2/product-is/issues/16935

This issue is addressed in this PR - https://github.com/wso2/identity-apps/pull/4252

This is resolved in the wso2is-7.0.0-m4-SNAPSHOT-4889 Build


Suggested text in prompt box should change after first prompt

Site:

Figma:

@mruwnik This was Buddy's task, I thought he had taken care of this but I suppose not. Anyway I imagine it's more backend and that you may have more context about where he left off so assigning to you.