Bug: Docker install process does not work

What are you trying to achieve?
Install Saleor using the documentation here https://docs.saleor.io/docs/3.x/setup/docker-compose
The first hurdle is that "docker compose build" throws a version error and stops. Removing the version line then it just does nothing. Absolutely nothing.
Verbose output just says:
DEBU[0000] Enabled Docker Desktop integration (experimental) @ unix:///Users/me/Library/Containers/com.docker.docker/Data/docker-cli.sock
So instead of building from the files from Github, within Docker I search for Saleor in the repos there and find the mirumee/saleor one and it does download and builds the image OK. I do have to specify a port when I run it, else there is no port assigned and localhost does not work. When I assign a custom port it works.
But when i run it, the webpage and logs show the following error in that it cannot connect to port 5432 (I think postgres)
OperationalError at /
could not connect to server: Connection refused
	Is the server running on host "localhost" (::1) and accepting
	TCP/IP connections on port 5432?
could not connect to server: Connection refused
	Is the server running on host "localhost" (<IP_ADDRESS>) and accepting
	TCP/IP connections on port 5432?
Request Method:	GET
Request URL:	http://localhost:8080/
Django Version:	3.2.7
Exception Type:	OperationalError
Exception Value:
could not connect to server: Connection refused
	Is the server running on host "localhost" (::1) and accepting
	TCP/IP connections on port 5432?
could not connect to server: Connection refused
	Is the server running on host "localhost" (<IP_ADDRESS>) and accepting
	TCP/IP connections on port 5432?
Exception Location:	/usr/local/lib/python3.9/site-packages/psycopg2/__init__.py, line 122, in connect
Python Executable:	/usr/local/bin/python
Python Version:	3.9.7
Python Path:
['/app',
 '/app',
 '/usr/local/bin',
 '/usr/local/lib/python39.zip',
 '/usr/local/lib/python3.9',
 '/usr/local/lib/python3.9/lib-dynload',
 '/usr/local/lib/python3.9/site-packages']
Server time:	Wed, 01 May 2024 01:50:16 +0000

The logs show this:
2024-05-01 02:50:16 ERROR django.request Internal Server Error: /favicon.ico [PID:9:ThreadPoolExecutor-8_0]
2024-05-01 02:50:16 Traceback (most recent call last):
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
2024-05-01 02:50:16     self.connect()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 200, in connect
2024-05-01 02:50:16     self.connection = self.get_new_connection(conn_params)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection
2024-05-01 02:50:16     connection = Database.connect(**conn_params)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/psycopg2/__init__.py", line 122, in connect
2024-05-01 02:50:16     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
2024-05-01 02:50:16 psycopg2.OperationalError: could not connect to server: Connection refused
2024-05-01 02:50:16     Is the server running on host "localhost" (::1) and accepting
2024-05-01 02:50:16     TCP/IP connections on port 5432?
2024-05-01 02:50:16 could not connect to server: Connection refused
2024-05-01 02:50:16     Is the server running on host "localhost" (<IP_ADDRESS>) and accepting
2024-05-01 02:50:16     TCP/IP connections on port 5432?
2024-05-01 02:50:16
2024-05-01 02:50:16
2024-05-01 02:50:16 The above exception was the direct cause of the following exception:
2024-05-01 02:50:16
2024-05-01 02:50:16 Traceback (most recent call last):
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/asgiref/sync.py", line 482, in thread_handler
2024-05-01 02:50:16     raise exc_info[1]
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 38, in inner
2024-05-01 02:50:16     response = await get_response(request)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py", line 263, in _get_response_async
2024-05-01 02:50:16     response = await sync_to_async(response.render, thread_sensitive=True)()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/asgiref/sync.py", line 444, in __call__
2024-05-01 02:50:16     ret = await asyncio.wait_for(future, timeout=None)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/asyncio/tasks.py", line 442, in wait_for
2024-05-01 02:50:16     return await fut
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/asgiref/current_thread_executor.py", line 22, in run
2024-05-01 02:50:16     result = self.fn(*self.args, **self.kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/asgiref/sync.py", line 486, in thread_handler
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/template/response.py", line 105, in render
2024-05-01 02:50:16     self.content = self.rendered_content
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/template/response.py", line 83, in rendered_content
2024-05-01 02:50:16     return template.render(context, self._request)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render
2024-05-01 02:50:16     return self.template.render(context)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/template/base.py", line 168, in render
2024-05-01 02:50:16     with context.bind_template(self):
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/contextlib.py", line 119, in __enter__
2024-05-01 02:50:16     return next(self.gen)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/debug_toolbar/panels/templates/panel.py", line 46, in _request_context_bind_template
2024-05-01 02:50:16     context = processor(self.request)
2024-05-01 02:50:16   File "/app/saleor/site/context_processors.py", line 13, in site
2024-05-01 02:50:16     site = get_current_site(request)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/contrib/sites/shortcuts.py", line 13, in get_current_site
2024-05-01 02:50:16     return Site.objects.get_current(request)
2024-05-01 02:50:16   File "/app/saleor/site/patch_sites.py", line 25, in new_get_current
2024-05-01 02:50:16     site = self.prefetch_related("settings").filter(pk=site_id)[0]
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 317, in __getitem__
2024-05-01 02:50:16     qs._fetch_all()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 1324, in _fetch_all
2024-05-01 02:50:16     self._result_cache = list(self._iterable_class(self))
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 51, in __iter__
2024-05-01 02:50:16     results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1173, in execute_sql
2024-05-01 02:50:16     cursor = self.connection.cursor()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 259, in cursor
2024-05-01 02:50:16     return self._cursor()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 235, in _cursor
2024-05-01 02:50:16     self.ensure_connection()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
2024-05-01 02:50:16     self.connect()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/utils.py", line 90, in __exit__
2024-05-01 02:50:16     raise dj_exc_value.with_traceback(traceback) from exc_value
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
2024-05-01 02:50:16     self.connect()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 200, in connect
2024-05-01 02:50:16     self.connection = self.get_new_connection(conn_params)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection
2024-05-01 02:50:16     connection = Database.connect(**conn_params)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/psycopg2/__init__.py", line 122, in connect
2024-05-01 02:50:16     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
2024-05-01 02:50:16 django.db.utils.OperationalError: could not connect to server: Connection refused
2024-05-01 02:50:16     Is the server running on host "localhost" (::1) and accepting
2024-05-01 02:50:16     TCP/IP connections on port 5432?
2024-05-01 02:50:16 could not connect to server: Connection refused
2024-05-01 02:50:16     Is the server running on host "localhost" (<IP_ADDRESS>) and accepting
2024-05-01 02:50:16     TCP/IP connections on port 5432?

Steps to reproduce the problem
The steps as per the steps here https://docs.saleor.io/docs/3.x/setup/docker-compose
What did you expect to happen?
Install Saleor and get a working Saleor install at the localhost:8000 or whatever port used
Logs
OperationalError at /
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (<IP_ADDRESS>) and accepting
TCP/IP connections on port 5432?
Request Method:	GET
Request URL:	http://localhost:8080/
Django Version:	3.2.7
Exception Type:	OperationalError
Exception Value:
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (<IP_ADDRESS>) and accepting
TCP/IP connections on port 5432?
Exception Location:	/usr/local/lib/python3.9/site-packages/psycopg2/init.py, line 122, in connect
Python Executable:	/usr/local/bin/python
Python Version:	3.9.7
Python Path:
['/app',
'/app',
'/usr/local/bin',
'/usr/local/lib/python39.zip',
'/usr/local/lib/python3.9',
'/usr/local/lib/python3.9/lib-dynload',
'/usr/local/lib/python3.9/site-packages']
Server time:	Wed, 01 May 2024 01:50:16 +0000
2024-05-01 02:50:16 ERROR django.request Internal Server Error: /favicon.ico [PID:9:ThreadPoolExecutor-8_0]
2024-05-01 02:50:16 Traceback (most recent call last):
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
2024-05-01 02:50:16     self.connect()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 200, in connect
2024-05-01 02:50:16     self.connection = self.get_new_connection(conn_params)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection
2024-05-01 02:50:16     connection = Database.connect(**conn_params)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/psycopg2/init.py", line 122, in connect
2024-05-01 02:50:16     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
2024-05-01 02:50:16 psycopg2.OperationalError: could not connect to server: Connection refused
2024-05-01 02:50:16     Is the server running on host "localhost" (::1) and accepting
2024-05-01 02:50:16     TCP/IP connections on port 5432?
2024-05-01 02:50:16 could not connect to server: Connection refused
2024-05-01 02:50:16     Is the server running on host "localhost" (<IP_ADDRESS>) and accepting
2024-05-01 02:50:16     TCP/IP connections on port 5432?
2024-05-01 02:50:16
2024-05-01 02:50:16
2024-05-01 02:50:16 The above exception was the direct cause of the following exception:
2024-05-01 02:50:16
2024-05-01 02:50:16 Traceback (most recent call last):
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/asgiref/sync.py", line 482, in thread_handler
2024-05-01 02:50:16     raise exc_info[1]
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 38, in inner
2024-05-01 02:50:16     response = await get_response(request)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py", line 263, in _get_response_async
2024-05-01 02:50:16     response = await sync_to_async(response.render, thread_sensitive=True)()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/asgiref/sync.py", line 444, in call
2024-05-01 02:50:16     ret = await asyncio.wait_for(future, timeout=None)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/asyncio/tasks.py", line 442, in wait_for
2024-05-01 02:50:16     return await fut
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/asgiref/current_thread_executor.py", line 22, in run
2024-05-01 02:50:16     result = self.fn(*self.args, **self.kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/asgiref/sync.py", line 486, in thread_handler
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/template/response.py", line 105, in render
2024-05-01 02:50:16     self.content = self.rendered_content
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/template/response.py", line 83, in rendered_content
2024-05-01 02:50:16     return template.render(context, self._request)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render
2024-05-01 02:50:16     return self.template.render(context)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/template/base.py", line 168, in render
2024-05-01 02:50:16     with context.bind_template(self):
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/contextlib.py", line 119, in enter
2024-05-01 02:50:16     return next(self.gen)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/debug_toolbar/panels/templates/panel.py", line 46, in _request_context_bind_template
2024-05-01 02:50:16     context = processor(self.request)
2024-05-01 02:50:16   File "/app/saleor/site/context_processors.py", line 13, in site
2024-05-01 02:50:16     site = get_current_site(request)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/contrib/sites/shortcuts.py", line 13, in get_current_site
2024-05-01 02:50:16     return Site.objects.get_current(request)
2024-05-01 02:50:16   File "/app/saleor/site/patch_sites.py", line 25, in new_get_current
2024-05-01 02:50:16     site = self.prefetch_related("settings").filter(pk=site_id)[0]
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 317, in getitem
2024-05-01 02:50:16     qs._fetch_all()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 1324, in _fetch_all
2024-05-01 02:50:16     self._result_cache = list(self._iterable_class(self))
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 51, in iter
2024-05-01 02:50:16     results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1173, in execute_sql
2024-05-01 02:50:16     cursor = self.connection.cursor()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 259, in cursor
2024-05-01 02:50:16     return self._cursor()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 235, in _cursor
2024-05-01 02:50:16     self.ensure_connection()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
2024-05-01 02:50:16     self.connect()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/utils.py", line 90, in exit
2024-05-01 02:50:16     raise dj_exc_value.with_traceback(traceback) from exc_value
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
2024-05-01 02:50:16     self.connect()
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 200, in connect
2024-05-01 02:50:16     self.connection = self.get_new_connection(conn_params)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
2024-05-01 02:50:16     return func(*args, **kwargs)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection
2024-05-01 02:50:16     connection = Database.connect(**conn_params)
2024-05-01 02:50:16   File "/usr/local/lib/python3.9/site-packages/psycopg2/init.py", line 122, in connect
2024-05-01 02:50:16     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
2024-05-01 02:50:16 django.db.utils.OperationalError: could not connect to server: Connection refused
2024-05-01 02:50:16     Is the server running on host "localhost" (::1) and accepting
2024-05-01 02:50:16     TCP/IP connections on port 5432?
2024-05-01 02:50:16 could not connect to server: Connection refused
2024-05-01 02:50:16     Is the server running on host "localhost" (<IP_ADDRESS>) and accepting
2024-05-01 02:50:16     TCP/IP connections on port 5432?
Environment

Docker Desktop 4.29.0 (145265)
ghcr.io/saleor/saleor:3.19.29
Mac Sanoma 14.4.1

Following on from this...
So I have now discovered that you do not run "docker compose build". You run:
docker-compose build
Note the hyphen!
This now builds the images and runs the container. I can visit the login on the screen. This is with Saleor Platform though, all in one, not the core.
The following commands in the instructions do run with just "docker compose" and I have not tried "docker-compose". This post explains the difference https://stackoverflow.com/questions/66514436/difference-between-docker-compose-and-docker-compose.
Although its working, during the build there are more errors now. Issues with the database tables?
Also, the instructions say to run "docker compose up" at the end. But they are all already running.
worker-1     | 2024-05-05 12:03:50,095 INFO celery.beat beat: Starting... [PID:23:MainThread]
db-1         | 2024-05-05 12:03:50.922 UTC [60] ERROR:  relation "discount_promotion" does not exist at character 436
db-1         | 2024-05-05 12:03:50.922 UTC [60] STATEMENT:  SELECT "discount_promotion"."private_metadata", "discount_promotion"."metadata", "discount_promotion"."id", "discount_promotion"."name", "discount_promotion"."type", "discount_promotion"."description", "discount_promotion"."old_sale_id", "discount_promotion"."start_date", "discount_promotion"."end_date", "discount_promotion"."created_at", "discount_promotion"."updated_at", "discount_promotion"."last_notification_scheduled_at" FROM "discount_promotion" WHERE ((("discount_promotion"."last_notification_scheduled_at" IS NULL OR "discount_promotion"."last_notification_scheduled_at" < "discount_promotion"."start_date") AND "discount_promotion"."start_date" <= '2024-05-05T12:03:50.890496+00:00'::timestamptz) OR (("discount_promotion"."last_notification_scheduled_at" IS NULL OR "discount_promotion"."last_notification_scheduled_at" < "discount_promotion"."end_date") AND "discount_promotion"."end_date" <= '2024-05-05T12:03:50.892480+00:00'::timestamptz)) ORDER BY "discount_promotion"."name" ASC, "discount_promotion"."id" ASC
worker-1     | Process Beat:
worker-1     | Traceback (most recent call last):
worker-1     |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
worker-1     |     return self.cursor.execute(sql, params)
worker-1     | psycopg2.errors.UndefinedTable: relation "discount_promotion" does not exist
worker-1     | LINE 1: ..._promotion"."last_notification_scheduled_at" FROM "discount_...
worker-1     |                                                              ^
worker-1     |
worker-1     |
worker-1     | The above exception was the direct cause of the following exception:
worker-1     |
worker-1     | Traceback (most recent call last):
worker-1     |   File "/usr/local/lib/python3.9/site-packages/billiard/process.py", line 323, in _bootstrap
worker-1     |     self.run()
worker-1     |   File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 718, in run
worker-1     |     self.service.start(embedded_process=True)
worker-1     |   File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 643, in start
worker-1     |     interval = self.scheduler.tick()
worker-1     |   File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 339, in tick
worker-1     |     self.populate_heap()
worker-1     |   File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 313, in populate_heap
worker-1     |     is_due, next_call_delay = entry.is_due()
worker-1     |   File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 161, in is_due
worker-1     |     return self.schedule.is_due(self.last_run_at)
worker-1     |   File "/app/saleor/core/schedules.py", line 80, in is_due
worker-1     |     if len(staring_promotions | ending_promotions) > PROMOTION_TOGGLE_BATCH_SIZE:
worker-1     |   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 262, in __len__
worker-1     |     self._fetch_all()
worker-1     |   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 1324, in _fetch_all
worker-1     |     self._result_cache = list(self._iterable_class(self))
worker-1     |   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 51, in __iter__
worker-1     |     results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
worker-1     |   File "/usr/local/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
worker-1     |     cursor.execute(sql, params)
worker-1     |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 98, in execute
worker-1     |     return super().execute(sql, params)
worker-1     |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 66, in execute
worker-1     |     return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
worker-1     |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
worker-1     |     return executor(sql, params, many, context)
worker-1     |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
worker-1     |     return self.cursor.execute(sql, params)
worker-1     |   File "/usr/local/lib/python3.9/site-packages/django/db/utils.py", line 90, in __exit__
worker-1     |     raise dj_exc_value.with_traceback(traceback) from exc_value
worker-1     |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
worker-1     |     return self.cursor.execute(sql, params)
worker-1     | django.db.utils.ProgrammingError: relation "discount_promotion" does not exist
worker-1     | LINE 1: ..._promotion"."last_notification_scheduled_at" FROM "discount_...
worker-1     |                                                              ^
worker-1     |
worker-1     | 2024-05-05 12:03:52,025 WARNING py.warnings /usr/local/lib/python3.9/site-packages/celery/worker/consumer/consumer.py:507: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
worker-1     | whether broker connection retries are made during startup in Celery 6.0 and above.
worker-1     | If you wish to retain the existing behavior for retrying connections on startup,
worker-1     | you should set broker_connection_retry_on_startup to True.
worker-1     |   warnings.warn(
worker-1     |  [PID:1:MainThread]
worker-1     | 2024-05-05 12:03:52,047 INFO celery.worker.consumer.connection Connected to redis://redis:6379/1 [PID:1:MainThread]
worker-1     | 2024-05-05 12:03:52,048 WARNING py.warnings /usr/local/lib/python3.9/site-packages/celery/worker/consumer/consumer.py:507: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
worker-1     | whether broker connection retries are made during startup in Celery 6.0 and above.
worker-1     | If you wish to retain the existing behavior for retrying connections on startup,
worker-1     | you should set broker_connection_retry_on_startup to True.
worker-1     |   warnings.warn(
worker-1     |  [PID:1:MainThread]
worker-1     | 2024-05-05 12:03:52,051 INFO celery.worker.consumer.mingle mingle: searching for neighbors [PID:1:MainThread]
worker-1     | 2024-05-05 12:03:53,063 INFO celery.worker.consumer.mingle mingle: all alone [PID:1:MainThread]
worker-1     | 2024-05-05 12:03:53,096 INFO celery.apps.worker celery@a66f6388d5de ready. [PID:1:MainThread]

I had similar issues with latest saleor-platform script. But a little modification in docker-compose.yaml solves it.
In order to make it work I change the saleor version in docker-compose.yaml to 3.17 and followed all the steps. This will install the saleor
Then to install the latest saleor I change back to saleor:3.19 or latest and following the install process as given in saleor platform installation documentation. This way I did install the latest version.
Don't know why it was behaving like that but this was how I solved it.

When you are using docker compose it is kind of expected that it iwll have mulitple containers including different one for db and different one for other services including web api, redis and everything. You can definitely configure this setup using dockerfile but for that you will have to do little bit of setup of setup for database, by default docker allows container to communicate with localhost, other than that you will have to take care of migrations (may be write entrypoint.sh file and run it once container is started to run migrations)

In above setup where you have ran docker-compose, it is giving error that particular relation does not exists, it is because you have not run migrations. once run the command:
docker-compose run --rm api python3 manage.py migrate
It will run all the migrations to the database and now your saleor will start to work on port localhost:9000
Optionally you can also populate database using this command:
docker-compose run --rm api python3 manage.py populatedb

Works fine for me.

Dont want to waste any more time setting something up that has so many issues when other systems exist that do the exact same thing.

What does "lower entry threshold" even mean?! You mean systems that are easier to deply?
What does "tech-agnostic, API-based extensibility" even mean? You mean less technical than other systems, and that has an API? That statement is not true.
If using impressive non-layman terms gets companies to sign up to your expensive monthly fee then good on you! But ultimately, all the features Saleor has, can be done in many other common eCommerce systems. We need a backend solution for customers to take orders of products on a website. It must have standard features like stock control, variation's etc. Due to Saleor being such a PITA to setup, and the fact it is a backend system that no end user sees, and because we just need to build the website and not faff about with making systems work and struggling with documentation, we switched to WooCommerce for now nd it just works out of the box. I'd rather use something else but we can switch again in the future, but only to something that can be setup in an hour or two, not days or weeks.
Thank you.

What does "lower entry threshold" even mean?! You mean systems that are easier to deploy?

It would be great to know if you encountered issues with the database migrations (as Faizan suggested above) or if there was something else that posed a challenge.

What does "tech-agnostic, API-based extensibility" even mean? You mean less technical than other systems, and that has an API? That statement is not true.

I'm not sure which statement you're referring to as untrue. What we mean by "tech-agnostic, API-based extensibility" is that Saleor allows you to extend its capabilities and execution flows using publicly available APIs in any language and stack of your choice, rather than relying on a plugin architecture. You can read more about the benefits of this approach here:: Benefits of extending commerce via API over plugins

If using impressive non-layman terms gets companies to sign up to your expensive monthly fee then good on you!

I understand some things may look like unnecessary jargon. We use the term internally to differentiate our extensibility model (more in the link above). Anyway, feedback taken.
Saleor is fully open source. Companies (and individuals) use it for free and without limitation whenever and however they want. We don't discriminate between our Cloud and open source API. Organizations can choose what works best for them: either investing in their own operations or opting for our Cloud service to focus on their customers instead of platform maintenance and reliability. In the case of Saleor, the evaluation is typically done by larger technical teams, and I believe marketing plays a minimal role in their decision.

But ultimately, all the features Saleor has, can be done in many other common eCommerce systems. We need a backend solution for customers to take orders of products on a website. It must have standard features like stock control, variation's etc.

That’s most probably true. Most features found in Saleor can be implemented in other ecommerce systems as well, just as they have been in the past. While we aim for Saleor to be the best choice for development teams dealing with all sorts of commerce complexities, we always advocate for finding the best fit for your specific requirements. E-commerce companies differ greatly in complexity and needs.

About  "tech-agnostic, API-based extensibility" not being true, sorry I should have explained more. The statement implies if you want that then you use Saleor. But what I mean is, other systems have that too. Including "any language and stack of your choice, rather than relying on a plugin architecture". So its "untrue" to claim you use Saleor if you need a  "tech-agnostic, API-based extensibility" system.  I am using WooCommerce and use its API which allows me to build a website in Next.js. Its API and documentation and support is far better than Saleors!
I would have used Saleor if the installation and documentation was straight forward, but its not. I am not interested in wasting all the setup time, when I can have another system installed and working within an hour, and have the same features. If you want to expand your customer base you need to sort that out. My customer is a very large international agency and maybe we could have switched to your paid version but I told them not to because its too diffocult to work with and provides no added benefits to other systems.
I have had other issues, I have posted other GitHub topics and requested support over the past year or so on a couple of places, but no replies come, so support is also not good. I am using the free version not paid one, but if a company release a free/community one I expect them to support it and have good documentation, otherwise just dont provide it.

By the way, we did start with Saleor over a year ago, when the deploy process was via GitHub to Heroku. That just worked. I now have all these issues since your switch to Docker. So we switched eCommerce system and I just needed to update all my GraphQL queries to get data from elsewhere. Now I dont have the headaches of Docker.

Thank you for the additional context!
On the extensibility model – we don't mean API and async webhooks only. It's true that creating a storefront with Next.js should be possible with nearly any e-commerce API, this part is not always straightforward, but all you need is an API that you can pull your data from plus all the basic mutations. By extensibility, in a nutshell, we mean the number of standard execution flows that you can influence in Saleor with our sync webhooks: Payment events, Shipping events, Tax events, Transaction events, Stored payment method events. This enables developers to plug into all standard execution flows in Saleor.
This approach is crucial when you need to integrate and stitch together various systems, such as third-party SaaS solutions (PIM, ERP, OMS, etc.), custom back-office applications, and other services in your e-commerce operation.

Saleor is fully open source. Companies (and individuals) use it for free and without limitation whenever and however they want. We don't discriminate between our open source API and Cloud version.

Sure you do.

I just got my self-hosted instance running, went to install the CMS app in my Dashboard, and get informed that you can only install apps in the Cloud version. That's some serious discrimination.

@teotikalki its one reason we ditched it. I went to install the Stripe module and it was greyed out, wouldn't let me. Some research told me it's only in the cloud. This is an ecommerce system and I couldn't even install Stripe!
I did then try installing it separate via npm but ran into other issues. It turned out to be real hassle to add Stripe and I could t get it to work. I gave up. What sort of ecommerce backend makes it so hard to add a payment module.


Allow use with offscreen canvas

Would be nice if I could use this tool with an offscreen canvas.

Sure, I'll look into is when I get the chance.

I did some tweaking of the script to support recording from a web worker with an offscreen canvas.
I added some info in the README, and a test example:
worker.html
worker.js


Add a setting to prevent automatic setting sync

I'd like to have a setting that would allow me to sync settings only when I run Settings Sync: Sync Now explicitly from the command palette.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


[FLINK-16745] Use JobManagerProcessUtils to start JM container and pass JVM memory args

What is the purpose of the change
JobManagerProcessUtils#processSpecFromConfig is used to get JobManagerProcessSpec in AbstractContainerizedClusterClientFactory#getClusterSpecification. Then JobManagerProcessSpec is passed to ProcessMemoryUtils#generateJvmParametersStr to get JVM memory arg list string in YarnClusterDescriptor#setupApplicationMasterContainer and JavaCmdJobManagerDecorator#getJobManagerStartCommand. The configuration is also fixed to fallback to JobManagerOptions.TOTAL_PROCESS_MEMORY if a legacy option is set (JobManagerProcessUtils#getConfigurationWithLegacyHeapSizeMappedToNewConfigOption) before passing it to JobManagerProcessUtils#processSpecFromConfig.
Then the JVM memory args are used to start JM container and its JVM process for Yarn and Kubernetes active integrations instead of using the existing legacy heap options: jobmanager.heap.size (or jobmanager.heap.mb) and container cut-off options: containerized.heap-cutoff-ratio and containerized.heap-cutoff-min. The container cut-off options are then removed as they have no effect anymore.
Verifying this change
Existing unit tests.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (not documented)

cc @xintongsong

Thanks @xintongsong for the reviews. I addressed the comments.


Add serializer methods to HttpExchangeWriter.

Nice! This will allow us to get rid of some ugly hacks in meeshkan, right?

Hopefully so! Another alternative would be to add to_json and to_dict methods to classes themselves but I think this works fine for now?


Virtual Template API

Purpose or Intent

This is the start of the "Virtual Catalog Items" (Virtual Template) API
Uses Amazon as the initial provider / starting point
Each Virtual Template is intended to be a 'default' for provisioning - only one allowed per provider

Links

Link to epic
Link to Issue

API part LGTM :thumbsup:

@miq-bot remove-label wip

@jntullo I also noticed that you did a git pull from master by not using rebase.  Though this is fine for ongoing development where rebasing might be difficult, we generally prefer a rebase onto master to avoid the "Merge remote-tracking branch 'upstream/master' commits"  I think this can be defaulted with git config pull.rebase true

Each Virtual Template is intended to be a 'default' for provisioning - only one allowed per provider

Thinking about this mixed with thinking about pluggable providers, it seems that each provider would provide its own virtual template.  Is this the idea?
It's hard to grasp what a Virtual Template is from this PR, and there isn't much in the description in the PR nor in the Pivotal links.

@Fryguy Yes, that is the idea. Sorry about that. I should've written more about Virtual Templates.
Virtual Templates are intended to serve as the default values, set by administrators, for virtual catalog items. The intention is that yes, there would be one per provider.
This PR was meant to serve the purpose of mostly dealing with the API while some of the details of the models are being worked out / designed - which is why there is only a shell of the actual models in there.


Would it be possible to add TZ environment variables?

I don't know how to set the time zone variable, an example that works is mariadb:latest, amazoncorretto:21
this is example docker-compose.yaml:
version: '3.8'
  server-a:
    container_name: server-a
    image: mendhak/http-https-echo
    environment:
      TZ: Europe/Warsaw
    ports:
      - "8091:8080"

Looks like the morgan library only outputs UTC, based on this part of the README. That would explain why the TZ just gets ignored.
It's possible to use a third party library to format the date respecting the timezone, as seen in this article.
However, the date would need to match the Apache Common Log Format (CLF) format which is: "10/Oct/2000:13:55:36 +0000".
In the code currently the combined line format is:
:remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"

So I think it would require replacing the :date[clf] bit with a custom date token.


African Advisory Board

Activity
Show details
Write a comment…
indre.zliobaite Apr 3, 2023 2:17 PM
Next steps when Turkana data comes
Reply • Delete
indre.zliobaite Feb 9, 2021 10:21 AM
Discussed with John Rowan
Reply • Delete
indre.zliobaite Dec 4, 2019 1:16 PM
Invite people associated with Turkana data (+ anyone else for Africa?)


[new function] - vitesse de lecture

c'est très important

ok, I will try to check check that this week, hopefully this should not be that complicated to implement


Refactor so de-integration can be used elsewhere in CocoaPods

Should also manage to close https://github.com/CocoaPods/cocoapods-deintegrate/issues/10.
\c @kylef

:+1:


Let wt.exe test by window name if the corresponding window is already opened

Description of the new feature/enhancement
My use case: I want to keep single headless window and single tab with a favourite text editor always opened.
Now I can run wt -Mf -w vv -p Ubuntu wsl zsh -i -c vim and get this window.
But how do I check if the window is already running and run wt -w vv ft to just open it again instead of creating a new tab?

Ah, the key operative phrase here is

But how do I check if the window is already running

That's a good question. I suppose there isn't a great way to do that today.

#12135 might be a potential solution for this. For that, you'd create a "vv" profile for vim, and then you'd be able to run something like wt summon --profile vv, which would find the "nearest" terminal running the vv profile and activate it.
Otherwise, more complicated-ly, maybe some version of #9992, where you set the default profile/commandline for the "vv" named window to wsl zsh -i -c vim. Then, wt -w vv ft -t 0 would always work to:

create the window if it doesn't exist yet (which would launch the default profile for that window, which would be vim)
focus that window's first tab

Either of those sound like they'd work for you?

Thanks a lot! I'll check it later)) Pease!

Okay thanks!
/dup #12135
/dup #9992


Update-dataset job fails

This is running with master and crowdie.stanford.edu/thingengine
Starting update-dataset job 28 for model @null/en
Job 28 is now update-dataset
/usr/bin/node '--max_old_space_size=24000' '/opt/almond-cloud/main.js' 'run-training-task' '--task-name' 'update-dataset' '--job-id' '28' '--job-directory' 'file:///home/almond-cloud/training/jobs/28'
job 28: Dataset cleaned
job 28: /opt/almond-cloud/main.js:19
job 28: process.on('unhandledRejection', (up) => { throw up; });
job 28:                                            ^
job 28: Error: Parse error: unexpected token  in state 0, expected (,[,attimer,bookkeeping,edge,executor,monitor,now,policy,timer
job 28:     at ShiftReduceParser._helper (/opt/almond-cloud/node_modules/thingtalk/lib/nn-syntax/sr_parser_runtime.js:71:27)
job 28:     at ShiftReduceParser.parse (/opt/almond-cloud/node_modules/thingtalk/lib/nn-syntax/sr_parser_runtime.js:107:32)
job 28:     at Object.fromNN (/opt/almond-cloud/node_modules/thingtalk/lib/nn-syntax/index.js:19:19)
job 28:     at Promise.all.batch.map (/opt/almond-cloud/training/tasks/update-dataset.js:155:52)
job 28:     at Array.map ()
job 28:     at DatasetUpdater._typecheckParaphrasesAndOnline (/opt/almond-cloud/training/tasks/update-dataset.js:153:55)
job 28:     at process._tickCallback (internal/process/next_tick.js:68:7)
job 28: From previous event:
job 28:     at Object.withTransaction (/opt/almond-cloud/util/db.js:173:26)
job 28:     at DatasetUpdater.run (/opt/almond-cloud/training/tasks/update-dataset.js:237:18)
job 28:     at Object.main [as update-dataset] (/opt/almond-cloud/training/tasks/update-dataset.js:254:19)
job 28:     at Object.main (/opt/almond-cloud/training/run-training-task.js:117:36)
job 28:     at process._tickCallback (internal/process/next_tick.js:68:7)
Job 28 failed during task update-dataset: Error: Command exited with code 1
Error: Command exited with code 1
at ChildProcess.child.on (/opt/almond-cloud/training/backends/local.js:41:32)
at ChildProcess.emit (events.js:198:13)
at ChildProcess.EventEmitter.emit (domain.js:448:20)
at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
Completed update-dataset job 28 for model @null/en
Ignored email to<EMAIL_ADDRESS>with subject "Training Job 28 failed"

How did you test this? Did you run the database migrations manually? Don't do this, it will mess with the automatic migration script...

I was just issuing the default training request for testing:
curl -H 'Content-Type: application/json'   -H "Authorization: Bearer ${TOKEN}"   -d '{"forDevices": null}'   $HOST/jobs/create

I worked around by skipping updata-dataset.  I suppose will need to do this until the databse is migrated?
 curl -H 'Content-Type: application/json'   -H "Authorization: Bearer ${TOKEN}"   -d '{"forDevices": null, "jobType": "train-only"}'   $HOST/jobs/create

No, I migrated the DB and tested it using the old staging infrastructure (manually installed in a server), and update-dataset works. Maybe try again?

it works now.


Notifications do not work with Publications upload not via Odysee.com

I discovered it accidentally. I was making this script to view Odysee Notifications without running the whole web-page. ( BTW, the auth-token could be found in LBRY Desktop in Help or in Odysee.com in inspection mode under Appplication > Cookies. )
How I Discovered the Bug?
So I asked a few people to send me comments and notifications didn't work. I asked them to reply to some random comment I placed. And it did work. So I scrolled down to the last publication I had uploaded with odysee.com and comments for that gave a notification.  I haven't tried uploading with LBRY Desktop yet. Maybe comments for that will work as well. I was uploading using FastLBRY Terminal, which gives a very basic publish request to the SDK to upload something.
What could cause it?
Probably that on upload the Odysee website is sending some kind of request to Odysee's API in order to start listening to comments for that publication. You can think of it as something like this script I use when streaming. It connects to a web-socket api, which sends comments in real time to the receiver.
The problem with this script and by extension with Odysee's Notification's listener is that for each publication a separate claim_id should be added to the list of currently connected web-sockets. Meaning that if I didn't do this API call at upload, the notifications for that upload will not function.

Notifications are only supported for channels using the login functions and publishing via signed in desktop or Odysee. This is because we link up the publisher with the account system .
Otherwise an internal API call to the publish endpoint needs to be made along side the publish function.

That's exactly what I mean. Can you fix it?

Unfortunately not, notifications are an Odysee only feature at this time. In the future, the SDK may offer its own notification framework.
I actually may have misspoke about the publish record, but the person receiving the notification must be a follower and have notifications enabled on the account system. .


Add -mcpu=cortex-a55

Summary
Just add -mcpu=cortex-a55 to compilation flags if  CONFIG_ARCH_CORTEX_A55 is defined.
Impact
Might impact only cortex-a55 targets
Testing
Tested on imx93 evk board

There was some hassle with this one. Re-checking

There was some hassle with this one. Re-checking

Now it is ok. The cortex-a55 should be compiled with -march=armv8.2-a, unlike the other cortex-a5x targets

There was some hassle with this one. Re-checking

Now it is ok. The cortex-a55 should be compiled with -march=armv8.2-a, unlike the other cortex-a5x targets

could we remove -march directly? -mcpu should indicate which arch is used.

could we remove -march directly? -mcpu should indicate which arch is used.

Yes, I suppose so. I will change this tomorrow

@xiaoxiang781216 I kept the generic armv8-a and armv8-r, but added them in the end of the same if list; so if there is cpu flag, the generic arch flag is not used. Would this look proper to you?

@xiaoxiang781216 I kept the generic armv8-a and armv8-r, but added them in the end of the same if list; so if there is cpu flag, the generic arch flag is not used. Would this look proper to you?

yes, it's a good solution.


esp32: Fix GPIO Pull-Up/Pull-Down using RTC GPIO

Summary
esp32: Fix GPIO Pull-Up/Pull-Down using RTC GPIO
Impact
Users will be able to use pull-up and pull-down on pins weren't supporting it
Testing
ESP32-Devkitc

@Ouss4 / @xiaoxiang781216 could you please merge?


Feature: clarify emitErrorOnExtraKeys in docs

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem? Please describe
we have emitErrorOnExtraKeys: Emit an error and exit the process if extra keys were found (default is false) in the readMe but what does it mean.. what is a "extra key"? 😁
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Describe alternatives you've considered
N/A

Describe alternatives you've considered
N/A
Additional context
No response
I would like to make a pull request for this feature
Yes 🚀

It's a completing option to removeExtraKeys, extra keys are keys that exist in your translations but are not used in your code.

@mackelito Would you like to make a PR for this?


[runtime-library] Cannot use functions in runtime/src/iree/tooling in app development

The Android demo app calls functions like

iree_hal_available_driver_registry
iree_tooling_append_variant_list_lines
iree_tooling_parse_to_variant_list

These functions are defined in the directory

runtime/src/iree/tooling

However, when we build the IREE runtime as a library in https://github.com/iree-org/iree-samples/tree/main/runtime-library, we trace the target iree::runtime::impl, which is

runtime/src/iree/runtime, which is in parallel with
runtime/src/iree/tooling

The result is if we build an app whose source code is out of the directory of the IREE repo and depends on the IREE runtime release built by https://github.com/iree-org/iree-samples/tree/main/runtime-library, when we build the app, the compiler will complain for undefined symbols that exists in

runtime/src/iree/tooling, but not in
runtime/src/iree/runtime

For example:

OK.  runtime/src/iree/tooling is not the official API and app developers should not use it. Thanks to @benvanik, @ScottTodd , @antiagainst , and @stellaraccident  for the reminder.

Mark another problem - I might need to make it a new issues:
runtime/src/iree/tooling is not in the static library, but the following lines

https://github.com/iree-org/iree-samples/blob/4c69718e2e5385698b1f8fb82afa73124e3b6631/runtime-library/CMakeLists.txt#L96-L99, and
https://github.com/iree-org/iree-samples/blob/4c69718e2e5385698b1f8fb82afa73124e3b6631/runtime-library/CMakeLists.txt#L156-L160

will release header files in runtime/src/iree/tooling.

It turns out that we do not need iree/runtime/src/iree/tooling.  Please refer to https://github.com/iree-org/iree-samples/pull/101#issuecomment-1399356612 for details.


refactor: Refactor import paths to consume V2 versions of edgex go-mods

PR Checklist
Please check if your PR fulfills the following requirements:

[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

If your build fails due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/master/.github/Contributing.md.
What is the current behavior?
Currently consume V0 version of edgex go-mods (except go-mod-messaging)
Issue Number: #3052
What is the new behavior?
Now consume V2 version of all edgex go-mods
Does this PR introduce a breaking change?

[ ] Yes
[x] No

New Imports

[ ] Yes
[x] No

Specific Instructions
Are there any specific instructions or things that should be known prior to reviewing?
Other information

Codecov Report

Merging #3055 (311f46c) into master (b641f4f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3055   +/-   ##
=======================================
  Coverage   40.28%   40.28%
=======================================
  Files         158      158
  Lines       13736    13736
=======================================
  Hits         5533     5533
  Misses       7882     7882
  Partials      321      321

Impacted Files
Coverage Δ

internal/core/command/device.go
52.43% <ø> (ø)

internal/core/command/get.go
88.23% <ø> (ø)

internal/core/command/init.go
0.00% <ø> (ø)

internal/core/command/main.go
0.00% <ø> (ø)

internal/core/command/put.go
69.23% <ø> (ø)

internal/core/command/rest_device.go
38.16% <ø> (ø)

internal/core/command/router.go
0.00% <ø> (ø)

internal/core/command/types.go
100.00% <ø> (ø)

internal/core/command/utils.go
77.77% <ø> (ø)

internal/core/data/device.go
2.43% <ø> (ø)

... and 91 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #3055 (311f46c) into master (b641f4f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3055   +/-   ##
=======================================
  Coverage   40.28%   40.28%
=======================================
  Files         158      158
  Lines       13736    13736
=======================================
  Hits         5533     5533
  Misses       7882     7882
  Partials      321      321

Impacted Files
Coverage Δ

internal/core/command/device.go
52.43% <ø> (ø)

internal/core/command/get.go
88.23% <ø> (ø)

internal/core/command/init.go
0.00% <ø> (ø)

internal/core/command/main.go
0.00% <ø> (ø)

internal/core/command/put.go
69.23% <ø> (ø)

internal/core/command/rest_device.go
38.16% <ø> (ø)

internal/core/command/router.go
0.00% <ø> (ø)

internal/core/command/types.go
100.00% <ø> (ø)

internal/core/command/utils.go
77.77% <ø> (ø)

internal/core/data/device.go
2.43% <ø> (ø)

... and 91 more

Continue to review full report at Codecov.

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


Bug: random_string() Implicit conversion from float 4.5 to int loses precision

PHP Version
8.1
CodeIgniter4 Version
4.2.1
CodeIgniter4 Installation Method
Composer (using codeigniter4/appstarter)
Which operating systems have you tested for this bug?
Linux Debian
Which server did you use?
fpm-fcgi
Database
MariaDB
What happened?
I'm using the codeigniter build in helper helper('text'); and want to create a random string called the function random_string("crypto", 9); With an odd number I always get the error: Implicit conversion from float 4.5 to int loses precision. So the numbers 3, 5, 7, 9, 11 (...) are not usable. With even numbers I always get a random string.
What function is called?

system/Helpers/text_helper.php

if (!function_exists('random_string')) {
  /**
   * Create a Random String
   *
   * Useful for generating passwords or hashes.
   *
   * @param string $type Type of random string.  basic, alpha, alnum, numeric, nozero, md5, sha1, and crypto
   * @param int $len Number of characters
   */
  function random_string(string $type = 'alnum', int $len = 8) : string {}
}

This case I call with random_string("crypto", 9):
return bin2hex(random_bytes($len / 2));

Steps to Reproduce
Didn't work:
helper('text');
$pw = random_string("crypto", 9);

Works fine:
helper('text');
$pw = random_string("crypto", 8);

Expected Output
A random string like b3da1087d or something else.
Anything else?
Last two Backtrace rows:

{PHP internal code}   —  CodeIgniter\Debug\Exceptions->errorHandler ()
SYSTEMPATH/Helpers/text_helper.php : 576   —   random_bytes()

Solution maybe
Cast the result to an integer:
return bin2hex(random_bytes((int)($len / 2)));

Thank you for reporting!
It seems random_string("crypto", 9) is a misuse.
Because it is impossible to generate strings with the length of 9.
The output length is 8 if you use PHP 8.0.
You must a set even number in the second parameter.
So we should throw an InvalidArgumentException?

I see it differently. The problem is that the function random_bytes() expects an integer, but gets a float. So it would be right to round up the number or cast it as int.
In my opinion, the result must be cast as integer:
random_bytes((int)($len / 2)

@turbopixel You're correct in a way that the float to int conversion is the immediate problem which can be patched by simply rounding up the float or discarding the decimal thru casting to int. But, if you'll look at the design deeper, the $len is first halved before being passed to random_bytes which accepts an int. Since dividing an integer by 2 gives either an integer (even) or float (odd) and the consuming function needs an integer, I think it should be right to assume that we should pass only even numbers in the  $len in the first place.
On the other hand, another way is to just pass the $len argument as-is. Why does it need to be halved, anyway?

@paulbalandan The secret will probably be the PHP function itself. In the example you can see that a length of 5 is specified and the return value is 10 characters long. This will probably be the reason why the originally specified length is divided by 2.
https://www.php.net/manual/en/function.random-bytes.php#refsect1-function.random-bytes-examples
Now, there are two options:

The specified length is given directly (without / 2) and the return value of bin2hex() is shortened afterwards.
@kenjis idea will be implemented.


Local var "b" not released in point_is_on_curve function in sm9_rate.c

In sm9_rate.c, line 1934, function point_is_on_curve
There's 4 local variables fp2_t x, y, b, t;
Each is init by fp2_init
But at end: label, only x, y, t are released by fp2_cleanup
b not released.

function eval_tangent and eval_line in sm9_rate.c also have the same problems.

新的一年了，还有人维护不？

v2的SM9代码不再维护了


Google auth not working in webview(instagram/messenger) App

When our users are trying to login through google by instagram/facebook webview they are getting error disallowed_useragent.
Somehow Leetcode/Pintrest and stackoverflow are doing this smoothly on instagram and facebook.

I don't know how to fix it, But maybe you can check for the required google secure policy header they may require to make 3rd party apps work

same problem...


How to use a Private registry

Here is the error message when I want to launch an image called <IP_ADDRESS>:5000/s3pics :
09:54:14.958 deimos.containerizer.docker.launch() STDERR // Error response from daemon: wait: No such container: 706a8ae90e097825fd43c8a5ed3222ec1b4b5ab4cbdacc4c30c2c30281591395
2015/01/06 09:54:14 Error: failed to wait one or more containers

I'm now using docker as the containerizer and it works this way

Yes, support for Deimos has been dropped when Mesos got the native Docker support.


ESD9

Use the preview tab to see the example given below. Edit the relevant information and preview the changes before submitting. You may delete these instructions.

Key
Value

ID
ESD9

Source
Vaaran Bhai Gurdas Ji

Page
28

Line
guru isKI, guruisKu kmwvY ]16]

Correction
THIS ≠ THAT

PROOF (EDITION)
Image:

Correction:
guruisKu ≠ guru isKu
Proof:
Vaaran Bhai Gurdaas Ji | November 2011 | Shamsher Singh Ashok | SGPC, Sri Amritsar
Image:


Electronik: Again on the end of the list

Please move Electronik to the front of the page.

Also not visible here at all )9even after moving):

@vikiival electronik it's missing start_at date
pls add this and it should appear in the landing strip
thanks

added


SelectAll with database schema

First of all, thanks a lot for this awesome library. I have been playing with it a lot lately and am absolutely amazed.
I am working with a postgresdb in a schema different then the public one which has lead to the following issue:
I have a query like this:
db
  .selectFrom("my_schema.my_table")
  .selectAll("my_schema.my_table")

which results in a query like this select "my_schema.my_table".* from "my_schema"."my_table", which results in an missing FROM-clause entry for table "my_schema.my_table" error.
The part in the selectFrom gets quoted correctly, while the part in the selectAll unfortunately not. The expected resulting query would be select "my_schema"."my_table".* from "my_schema"."my_table".
Specifying the specific fields with the select function works well:
await tx
    .selectFrom("my_schema.my_table")
    .select("my_schema.my_table.id")

results in  select "my_schema"."my_table"."id" from "my_schema"."my_table".
Apart from this, everything regarding other schemas than the public one works quite fine so far, thanks a lot!

Thanks for reporting this! I'll fix it asap. I'm on vacation right now and don't have my laptop, so you'll have to wait until next week.

Fixed in 0.20.1


Adapt static telegraf in the Loki pod

How to categorize this PR?

/area logging
/kind enhancement
What this PR does / why we need it:
With this PR the Telegraf in the Loki pod is changed to use a static binary image.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

The Telegraf image used by Loki pod is built from scratch with static binary.

/retest


txn: fix min_commit_ts calculation in prewrite

What problem does this PR solve?
https://github.com/tikv/tikv/pull/8657 introduces a bug that the inequality is reversed... min_commit_ts always returns 0 after that PR.
What is changed and how it works?
This bug exposed that some code is not covered by tests. This PR mainly adds a test covering it besides fixing the bug.
Check List
Tests

Unit test

Release note
Part of async commit.

/merge


Decouple Publisher Client and publishing Topic

Is your feature request related to a problem? Please describe.
Currently Publisher client is bind to a single topic. This require to create dedicated publisher clients for each topic we want to publish. We have use case where we need to publish to multiple topic (few hundreds) and for that we need to keep track of huge list of clients on VM memory.
Describe the solution you'd like
Decouple Publisher client with topic to publish. Topic information should be taken as arg to publish method as TopicName
Describe alternatives you've considered
There is an alternative for it TopicAdminClient.publish which doesn't bind to a topic and a single client is able to publish to n number of topics. But this not recommended for high volume message publish and therefore not fulfilling our use case.

We have moved this issue to our internal tracking system. However, the issue is considered low-priority at this time. If the issue is ultimately resolved, it will appear in the release notes for the client at that time. If this issue is of higher priority for you, please enter a support ticket for follow-up. Thanks
Internal Bug - b/278075996

@maitrimangal how does it look in terms of priority today? I am facing the same scenario and I agree with the issue.
I have a similar-ish discussion on the C++ side:
https://github.com/googleapis/google-cloud-cpp/issues/13707

@maitrimangal how do I file a support ticket for raising the priority?

Hello @anthonyalayo, I support ticket can be filed in the support console. I will note that this feature request is still tracked on our public issue tracker as it would affect client libraries for other languages as well, and it has not currently been re-prioritized.


so what is best method to update my dating app @Ahmed-pk Update won't make you loose your data

@Ahmed-pk Update won't make you loose your data
Originally posted by @polynamaude in https://github.com/pH7Software/pH7-Social-Dating-CMS/issues/827#issuecomment-715650610

@Ahmed-pk Why open another issue ???
https://ph7cms.com/doc/
In the documentation it tells you what to do.
Upgrade
You simply backup the configuration file at first and replace it afterward.
Tell me, what have you tried ? Don't just go out asking "How do I..." but try something. It's not like there's a life at risk. It's by trying, doing mistake, doing good stuff too and in the end we learn.


How to remove write protection from USB flash drive

Topic Suggestion
Pre-submission advice
By following all our pre-submission advice and reviewing our Resources folder, you will maximise your chances of your topic being approved.
We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner.
Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles that will help you propose and write a successful article.
Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
Proposal Submission
Proposed title of article
How to remove write protection from USB flash drive
Use keyword research to improve your article's SEO.
 The flash drive becomes read-only, and you are unable to manipulate data on it, such as copying, deleting, or writing files to the disk. How do you unprotect a read-only flash disk from being written to? In Windows 10/8/7, we'll show you how to disable write protection on a flash drive, SD card, or pen drive.
Key takeaways
By the end of this topic the learner will be able to understand:

Read-only flash drive
Why is the USB drive read-only
How to remove read-only flash drive on windows
How to remove read-only flash on mac

Article quality
The article is unique since I have not found any topic dealing with such an article in  search box
References
N/A
Conclusion
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Good afternoon and thank you for submitting your article for publishing.
Your article has been entered into our queue and should be reviewed (and published pending any changes) as soon as a peer reviewer is finished with the ones in the queue before it. 🚀
Thank you.

We are looking for programmer-centric concepts explained in fun and intuitive ways.
Please feel free to suggest an alternate topic to explore. 🚀


Unable to scan with Scan Option

If a scan is done with the parameter --scanOption fossology and a file is not in cache, it ignores the scanOption and performs a Ninka scan instead:
Fix for this is by modifying spdx.dy line 363:
tempFileInfo.populateFileInfo(scanOption)

Line 363 already contains this. Maybe someone else fixed it and forgot to close the issue?

In the case that I am not understanding please let me know.

In my tests it only worked after removing the "self." from that line. Try doing a test with fossology scanOption and the package not in cache with a bad Ninka path to confirm this.

Any ETA on this issue?

Dan, I was unable to reproduce this. I used a fresh install of DoSOCS with NINKA_PATH set to /nonexistent, FOSSOLOGY_PATH set to the correct nomos location, and database with no data. Here's the command line I used:
./DoSPDX.py -p package.tar.bz2 --scan --scanOption fossology --print json
Worked as expected, producing SPDX document output with license information from FOSSology.

Fixed https://github.com/socs-dev-env/DoSOCS/commit/630971ea54907c1fe212833c8db2e5b3361bb186


Some traits of database tests do not close the connection even after the test is finished

Laravel Version
10.35.0
PHP Version
8.3.0
Database Driver & Version
PostgreSQL 16.1 for MacOS(MacPorts) / Probably all databases
Description
DatabaseMigrations and DatabaseTruncation do not close the database connection at the end of each test. Therefore, the database connection remains open for the number of tests.
As a result, when running a large number of tests, we may encounter a maximum number of connections error or a lack of resources on the database side.
DatabaseTransactions and RefreshDatabase do not have this problem.
Steps To Reproduce
In the following example, I adjusted the PostgreSQL config to make it easier to see what happens. It probably happens with other databases as well.

Start the server with postgresql.conf set as follows.
max_connections = 3 # intentionally small value
log_connections = on
log_disconnections = on

Run the following test:
use DatabaseTruncation; // or `DatabaseMigrations`

public static function repeat(): array
{
     // Run the test more times than the maximum number of concurrent connections
     return array_fill(0, 4, []);
}

/** @dataProvider repeat */
public function test(): void
{
}

The test will fail with the following error for example:
SQLSTATE[08006] [7] connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL: sorry, too many clients already (Connection: pgsql, SQL: SET CONSTRAINTS ALL DEFERRED;)

The following is recorded in the database server log:
LOG: connection received: host=[local]
LOG: connection authorized: user=postgres database=postgres
LOG: connection received: host=[local]
LOG: connection authorized: user=postgres database=postgres
LOG: connection received: host=[local]
LOG: connection authorized: user=postgres database=postgres
LOG: connection received: host=[local]
FATAL: sorry, too many clients already
LOG: connection received: host=[local]
FATAL: sorry, too many clients already
LOG: disconnection: session time: 0:00:00.012 user=postgres database=postgres host=[local]
LOG: disconnection: session time: 0:00:00.024 user=postgres database=postgres host=[local]
LOG: disconnection: session time: 0:00:00.058 user=postgres database=postgres host=[local]

In the case of DatabaseTransactions and RefreshDatabase, the connection is closed after each test as per their implementation, so no error occurs and the log is recorded as follows.LOG: connection received: host=[local]
LOG: connection authorized: user=postgres database=postgres
LOG: disconnection: session time: 0:00:00.034 user=postgres database=postgres host=[local]
LOG: connection received: host=[local]
LOG: connection authorized: user=postgres database=postgres
LOG: disconnection: session time: 0:00:00.030 user=postgres database=postgres host=[local]
LOG: connection received: host=[local]
LOG: connection authorized: user=postgres database=postgres
LOG: disconnection: session time: 0:00:00.030 user=postgres database=postgres host=[local]
LOG: connection received: host=[local]
LOG: connection authorized: user=postgres database=postgres
LOG: disconnection: session time: 0:00:00.029 user=postgres database=postgres host=[local]
LOG: connection received: host=[local]
LOG: connection authorized: user=postgres database=postgres
LOG: disconnection: session time: 0:00:00.031 user=postgres database=postgres host=[local]

Related to https://github.com/laravel/framework/issues/18056. Either DatabaseMigrations or DatabaseTruncation doesn't implement disconnection logic. Note that it reproduces also when we don't any traits.

Trait
Connection leaks?

RefreshDatabase
🆗

DatabaseTransactions
🆗

DatabaseTruncation
:x:

DatabaseMigrations
:x:

Using DB with no traits
:x:

You may try to use add the following code in Tests\TestCase
    protected function setUp(): void
    {
        $this->beforeApplicationDestroyed(function () {
            foreach (array_keys($this->app['db']->getConnections()) as $name) {
                $this->app['db']->purge($name);
            }
        });

        parent::setUp();
    }

We have this in Framework's DatabaseMigrations tests without any side-affect, best to try this first before making any changes to the Framework itself.

@crynobone I've already tried and I confirmed it solves this problem, but I believe that it should be implemented on framework core.

beforeApplicationDestroyed runs callbacks in a sequence, if you have multiple beforeApplicationDestroyed and it uses db after the connection gets purged it "may" cause breaking change.

At least we should update the trait doc comments and Laravel official documentation...

@taylorotwell Hi, how do you think about this?

We're appreciate a PR here, thanks.

@driesvints Please re-open this, there's still a problem

@taylorotwell @driesvints
First of all, I would like to apologize for breaking the real world application.
However, I think this issue should be fixed.
In tearDown:

It looks like you are trying to completely discard the application settings and class state. https://github.com/laravel/framework/blob/v10.37.3/src/Illuminate/Foundation/Testing/TestCase.php#L198-L204
And very recently a commit was made that does it more precisely.
https://github.com/laravel/framework/commit/bb49a72c1a839b2b19d0fcea4e8b203a122454ef

The above process is being performed. I find it strange that the database connection is left open (and/or leaked). Is there some reason?

@taylorotwell @driesvints @KentarouTakeda @rikvdh @crynobone I opened the discussion, please check it out:

https://github.com/laravel/framework/discussions/49373


validation rule changes + multiselect clean up

Description
Ability to evaluate certain rules on client side.
Overview of Changes
Introduced new annotation @ValidationRule to evaluate certain rules on the client side and show appropriate error messages that are configured. The form cannot be submitted until the rules are satisfied.
Type of Change

[ ] New feature

You did it @sandeepmantha!
Thank you for signing the Anthem Opensource Software CLA.


Unknown database type

Hello,
Thanks for your work!
I've tried the script on a 2421rp+ and I get this :
ERROR Unknown database type rs2421rp+_host_v7.db!
WD120EFBX-68B0EN0 already exists in rs2421rp+_host_v7.db.new
ERROR Unknown database type rs2421rp+_host_v7.db!
WD4003FFBX-68MU3N0 already exists in rs2421rp+_host_v7.db.new
ERROR Unknown database type rs2421rp+_host_v7.db!
SNV3510-800G already exists in rs2421rp+_host_v7.db.new
Any idea?
If I run the script with -f at the end, it's working perfectly!

It's strange that the -f option stopped the unknown database error message. All the -f option does is prevent forcing DSM to read the db files (so it picks up the changes without having to reboot).
It's also strange that the rs2421rp+_host_v7.db.new file was of a known database type, yet the rs2421rp+_host_v7.db was not.
Can you run the following command and reply with the output:
cat "/var/lib/disk-compatibility/rs2421rp+_host_v7.db" | cut -c1-30

Thanks for your answer.
I've found that the -f changes support_disk_compatibility to no as well and that works.
I've typed your command and here is the output : "disk_compatbility_info":{"WD4

It's strange that the output was "disk_compatbility_info":{"WD4 as it should have been {"disk_compatbility_info":{"WD
For some reason it's missing the curly brace at the start of the file. I wonder how many of your other .db files are the same.
Can you run this command which will output the first 30 characters of each db file and their name.
for f in /var/lib/disk-compatibility/*_v7.db*; do b="$(basename "$f")"; a=$(cat "$f" | cut -c1-30); echo "$a  $b"; done

You were right!
Thanks again your your job and help!

Excellent.


fix(resources): the number of free resources is not updated after committing actions to change resources

Previous PR: https://github.com/bwsw/cloudstack-ui/pull/1350

Pull Request Test Coverage Report for Build 1319

9 of 15 (60.0%)  changed or added relevant lines in 6 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.007%) to 53.69%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/app/reducers/snapshots/redux/snapshot.effects.ts
2
3
66.67%

src/app/reducers/volumes/redux/volumes.effects.ts
2
3
66.67%

src/app/template/template-creation/containers/template-creation.container.ts
1
2
50.0%

src/app/vm/vm-creation/service-offering/vm-creation-service-offering.container.ts
1
2
50.0%

src/app/vm/vm-creation/containers/vm-creation.container.ts
2
4
50.0%

Files with Coverage Reduction
New Missed Lines
%

src/app/vm/vm-creation/containers/vm-creation.container.ts
1
48.0%

Totals

Change from base Build 1315:
0.007%

Covered Lines:
8239

Relevant Lines:
13481

💛  - Coveralls


Add circe-extras

Addresses https://github.com/circe/circe/issues/1425. I intended to capture my motivation for this function, namely my real-world usage of it, via the function's comments.

Thanks! A couple of minor comments but this looks like a good start.

Thanks, Travis.
Once I'm content with it, I'll make sure to rebase, clean up the commits and its messages, and then @ you.

I will check on any build failures, but I'd say I'm ready for your review, please, @travisbrown.
I have learned from you through your blog, libraries, especially circe, in-person chatting, as well as your excellent StackOverflow answers.
I greatly appreciate any and all criticism you have of this PR. I will do my best to address all of your comments.
Thanks!

Hi @travisbrown - could you please take a look at this? Thanks!

After glancing at the Travis build, I don't know why it failed:
[success] Total time: 69 s (01:09), completed Apr 21, 2020 3:09:50 AM
restoring stty: 500:5:bf:8a3b:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
The command "if [[ "$TRAVIS_SCALA_VERSION" == 2.13.* ]]; then sbt ++$TRAVIS_SCALA_VERSION genericSimpleJVM/test; else echo "Skipping generic-simple on non-2.13 build"; fi" exited with 0.
0.00s$ if [[ "$TRAVIS_BRANCH" == "scalajs" ]]; then sbt ++$TRAVIS_SCALA_VERSION clean validateJS; else echo "Skipping Scala.js build"; fi
Skipping Scala.js build
The command "if [[ "$TRAVIS_BRANCH" == "scalajs" ]]; then sbt ++$TRAVIS_SCALA_VERSION clean validateJS; else echo "Skipping Scala.js build"; fi" exited with 0.
0.01s$ find $HOME/.sbt -name "*.lock" | xargs rm
The command "find $HOME/.sbt -name "*.lock" | xargs rm" exited with 0.
cache.2
store build cache
Done. Your build exited with 1.

@kevinmeredith The build failure is a Travis CI issue—it's been having problems across many projects, and is currently "down for maintenance", so I can't restart the job. I'll try to review this today, thanks.

Hi @travisbrown - could you please take a look at https://github.com/circe/circe/pull/1436#commits-pushed-a576510? I'd especially appreciate your feedback on my usage of JsonFolder.

will probably have some additions for the new module before 0.14.0—will flag you for review.

Do you have any rough idea when you would cut a release of circe that included circe-extras? I'm asking since my colleagues and I, I expect, will use the added sanitizeKeys function, in the coming weeks.
Thanks

Thanks, @kevinmeredith! I'm going to go ahead and merge this, and will probably have some additions for the new module before 0.14.0—will flag you for review.

Hi @travisbrown - could you please let me know if you have an idea when 0.14.0 will come out? I'm asking since I expect to have a need for this function in the coming week at work.
Thanks!

@kevinmeredith I was aiming for a new release by the end of May (possibly an 0.13.1, which could include this).

I closed and then re-opened to try to get the build green.

It looks like you need to run scalafmtSbt. I'll merge this when it's green.

It looks like you need to run scalafmtSbt.

Thanks, Travis. I pushed up https://github.com/circe/circe/pull/1436/commits/0d91574e6e450029efa2e12c4990e3eca4363c68.
It was my fault for not reviewing the logs. I wrongly expected that earlier Travis CI problem was to blame. Next time, I'll be sure to look at the build's logs and not make assumptions.

Codecov Report

Merging #1436 into master will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1436      +/-   ##
==========================================
- Coverage   85.60%   85.57%   -0.03%
==========================================
  Files          57       57
  Lines        2181     2184       +3
  Branches      107      109       +2
==========================================
+ Hits         1867     1869       +2
- Misses        314      315       +1

Impacted Files
Coverage Δ

...les/core/shared/src/main/scala/io/circe/Json.scala
78.21% <0.00%> (-1.12%)
:arrow_down:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
85.38% <0.00%> (-0.59%)
:arrow_down:

.../core/shared/src/main/scala/io/circe/Decoder.scala
85.28% <0.00%> (-0.28%)
:arrow_down:

...s/core/shared/src/main/scala/io/circe/Parser.scala
85.71% <0.00%> (ø)

.../core/shared/src/main/scala/io/circe/Encoder.scala
86.40% <0.00%> (ø)

...re/shared/src/main/scala/io/circe/JsonNumber.scala
92.77% <0.00%> (ø)

...rc/main/scala/io/circe/shapes/HListInstances.scala
100.00% <0.00%> (ø)

...rc/main/scala/io/circe/shapes/SizedInstances.scala
78.57% <0.00%> (ø)

...ed/src/main/scala/io/circe/disjunctionCodecs.scala
100.00% <0.00%> (ø)

...ared/src/main/scala/io/circe/refined/package.scala
100.00% <0.00%> (ø)

... and 9 more

Continue to review full report at Codecov.

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

Hi Travis - could you please let me know of any rough date on when you expect to cut a release? To be clear, I'm not blocked as I'll just copy/paste the source code until you've cut a release.
Thanks

@kevinmeredith I'm sorry, I can't really give estimates, since nobody is paying me to work on Circe right now, and I have a lot of other things going on.
I guess I could promise an 0.14.0-M1 milestone this week, but there'd be no guarantees it would be bincompat with 0.14.0.

I completely understand and won't keep bothering you about it, Travis. I sincerely appreciate your excellent work in circe.

Thanks, @kevinmeredith, and I definitely don't mind questions like that—it's a totally reasonable thing to want to know. I just don't have a better answer. 😄

@kevinmeredith 0.14.0-M1 is on its way to Maven Central, although I probably won't have time to write up release notes until Sunday.

Hey @travisbrown - thanks for that info! Did I make a mistake in https://github.com/circe/circe/blob/v0.14.0-M1/build.sbt#L528 as I don't see any such extras library available via https://mvnrepository.com/search?q=circe? Thanks

@kevinmeredith Yes, I've just fixed it here and published those artifacts manually.

Thank you, Travis.


Implement device_put as a primitive.

Uses the common dispatch logic rather than an explicit isinstance(..., Tracer) test.

Let's go with this one. It's probably better we minimize the number of places that reason about Tracers directly. And this also avoids have api.py reach into some of xla.py's guts.


pycurl ssl error on windows

Hi Guys,
I am compiling an exe using pyinstaller 3.3 on Windows Server 2016, with Windows 10 SDK installed.  This is a simple python 3.6.2 app importing tuspy 0.1 using pycurl 7.46.0.
60, SSL certificate problem: unable to get local issuer certificate
Obviously pycurl can't find my cert to compare against the url I am passing to tuspy which is https.
How can i...
a) turn off ssl verification with my call to tuspy
b) inform tuspy of the location of a valid cert file
c) fix this some other way
Thanks!!

Hi @JohnDzialo , thank you for reporting this. 🙂 I have added a fix and published a released at v0.1.2.

I would close this now. Please feel free to reopen this, if the issue persists 🙂


Add built-in retry for finding actor in placement

Description
This change adds a built-in policy for finding an actor in the
placement table. This policy is protected and cannot be touched by
customers. This is because this type of retry should be hidden from
general users as we have the most information on how the placement
service works/values that should be used for the policy.
Signed-off-by: Hal Spang<EMAIL_ADDRESS>Issue reference
Please reference the issue this PR will close: #4768
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[x] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

/ok-to-test

/ok-to-test

/ok-to-test


Feature Request: generic way to ignore some columns on insert

Assume the database is already defaulting to some automatic values when new records are inserted, something like this would be awesome
case class DefaultValued(
 id: Option[Long] = None,
createdAt: Option[Date] = None,
somethingElseTheDbInits: Option[Whatever] = None,
fieldIWantToSpecify: String
)
db.run(quote(query[DefaultValued].insertExceptFields(
_.id,
_.createdAt,
_.somethingElseTheDbInits
)))(List(DefaultValued(fieldIWantToSpecify = "just this")))

@getquill/maintainers

Duplicate of https://github.com/getquill/quill/issues/427?

^^ similar, i'd say it's a little bit different as i'd actually like to just exclude the id column (and create/updated_at etc) from quill/scala handling it at all, and just let mysql do it's thing based on the table definition (as opposed to like a schema.generated(_.createdAt) thing). One reason outside of just personal preference is i think using schema.generated(_.id) will increment the counter in the db even if nothing is written so you could end up with non-intuitive gaps in the ids.

Despite this being closed, presumably this is still up for an eventual fix, given that it was explicitly marked as 'not fixed' in #554?

@tekacs ooops, closed by accident. Thanks for the warning!


fix: fix typo

fix typo

Job d2l-zh/PR-1064/1 is complete.
Check the results at http://preview.d2l.ai/d2l-zh/PR-1064/


Investigate performance monitoring similar to codecov

Disclaimer I don't know if this exists
It would be very nice if we could find something that will allow us to record the time to run a test as a proxy for code performance.
Ideally this could be applied to the smoke test automation so that dormant projects will be monitored as well.
The specific example where this would have been valuable:
The project FlexCode takes a dependency on xgboost, but didn't define the specific version of the dependency.
The xgboost version was updated from 0.9 to 1.0, and that introduced a significant increase in FlexCode run times.
This went completely unnoticed until someone asked, "hey isn't this taking a lot longer to run???"
If there was a smoke test that recorded test run time in addition to pass/fail, then at least there would have been an indicator of the problem.

I also haven't looked too much into the opensource/python options, but I know I've run into this problem elsewhere, and it's tricky. The best solution there was to use timeouts in your test suite, with per-test exceptions if you know it's going to be a longer-running test (e.g. sets up a lot of data).
If your test suite organically takes 5% longer each day, then an anomaly detection kinda suite would likely not notice that the test has grown prohibitively expensive. Having a timeout will raise errors when the test exceeds the threshold, so you'll at least find out then.
If your test is suddenly 200% slower, it could be a transient issue (in which case, just re-running would be preferred), or it's really a newly-introduced bug. If that 200% still falls under the timeout threshold, then you won't get notified, which is annoying, but also makes the case for some larger integration-style tests in your test suite.
I guess I had thought that timeouts were baked into pytest, but they're not and you'd need something like pytest-timeout to accomplish this. But maybe this package would qualify as a best practice?

I think I like where we "settled" on this today - we'll try out pytest-timeout in a few repos, and if we're happy with it, we can expand the usage to other repos (and probably the template).

pytest-timeout seems like a good option. Though it probably makes sense to try it out in a few repos locally before declaring it a best practice.
Also, unnervingly, the first line on PyPI for pytest-timeout is, "This is not the timeout you are looking for!"

Dumping this note somewhere: pytest monitor creates a .pymon file that we should add to the .gitignore file in the template.

This has been implemented and follow-up issues are being opened for bugs/features.


Brings the auth samples back into to all the docs.

Addresses #1136, follow on to #1133.

Code changes LGTM. :+1:


AddPost does not send the code upstream

Another script is required to be made that can send the code upstream.

[ ] AddPostView
[ ] UpdatePost
[ ] SiteUpdateView
[ ] ...


How to modify the default value

How to modify the default value How to modify the default value, for example, dynamically modify the initial page number

In v5.x you should only need to change the config directly.


django2.0

Fix for django 2.0

Hi, this fix didn't work for me on Django 2.0.1 😞

Hi, this fix didn't work for me on Django 2.0.1 😞

works for me


Enable native and vulkan features

I've had pretty good luck with vulkan on Intel arc integrated GPUs, it's faster and more power efficient than using avx2-vnni on the CPU. I'm not sure if it was an oversight that the feature wasn't enabled, or if it just had not been tested.
I've tested it on ubuntu 22.04 on an Intel GPU. I'll try it on windows as soon as I have time.

AFAIK it just hasn't been tested, let me know how windows goes, but it's certainly not a requirement for this to be merged.

The Vulkan feature doesn't compile for me on Windows until I manipulate things a little (and I'm too unfamiliar with C / C++ / build processes to know if it'd be only on my end).

Error log (for --release but would be just about the same for debug too)
The following warnings were emitted during compilation:

warning<EMAIL_ADDRESS>cl : Command line warning D9002 : ignoring unknown option '-static'

error: failed to run custom build command for `llama-cpp-sys-2 v0.1.59 (C:\Users\Jacob\Repositories\llama-cpp-rs\llama-cpp-sys-2)`

Caused by:
  process didn't exit successfully: `C:\Users\Jacob\Repositories\llama-cpp-rs\target\release\build\llama-cpp-sys-2-6e8c1942500ecdb9\build-script-build` (exit code: 1)
  --- stdout
  cargo:rerun-if-changed=./llama.cpp
  Generating bindings..
  Compiling Vulkan GGML..
  TARGET = Some("x86_64-pc-windows-msvc")
  OPT_LEVEL = Some("3")
  HOST = Some("x86_64-pc-windows-msvc")
  cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
  CXX_x86_64-pc-windows-msvc = None
  cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
  CXX_x86_64_pc_windows_msvc = None
  cargo:rerun-if-env-changed=HOST_CXX
  HOST_CXX = None
  cargo:rerun-if-env-changed=CXX
  CXX = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("cmpxchg16b,fxsr,lahfsahf,sse,sse2,sse3")
  DEBUG = Some("false")
  cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
  CXXFLAGS_x86_64-pc-windows-msvc = None
  cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
  CXXFLAGS_x86_64_pc_windows_msvc = None
  cargo:rerun-if-env-changed=HOST_CXXFLAGS
  HOST_CXXFLAGS = None
  cargo:rerun-if-env-changed=CXXFLAGS
  CXXFLAGS = None
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:warning=cl : Command line warning D9002 : ignoring unknown option '-static'
  ggml-vulkan.cpp
  ./llama.cpp\ggml-vulkan.cpp(2): fatal error C1083: Cannot open include file: 'vulkan/vulkan_core.h': No such file or directory

  --- stderr

  error occurred: Command "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.40.33807\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-static" "-I" "./thirdparty/Vulkan-Headers/include/" "-I" "./llama.cpp" "-W4" "/W4" "/Wall" "/wd4820" "/wd4710" "/wd4711" "/wd4820" "/wd4514" "-DGGML_SCHED_MAX_COPIES=4" "-DNDEBUG" "-D_XOPEN_SOURCE=600" "-DGGML_USE_VULKAN" "-FoC:\\Users\\Jacob\\Repositories\\llama-cpp-rs\\target\\release\\build\\llama-cpp-sys-2-d62327f2c000586a\\out\\30b5508d68fcb5a8-ggml-vulkan.o" "-c" "./llama.cpp\\ggml-vulkan.cpp" with args cl.exe did not execute successfully (status code exit code: 2).

warning: build failed, waiting for other jobs to finish...

First, I had to open a Developer PowerShell for VS 2022 so my INCLUDE and LIB environment variables would be set. (I only mention this and the following steps because I don't have to do them to compile llama.cpp on its own with cmake, if that's helpful)
Then, I had to add the Vulkan SDK Include and Lib directories to my INCLUDE and LIB environment variables:
nu
$env.INCLUDE = ($env.INCLUDE + ";C:\\VulkanSDK\\1.3.283.0\\Include")
$env.LIB = ($env.LIB + ";C:\\VulkanSDK\\1.3.283.0\\Lib")

and it seems vulkan.lib is called vulkan-1.lib instead, so I had to edit the line that this PR changes in build.rs from println!("cargo:rustc-link-lib=vulkan"); to
println!("cargo:rustc-link-lib=vulkan-1");
After doing that stuff, I can compile and run the simple example (by updating it to expose a vulkan feature) and it shows me it indeed finds my GPU as a Vulkan device. Hope this helps to know and isn't noise!

Thanks that's good information. When I test windows I'll try to clean it up so it builds nicely on both platforms.

Ok, I've added the requisite "horrible things" to build.rs to make this build on windows. I also changed the examples to offload layers to the GPU if either vulkan or cuda is enabled. I tested simple with Phi3 on an rtx 4090 and it worked just fine and did see significant speedup vs CPU, obviously not as fast as cuda, but the advantage is it will run on literally anything.
To build it with vulkan now all you should need to do is winget install KhronosGroup.VulkanSDK and cargo build --release --package=simple --target=native,vulkan

It works for me without any of the extra steps from before. Thanks for working on this!


Fix tests against Wagtail 4.x

any progress to merge this PR and create new release?

Merged in 2dd933da69137cc66f81fe001d20e9db69ff2b22


Use GitHub App for issue/PR commenting

Checks

I have...

[x] read and understood the Contributing Guidelines
[x] Updated any nessecary files such as the README.md and/or CHANGELOG.md.

Type of Pull request

[ ] Minor Change
This Pull request doesn't break existing configuration.
[ ] Major Change
This Pull request will break existing configuration.
[ ] Bug fix
This Pull request will fix a (critical) bug.
[ ] Documentation
This Pull request only changes documentation (README.md, CHANGELOG.md, etc.)
[x] Other: GitHub Action

Description
Replaces the current comment action using a User account with a dedicated Bot account (App) to use instead.
The usage is possible thanks to the github-app-token action which generates a usable PAT for the bot to use... If everything works as I expect should future comments use the bot account.

Closes #

Quickly testing if a possible fix works...