Worker nodes can't reach embedded Redis but other services can.

Checks

[X] I have checked for existing issues.
[X] This report is about the User-Community Airflow Helm Chart.

Chart Version
8.6.1
Kubernetes Version
Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.0", GitCommit:"a866cbe2e5bbaa01cfd5e969aa3e033f3282a8a2", GitTreeState:"clean", BuildDate:"2022-08-23T17:44:59Z", GoVersion:"go1.19", Compiler:"gc", Platform:"darwin/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"21+", GitVersion:"v1.21.14-eks-18ef993", GitCommit:"ac73613dfd25370c18cbbbc6bfc65449397b35c7", GitTreeState:"clean", BuildDate:"2022-07-06T18:06:50Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}

Helm Version
version.BuildInfo{Version:"v3.10.0", GitCommit:"ce66412a723e4d89555dc67217607c6579ffcb21", GitTreeState:"clean", GoVersion:"go1.19.1"}

Description
I've deployed the helm chart according to this project's guides and recommendations. While each pod comes up fine, tasks cannot run. After inspecting the worker pods, the logs reveal they are not able to connect to the embedded Redis instance. After exec'ing into the redis-master pod and running PING, its clear that Redis is readable by the connection string that workers are using. However, the workers cannot connect.
Is there a configuration step I'm missing or an incorrect configuration that would cause this?
Relevant Logs
Logs for Redis pod. Redis is working and ready:
12:28:31.99 INFO  ==> ** Starting Redis **
1:C 05 Oct 2022 12:28:31.999 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 05 Oct 2022 12:28:31.999 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 05 Oct 2022 12:28:31.999 # Configuration loaded
1:M 05 Oct 2022 12:28:32.001 * Running mode=standalone, port=6379.
1:M 05 Oct 2022 12:28:32.001 # Server initialized
1:M 05 Oct 2022 12:28:32.001 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
1:M 05 Oct 2022 12:28:32.001 * Ready to accept connections

Logs from worker. It's not able to connect:
[2022-10-05 14:56:40 +0000] [65] [INFO] Starting gunicorn 20.1.0
[2022-10-05 14:56:40 +0000] [65] [INFO] Listening at: http://[::]:8793 (65)
[2022-10-05 14:56:40 +0000] [65] [INFO] Using worker: sync
[2022-10-05 14:56:40 +0000] [66] [INFO] Booting worker with pid: 66
[2022-10-05 14:56:40 +0000] [67] [INFO] Booting worker with pid: 67

 -------------- celery@airflow-worker-0 v5.2.3 (dawn-chorus)
--- ***** -----
-- ******* ---- Linux-5.4.209-116.367.amzn2.x86_64-x86_64-with-glibc2.2.5 2022-10-05 14:56:41
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app:         airflow.executors.celery_executor:0x7f01972f9ac0
- ** ---------- .> transport:   redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1
- ** ---------- .> results:     postgresql://airflow:**@pmy-psql-db/airflow
- *** --- * --- .> concurrency: 16 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
 -------------- [queues]
                .> default          exchange=default(direct) key=default

[tasks]
  . airflow.executors.celery_executor.execute_command

[2022-10-05 14:58:54,704: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 2.00 seconds... (1/100)

[2022-10-05 15:01:07,824: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 4.00 seconds... (2/100)

[2022-10-05 15:03:22,992: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 6.00 seconds... (3/100)

[2022-10-05 15:05:40,208: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 8.00 seconds... (4/100)

[2022-10-05 15:07:57,424: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 10.00 seconds... (5/100)

[2022-10-05 15:10:16,688: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 12.00 seconds... (6/100)

[2022-10-05 15:12:38,000: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 14.00 seconds... (7/100)

[2022-10-05 15:15:01,360: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 16.00 seconds... (8/100)

[2022-10-05 15:17:26,768: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 18.00 seconds... (9/100)

[2022-10-05 15:19:54,224: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 20.00 seconds... (10/100)

[2022-10-05 15:22:23,728: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 22.00 seconds... (11/100)

[2022-10-05 15:24:55,280: ERROR/MainProcess] consumer: Cannot connect to redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1: Error 110 connecting to airflow-redis-master.default.svc.cluster.local:6379. Connection timed out..
Trying again in 24.00 seconds... (12/100)

Logs from connecting to the Redis master pod, and connecting with redis-cli directly. It works:
$ kubectl exec -t -i airflow-redis-master-0 sh
$ redis-cli -u redis://:airflow@airflow-redis-master.default.svc.cluster.local:6379/1 PING
PONG

Logs from flower. It appears to have connected to Redis fine:
Defaulted container "airflow-flower" out of: airflow-flower, check-db (init), wait-for-db-migrations (init)
[2022-10-05 16:14:49,190] {command.py:152} INFO - Visit me at http://<IP_ADDRESS>:5555
[2022-10-05 16:14:49,213] {command.py:159} INFO - Broker: redis://:**@airflow-redis-master.default.svc.cluster.local:6379/1
[2022-10-05 16:14:49,215] {command.py:160} INFO - Registered tasks:
['airflow.executors.celery_executor.execute_command',
 'celery.accumulate',
 'celery.backend_cleanup',
 'celery.chain',
 'celery.chord',
 'celery.chord_unlock',
 'celery.chunks',
 'celery.group',
 'celery.map',
 'celery.starmap']

Logs from scheduler, the celery task is timing out:
[2022-10-05 16:09:49,173] {scheduler_job.py:589} INFO - Executor reports execution of calcuate_stream_analytics.get_recent_active_stream_ids run_id=scheduled__2022-10-05T15:54:42.621643+00:00 exited with status failed for try_number 1
[2022-10-05 16:09:49,179] {scheduler_job.py:632} INFO - TaskInstance Finished: dag_id=calcuate_stream_analytics, task_id=get_recent_active_stream_ids, run_id=scheduled__2022-10-05T15:54:42.621643+00:00, map_index=-1, run_start_date=None, run_end_date=None, run_duration=None, state=queued, executor_state=failed, try_number=1, max_tries=1, job_id=None, pool=default_pool, queue=default, priority_weight=2, operator=_PythonDecoratedOperator, queued_dttm=2022-10-05 16:09:43.061734+00:00, queued_by_job_id=5, pid=None
[2022-10-05 16:09:49,179] {scheduler_job.py:674} ERROR - Executor reports task instance <TaskInstance: calcuate_stream_analytics.get_recent_active_stream_ids scheduled__2022-10-05T15:54:42.621643+00:00 [queued]> finished (failed) although the task says its queued. (Info: None) Was the task killed externally?
/home/airflow/.local/lib/python3.8/site-packages/airflow/models/taskinstance.py:873 SAWarning: TypeDecorator ExecutorConfigType() will not produce a cache key because the ``cache_ok`` attribute is not set to True.  This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions.  Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf)
[2022-10-05 16:11:14,593] {scheduler_job.py:1369} INFO - Resetting orphaned tasks for active dag runs
[2022-10-05 16:14:50,137] {scheduler_job.py:347} INFO - 1 tasks up for execution:
        <TaskInstance: calcuate_stream_analytics.get_recent_active_stream_ids scheduled__2022-10-05T15:54:42.621643+00:00 [scheduled]>
[2022-10-05 16:14:50,137] {scheduler_job.py:412} INFO - DAG calcuate_stream_analytics has 0/16 running and queued tasks
[2022-10-05 16:14:50,137] {scheduler_job.py:498} INFO - Setting the following tasks to queued state:
        <TaskInstance: calcuate_stream_analytics.get_recent_active_stream_ids scheduled__2022-10-05T15:54:42.621643+00:00 [scheduled]>
[2022-10-05 16:14:50,139] {scheduler_job.py:537} INFO - Sending TaskInstanceKey(dag_id='calcuate_stream_analytics', task_id='get_recent_active_stream_ids', run_id='scheduled__2022-10-05T15:54:42.621643+00:00', try_number=2, map_index=-1) to executor with priority 2 and queue default
[2022-10-05 16:14:50,139] {base_executor.py:95} INFO - Adding to queue: ['airflow', 'tasks', 'run', 'calcuate_stream_analytics', 'get_recent_active_stream_ids', 'scheduled__2022-10-05T15:54:42.621643+00:00', '--local', '--subdir', 'DAGS_FOLDER/reactive/stream_analytics_dags/CalculateStreamAnalytics.py']
[2022-10-05 16:14:51,141] {timeout.py:68} ERROR - Process timed out, PID: 7
[2022-10-05 16:14:51,142] {celery_executor.py:285} INFO - [Try 1 of 3] Task Timeout Error for Task: (TaskInstanceKey(dag_id='calcuate_stream_analytics', task_id='get_recent_active_stream_ids', run_id='scheduled__2022-10-05T15:54:42.621643+00:00', try_number=2, map_index=-1)).
[2022-10-05 16:14:52,201] {timeout.py:68} ERROR - Process timed out, PID: 7
[2022-10-05 16:14:52,202] {celery_executor.py:285} INFO - [Try 2 of 3] Task Timeout Error for Task: (TaskInstanceKey(dag_id='calcuate_stream_analytics', task_id='get_recent_active_stream_ids', run_id='scheduled__2022-10-05T15:54:42.621643+00:00', try_number=2, map_index=-1)).
[2022-10-05 16:14:53,993] {timeout.py:68} ERROR - Process timed out, PID: 7
[2022-10-05 16:14:53,994] {celery_executor.py:285} INFO - [Try 3 of 3] Task Timeout Error for Task: (TaskInstanceKey(dag_id='calcuate_stream_analytics', task_id='get_recent_active_stream_ids', run_id='scheduled__2022-10-05T15:54:42.621643+00:00', try_number=2, map_index=-1)).
[2022-10-05 16:14:56,394] {timeout.py:68} ERROR - Process timed out, PID: 7
[2022-10-05 16:14:56,396] {celery_executor.py:296} ERROR - Error sending Celery task: Timeout, PID: 7
Celery Task ID: TaskInstanceKey(dag_id='calcuate_stream_analytics', task_id='get_recent_active_stream_ids', run_id='scheduled__2022-10-05T15:54:42.621643+00:00', try_number=2, map_index=-1)
Traceback (most recent call last):
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/utils/functional.py", line 30, in __call__
    return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/transport/virtual/base.py", line 925, in create_channel
    return self._avail_channels.pop()
IndexError: pop from empty list

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/airflow/.local/lib/python3.8/site-packages/airflow/executors/celery_executor.py", line 179, in send_task_to_executor
    result = task_to_run.apply_async(args=[command], queue=queue)
  File "/home/airflow/.local/lib/python3.8/site-packages/celery/app/task.py", line 575, in apply_async
    return app.send_task(
  File "/home/airflow/.local/lib/python3.8/site-packages/celery/app/base.py", line 788, in send_task
    amqp.send_task_message(P, name, message, **options)
  File "/home/airflow/.local/lib/python3.8/site-packages/celery/app/amqp.py", line 510, in send_task_message
    ret = producer.publish(
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/messaging.py", line 177, in publish
    return _publish(
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/connection.py", line 523, in _ensured
    return fun(*args, **kwargs)
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/messaging.py", line 186, in _publish
    channel = self.channel
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/messaging.py", line 209, in _get_channel
    channel = self._channel = channel()
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/utils/functional.py", line 32, in __call__
    value = self.__value__ = self.__contract__()
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/messaging.py", line 225, in <lambda>
    channel = ChannelPromise(lambda: connection.default_channel)
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/connection.py", line 895, in default_channel
    self._ensure_connection(**conn_opts)
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/connection.py", line 433, in _ensure_connection
    return retry_over_time(
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/utils/functional.py", line 312, in retry_over_time
    return fun(*args, **kwargs)
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/connection.py", line 877, in _connection_factory
    self._connection = self._establish_connection()
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/connection.py", line 812, in _establish_connection
    conn = self.transport.establish_connection()
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/transport/virtual/base.py", line 949, in establish_connection
    self._avail_channels.append(self.create_channel(self))
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/transport/virtual/base.py", line 927, in create_channel
    channel = self.Channel(connection)
  File "/home/airflow/.local/lib/python3.8/site-packages/kombu/transport/redis.py", line 737, in __init__
    self.client.ping()
  File "/home/airflow/.local/lib/python3.8/site-packages/redis/client.py", line 1378, in ping
    return self.execute_command('PING')
  File "/home/airflow/.local/lib/python3.8/site-packages/redis/client.py", line 898, in execute_command
    conn = self.connection or pool.get_connection(command_name, **options)
  File "/home/airflow/.local/lib/python3.8/site-packages/redis/connection.py", line 1192, in get_connection
    connection.connect()
  File "/home/airflow/.local/lib/python3.8/site-packages/redis/connection.py", line 559, in connect
    sock = self._connect()
  File "/home/airflow/.local/lib/python3.8/site-packages/redis/connection.py", line 603, in _connect
    sock.connect(socket_address)
  File "/home/airflow/.local/lib/python3.8/site-packages/airflow/utils/timeout.py", line 69, in handle_timeout
    raise AirflowTaskTimeout(self.error_message)
airflow.exceptions.AirflowTaskTimeout: Timeout, PID: 7

So it looks like redis is reachable, but the worker nodes are connecting incorrectly for some reason. Any idea what might be causing this?
Custom Helm Values
# Disable ingress so that the public cant reach our airflow instance
ingress:
  enabled: false

airflow:
  legacyCommands: false
  image:
    repository: my-account-id.dkr.ecr.us-east-1.amazonaws.com/airflow
    tag: 83ab4ed7
    pullPolicy: IfNotPresent
  executor: CeleryExecutor
  config:
    AIRFLOW__CORE__LOAD_EXAMPLES: "False"
    # Logging
    AIRFLOW__LOGGING__REMOTE_LOGGING: "True"
    AIRFLOW__LOGGING__REMOTE_BASE_LOG_FOLDER: "s3://${LOGGING_BUCKET_NAME}/logs"
    AIRFLOW__LOGGING__REMOTE_LOG_CONN_ID: "aws_default"
    # Email
    AIRFLOW__EMAIL__EMAIL_BACKEND: "airflow.providers.amazon.aws.utils.emailer.send_email"
    AIRFLOW__SMTP__SMTP_HOST: "<my-host-redacted>"
    AIRFLOW__SMTP__SMTP_MAIL_FROM: "<my-email-redacted>"
    AIRFLOW__SMTP__SMTP_PORT: "25"
    AIRFLOW__SMTP__SMTP_SSL: "False"
    AIRFLOW__SMTP__SMTP_STARTTLS: "False"
    # Domain used in airflow emails
    AIRFLOW__WEBSERVER__BASE_URL: "https://airflow-cluster1.example.com/"
  variablesUpdate: true
  variables:
    - key: "environment"
      value: "prod"
  extraEnv:
    - name: PUBLIC_FOT_API_URL
      valueFrom:
        configMapKeyRef:
          name: public-resource-urls
          key: PUBLIC_FOT_API_URL
    - name: STREAM_ANALYTICS_BUCKET
      valueFrom:
        configMapKeyRef:
          name: environment-config
          key: STREAM_ANALYTICS_BUCKET
    - name: SERVICE_ACCOUNT_TOKEN
      valueFrom:
        secretKeyRef:
          name: service-accounts-secrets
          key: AIRFLOW_SERVICE_ACCOUNT_TOKEN
  connections:
    - id: aws_default
      type: aws
      description: my AWS connection

      ## NOTE: don't provide `login` or `password`,
      ##       otherwise they will take precedence over the ones injected by IRSA
      extra: |
        {
          "region_name": "us-east-1"
        }
  fernetKey: "<my-fernetkey-redacted>="
  webserverSecretKey: <my-webserverkey-redacted>
  users:
  - username: <my-username-redacted>
    password: <my-password-redacted>
    role: Admin
    email: <my-email-redacted>
    firstName: <my-firstname-redacted>
    lastName: <my-lastname-redacted>

workers:
  enabled: true
  replicas: 1
  resources:
    limits:
      cpu: 2000m
      memory: 4G
    requests:
      cpu: 250m
      memory: 2G
  podDisruptionBudget:
    enabled: true
    maxUnavailable: "100%"
  autoscaling:
    enabled: true
    maxReplicas: 2
    metrics:
    - type: Resource
      resource:
        name: memory
        target:
          type: Utilization
          averageUtilization: 80

  ## configs for the celery worker Pods
  celery:
    ## if celery worker Pods are gracefully terminated
    ## - consider defining a `workers.podDisruptionBudget` to prevent there not being
    ##   enough available workers during graceful termination waiting periods
    ##
    ## graceful termination process:
    ##  1. prevent worker accepting new tasks
    ##  2. wait AT MOST `workers.celery.gracefullTerminationPeriod` for tasks to finish
    ##  3. send SIGTERM to worker
    ##  4. wait AT MOST `workers.terminationPeriod` for kill to finish
    ##  5. send SIGKILL to worker
    ##
    gracefullTermination: false
    gracefullTerminationPeriod: 600
  terminationPeriod: 60
  logCleanup:
    enabled: true
    resources:
      limits:
        cpu: 2000m
        memory: 2G
      requests:
        cpu: 10m
        memory: "32Mi"

triggerer:
  enabled: true
  replicas: 1
  resources:
    limits:
      cpu: 2000m
      memory: 4G
    requests:
      cpu: 256m
      memory: 2G

flower:
  enabled: true
  replicas: 1
  resources:
    limits:
      cpu: 2000m
      memory: 2G
    requests:
      cpu: 10m
      memory: "64Mi"

web:
  resources:
    limits:
      cpu: 2000m
      memory: 2G
    requests:
      cpu: 200m
      memory: 1G

scheduler:
  resources:
    limits:
      cpu: 2000m
      memory: 2G
    requests:
      cpu: 1000m
      memory: .5G
  logCleanup:
    enabled: true
    retentionMinutes: 21600
    resources:
      requests:
        cpu: "10m"
        memory: "32Mi"
  livenessProbe:
    enabled: true
    taskCreationCheck:
      enabled: false
      thresholdSeconds: 1800
      schedulerAgeBeforeCheck: 1800

pgbouncer:
  enabled: false
  resources: {}

## DATABASE | Embedded Postgres
postgresql:
  enabled: false

externalDatabase:
  type: postgres
  host: ${DATABASE_HOST}
  port: ${DATABASE_PORT}
  database: airflow
  userSecret: ${SECRET_NAME}
  userSecretKey: "db_username"
  passwordSecret: ${SECRET_NAME}
  passwordSecretKey: "db_password"

## DATABASE | Embedded Redis
redis:
  enabled: true
  ## configs for redis cluster mode
  cluster:
    enabled: false
    slaveCount: 1

  ## configs for the redis master StatefulSet
  master:
    ## resource requests/limits for the redis master Pods
    ## [SPEC] https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#resourcerequirements-v1-core
    resources:
      requests:
        cpu: "10m"
        memory: "32Mi"

    ## configs for the PVC of the redis master Pods
    persistence:
      enabled: false
      storageClass: ""
      size: 8Gi

  ## configs for the redis slave StatefulSet
  slave:
    ## resource requests/limits for the slave Pods
    ## [SPEC] https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#resourcerequirements-v1-core
    resources:
      requests:
        cpu: "10m"
        memory: "32Mi"

    ## configs for the PVC of the redis slave Pods
    persistence:
      enabled: false
      storageClass: ""
      size: 8Gi

externalRedis:
  ## the host of the external redis
  ## [FAQ] https://github.com/airflow-helm/charts/blob/main/charts/airflow/docs/faq/database/external-redis.md
  host: localhost

Looks like this might be related to #573

@agconti as I mentioned in https://github.com/airflow-helm/charts/issues/573#issuecomment-1269271170, it's almost certainly an issue with an incorrect version of the kombu or celery pip packages.
Your custom container image might not have the right version because when you run pip install these days, pip tries to be smart and might upgrade/downgrade the version of an already installed package to prevent version conflicts.
So take a look at your custom image, and see if your pip installs are changing the version of kombu or celery.
Also, does your environment work with the default apache/airflow:2.2.5-python3.9 image?

@thesuperzapper thanks for your help! 💖
I agree, I think its definitely something wrong with kombu or celery though I can't imagine what I did in my setup to cause it.
Here's a bit more context:

My environment doesn't work with the apache/airflow:2.2.5-python3.9 image, the same issue happens. This is also the case with: apache/airflow:2.3.3-python3.9.
I can't see how pip could be changing my kombu or celery versions since I'm just installing airflow and a few unrelated packages to either of those. Here's my Dockerfile and requirements.txt so you can see what I mean.

FROM apache/airflow:2.3.3-python3.9

# Allows docker to cache installed dependencies between builds
COPY ./requirements.txt requirements.txt
RUN pip install -r requirements.txt

COPY . /opt/airflow

requests==2.28.1
pandas==1.5.0
pyarrow==9.0.0
apache-airflow[amazon]==2.4.0

At any rate, I got around this problem this morning by switching to the KubernetesExecutor instead to avoid Celery altogether. It's not a solution or closure to this problem, but it works for our use case. I want to be respectful of your precious volunteer time and close this issue since it's no longer a problem for us. Hopefully, my debugging trail here can be helpful to anyone else running into a similar issue. Thanks for your help in trying to solve this!

@agconti actually I think your above Dockerfile has a very clear issue, you should not be changing the version of airflow by installing apache-airflow[amazon]==2.4.0 into the 2.3.3-python3.9 container image, this will inevitably cause problems.
What's great is that you don't need to install the amazon or any other "extra" pip packages, because they are all installed in the official apache/airflow images by default, so you can just remove that requirement, and everything should work!

@thesuperzapper thanks for your help! I didn't realize that the amazon package was already installed. I'll make the update. 💖
Thanks for your recommendation on CeleeryExecutor as well!


Fix build break with WDK 10.0.15063.0

stampinf.exe in the latest Win10 WDK appears to have a bug and writes
out an empty DriverVer= directive when passed a command line like below:
stampinf -f  -a  -v
Adding -d seems to work around it:
stampinf -f  -a  -v  -d *
Signed-off-by: Ladi Prosek<EMAIL_ADDRESS>
Reported by @jackli577 in https://github.com/virtio-win/kvm-guest-drivers-windows/issues/159

hi， i want to feedback to kvm pv  drvier， how to do can feedback  as a member。
------------------ 原始邮件 ------------------
发件人: "Ladi<EMAIL_ADDRESS>发送时间: 2017年8月29日(星期二) 晚上6:04
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [virtio-win/kvm-guest-drivers-windows] Fix build break with WDK10.0.15063.0 (#160)
Merged #160.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Just open a new issue and post your feedback, opening issues is open to everyone.
Thanks.

On Sep 21, 2017, at 15:23, jackli577<EMAIL_ADDRESS>wrote:
hi， i want to feedback to kvm pv drvier， how to do can feedback as a member。
------------------ 原始邮件 ------------------
发件人: "Ladi<EMAIL_ADDRESS>发送时间: 2017年8月29日(星期二) 晚上6:04
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [virtio-win/kvm-guest-drivers-windows] Fix build break with WDK10.0.15063.0 (#160)
Merged #160.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

ok, thanks.  i  email to u.

hi:
we have talked before.
recently,  i met a bsod,  when nPathbundles is 1,  the function
bool ParaNdis_DPCWorkBody(PARANDIS_ADAPTER *pContext, ULONG ulMaxPacketsToIndicate)
if (pContext->nPathBundles == 1)
{
pathBundle = pContext->pPathBundles;
}
else
{
ULONG procIndex = ParaNdis_GetCurrentCPUIndex();
if (procIndex < pContext->nPathBundles)
{
pathBundle = pContext->pPathBundles + procIndex;
}
}
if (pContext->nPathBundles == 1)  will result all cpu to process  back end list (m_virtqueue ), this is design.
i thought, msi 0/1 to cpu 0 ,  cpu 0  queue dpc to cpu 0,   on cpu 0 dpc,  rss insert to all cpu queue,  then queue dpc to other cpu,
other cpu only to indicate packet.
or the code design to all cpu to process m_virtqueue.
i try to make bsod,  no happyed again,  so want to communicate u first to check the design.
later, if this ok,  i want to feedback to. thanks
------------------ 原始邮件 ------------------
发件人: "Yan<EMAIL_ADDRESS>发送时间: 2017年8月29日(星期二) 下午4:48
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [virtio-win/kvm-guest-drivers-windows] Fix build break with WDK10.0.15063.0 (#160)
@YanVugenfirer approved this pull request.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Alpine 3.10: Upgrade to Alpine Linux 3.10.8

https://alpinelinux.org/posts/Alpine-3.10.7-3.11.9-3.12.5-released.html

https://alpinelinux.org/posts/Alpine-3.10.8-3.11.10-3.12.6-released.html


Improve performance of segmentation

This PR improves the speed of segmentation by pre-computing more values, using a different data structure for storing unigram and bigram data, and switching to a different hash function. In total, we achieve a 5-6x speed-up.
Here is what's happening:

The first commit just adds a second benchmark with a longer example. This is the performance we're starting with (on my machine):

test long  ... bench:     104,057 ns/iter (+/- 11,640)
test short ... bench:       4,902 ns/iter (+/- 439)

Then, in Pre-compute unigram and bigram scores we exploit the fact that log(a * b) == log(a) + log(b) and log(a / b) == log(a) - log(b) and apply this to the score() method. Once we've done that we see that we can pre-compute pretty much everything there by not storing the unigram and bigram counts in Segmenter but instead already the logarithms of the relative frequencies.
Result:

test long  ... bench:      86,257 ns/iter (+/- 8,231)
test short ... bench:       4,146 ns/iter (+/- 285)

Use nested HashMap for storing both unigram and bigram scores is based on the observation that when we look up unigrams and bigrams in score() we have to calculate the hash value of word twice, and in cases where we do not have any unigram or bigram data for that particular word pair (the most common case) we actually unnecessarily compute hash values of 3 words (instead of just 1). By changing the data structure to a HashMap<String, (f64, HashMap<String, f64>> that maps a word to its unigram score & a nested HashMap in which the bigram score can be looked up using the previous word, we can reduce the amount of hashing needed quite a bit.
This will make construction of Segmenter more expensive, but since the intended usage pattern of this crate is to construct the Segmenter once and reuse it, this should be a worthwhile trade-off.
Result:

test long  ... bench:      19,651 ns/iter (+/- 2,097)
test short ... bench:       1,480 ns/iter (+/- 229)

Finally, we Switch to rustc_hash instead of ahash as that performs better on small inputs, and, since we changed our data structure above, is now faster than ahash. I also tried fnv but it was slower than rustc_hash (but faster than ahash).
Final result:

test long  ... bench:      16,843 ns/iter (+/- 1,262)
test short ... bench:       1,081 ns/iter (+/- 223)

Note that 3. above is a breaking change, so will require a version-bump in the crate.

Published this on crates.io and PyPI!


Adding basic ESP32 support

Also works nor on my Wemos LOLIN32 Board with an OLED

Thanks for your work!
I'm currently working on a seperate ESP32 version. In fact, it's already working and it has some nice extra features. The repository private at the moment and I'm just waiting for @lspoplove to release a new board which will be perfect for the new version.
So I don't want to merge it really, but I will keep your pull request open for others interested people until I release my PacketMonitor32!
Hope that's ok with you. 😃


Add disk size and IO to accounting and billing

Author Name: Carlos Martín (Carlos Martín)
Original Redmine Issue: 3410, https://dev.opennebula.org/issues/3410
Original Date: 2014-12-05

Requested during the OpenNebulaConf.

Original Redmine Comment
Author Name: Fabian Zimmermann (Fabian Zimmermann)
Original Date: 2015-08-11T11:38:53Z

Carlos Martín wrote:

Requested during the OpenNebulaConf.

+1 :D

Original Redmine Comment
Author Name: Ruben S. Montero (@rsmontero)
Original Date: 2015-08-12T14:49:22Z

Disk size is included in accounting and showback for 4.14; IO is not yet implemented


Update non-windows.md

Made changes to the document to add Plan 1 and 2 as Plan 1 supports macOS and android https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/defender-endpoint-plan-1?view=o365-worldwide#cross-platform-support

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/7609

@mjcaparas Please merge this PR. Thanks

@mjcaparas Gentle reminder. Thanks


Error: NDArray is disposed.

Recently I have built a NN with deeplearn.js. It works without problems in development mode on my machine. But after building the project and deploying it to production, I get Error: NDArray is disposed. Sometimes the error shows only up after a while and sometimes early in the beginning.
GitHub: https://github.com/javascript-machine-learning/color-accessibility-neural-network-deeplearnjs
Live: http://color-accessibility-neural-network-deeplearnjs.bri.im/

How can development and production be any different? The cost doesn't update in production. Is it on my side because of the build step? Or is the error somewhere in my view layer because of requestAnimationFrame? Any hint to solve it would be awesome.

I'm having the same problem. I'm starting up with the demo "complementary color prediction" and the error "NDArray is disposed" appeared in my console.
My build command is "browserify -d .\complementary-color-prediction.ts -p [tsify] -o ./bundle.js" and my node version is v8.9.0, my deeplearn version is 0.3.14.

It is strange that development mode works, but production doesn't. That's something we should definitely investigate.
In addition, since 0.3.14, we have global tracking of NDArrays, which is a backwards incompatible change. This change allows us to catch all memory leaks. Apps that used to have memory leaks will now face the problem of NDArray being disposed.
Two options:

Quick solution to unblock you: downgrade to 0.3.13. Our demos are still using deeplearn 0.3.13 as a peerDependency. We are actively working on migrating our demos to 0.3.14. Once we migrate, you can fork our demos.
Longer-term solution: try to fix usages of math.scope. As soon as math.scope(() => {..}) ends, all NDArrays inside of it will be disposed. For example, in the repo you shared, as soon as the scope in prepareTrainingSet ends (here), all your training data is disposed (inputArray and targetArray). Since you go over your training data many times over, remove the math.scope in prepareTrainingSet(). There might be other problems like that too.

Hope this helps, and apologies for the breakage!

There's also a problem with the way we do shuffled CPU providers:
https://github.com/PAIR-code/deeplearnjs/blob/master/src/data/input_provider.ts#L69
The constructor takes an NDArray[][] that is assumed to be CPU-resident. Now we upload directly to the GPU so the initial values get disposed in the outer scope. I'll prepare a fix.

Apologies about the confusion, but ignore my last comment. Daniel's comment holds - you just need to remove math.scope from the method where you create the data providers.

Thanks for your quick response!
I followed the (2) advice and removed the math.scope when preparing the trainings set. It works still on localhost, but in production there is another error showing up then:

I was running on 0.3.11, so I tried to upgrade to 0.3.13:
It works. With or without removing math.scope from the training set preparation. But I guess that's not intended, because as you said, these NDArrays should be disposed. So I upgraded to 0.3.14:

Again the error. But at least it happens in development and production now 👍
For now, it works with 0.3.13 on development and production (even though ).
(1) Should I open another Issue for the error?
(2) I noticed that the performance of my NN is performing worse in 0.3.13 compared to 0.3.11. I don't have any performance measures, but it seems that it get more likely stuck in local minima (cost doesn't reduce) at an early stage.

In 0.3.14, exiting math.scope after Session.train has been called seems to cause disposal of the internal variables of Operations such as ReduceSum.ones and Square.two.
Is this the expected behavior? For my use case, I would like to keep the graph around for interleaved calls to Session.train and Session.eval. I think wrapping them into the same math.scope would require manual disposal of the training data I'm generating. What is the correct way to deal with the graph in this case?
Here's a code sample that demonstrates the issue:
class Demonstrator {
  constructor() {
    this.math = new NDArrayMathCPU();
    this.graph = new Graph();
    let g = this.graph;
    this.optimizer = new AdamOptimizer(0.0, 0.9, 0.999);

    this.inputTensor = g.placeholder('inputs', []);
    this.costTensor = g.reduceSum(this.inputTensor);

    this.session = new Session(g, this.math);
  }

  train() {
    this.math.scope((keep, track) => {
      const inputs = [];
      for (let i = 0; i < 1000; i++) {
        inputs.push(Scalar.new(i));
      }

      const shuffledInputProviderBuilder =
        new InCPUMemoryShuffledInputProviderBuilder([inputs]);
      const [inputsProvider] =
        shuffledInputProviderBuilder.getInputProviders();
      const mapping = [
        {tensor: this.inputTensor, data: inputsProvider},
      ];

      this.session.train(
        this.costTensor, mapping, inputs.length, this.optimizer,
        CostReduction.NONE);
    });
  }
}

const demo = new Demonstrator();
// On the second train call, ReduceSum internal constant 'one' will have been disposed
for (let i = 0; i < 2; i++) {
  demo.train();
}

Thanks for bringing this to our attention!
A quick fix will be to install 0.3.13 instead of 0.3.14.
In the meantime, we are working on a fix for session/optimizers/graph to work with the new global math introduced in 0.3.14

We just released 0.3.15. In general, you should remove any explicit NDArrayMathGPU constructions, rather just use "dl.ENV.math" which will choose the best backend.
If you have problems let us know!

@nsthorat is there any documentation around using dl.ENV.math in favor of NDArrayMathGPU? Not sure if everyone gets how to use it as replacement for NDArrayMathGPU.

Good q! We've deprecated NDArrayMathGPU constructor but there is nothing special about dl.ENV.math. I'm updating the old documentation in #461 to only use dl.ENV.math.
We introduced this global math as a transition to an upcoming simpler API where all operations are chained:
a = dl.array1d([5, 3, 1]);
console.log(await a.log().sum().data()); // log(5) + log(3) + log(1)

All these commands are going to be executed on the global dl.ENV.math, which users will never need to directly reference.
We might also provide a non-chained top level api, based on feedback when we release the chained api:
a = dl.array1d([5, 3, 1]);
console.log(await dl.sum(dl.log(a)).data());

Perfect. Thanks a lot!


Support user mentions

With https://github.com/ls1intum/Artemis/pull/7206, the web client supports parsing user mentions of the format [user]Full Name(login)[/user] within messages, posts, and replies.
The app needs to support this format as well to display messages/posts/replies containing user mentions correctly.
In the web client, by clicking on a user mention, the user automatically navigates to a new or existing one-to-one chat with the mentioned user. This behavior would also be nice to have in the app.
Additionally, with https://github.com/ls1intum/Artemis/pull/7286, there is a new button in the message/post/reply editor, which inserts an @ sign and opens a small pop-up window, listing 10 possible course members to mention. The list updates, if the user types a name after the @ sign. For this, the endpoint GET /api/courses/:courseId/members/search?loginOrName=name is called.
The pop-up can also be opened by just typing an @ sign.
A similar feature for the app would be necessary for users to type in user mentions.

Closed by https://github.com/ls1intum/artemis-android/pull/14 and https://github.com/ls1intum/artemis-android/pull/22


admissible colors mention in readme

To obviate https://github.com/hamdanal/rich-argparse/issues/117

I don't care the least about the phrasing. The point is, how would you suggest people understand which colors can be used if they haven't used Rich before? I only suggest that you make that journey more explicit in any way that you opt.


Implement SSO via browser authentication

Related to #199, can a browser based login be implemented similarly to AWS CLI SSO where upon authorization the cookie can be saved for future use?

In theory, this should be possible for a user to setup. I do not have an environment to help sanity check, but from some online digging, it should be possible to do the following:

Install AWS command line interface. This should allow a user to authenticate with an AWS SSO using the aws configure sso command.
Install Boto3. This is an AWS Python library package to help interact with AWS-related capabilities.
David Muller provides a AWS Signature Version 4 Signing Process with Python Requests package which, from README inspection only, should provide a way to easily use AWS SSO credentials and use in a Python Requests module (the module this Confluence extension uses for REST requests).

Once all three things are installed and a user have performed a sign-in using the AWS CLI, the following (inside conf.py) should be able to be used to configure authentication with this extension:
from aws_requests_auth.boto_utils import BotoAWSRequestsAuth

confluence_server_auth = BotoAWSRequestsAuth(
    aws_host='search-service-foobar.us-east-1.es.amazonaws.com',
    aws_region='us-east-1',
    aws_service='es')

Adjust the AWS options as needed for your environment.

Side note]
I want to clarify that this extension tries to be flexible in supporting various ways a user needs to manage various authentication types. If we want to improve this extension to better integrate with other libraries to improve various SSO implementation, the changes are welcome. However, we do not plan to add dependencies on this extension for optional features or features that cannot be gracefully tested. For example, AWS SSO will most likely utilize the boto3 library to manage authentication. This Sphinx extension will not add a boto3 dependency by default -- since not all users require AWS support, and development does not have a graceful way to test/validation these features. That being said, we are always willing to introduce configuration options and hooks, if needed, if it can help users interact with common or custom SSO solutions.

I brought up AWS CLI as a reference implementation, where we could grab the cookie from the browser post login rather than hardcoding it, an approach that I thought would work irrespective of the SSO provider (in fact I authenticate via O365).  I'll see if, with my limited Python experience, I can hack something.
Thanks for this great extension.

From: James Knight @.>
Sent: Saturday, October 22, 2022 8:29:25 AM
To: sphinx-contrib/confluencebuilder @.>
Cc: Viorel Tabara @.>; Author @.>
Subject: Re: [sphinx-contrib/confluencebuilder] Implement SSO via browser authentication (Issue #728)
CAUTION: External email. Do not click links or open attachments unless you know the content is safe. If you suspect this is a phishing or fraudulent email, report it using the "Phish Alert" button.
In theory, this should be possible for a user to setup. I do not have an environment to help sanity check, but from some online digging, it should be possible to do the following:

Install AWS command line interfacehttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Faws.amazon.com%2Fcli%2F&data=05|01|viorel%40athabascau.ca|9a856fa61d48482c411e08dab44233c9|a893bdd2f4604252aa344d057436a09d|0|0|638020493702715733|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=veg1RO61yb%2B5kl%2FCnuA3ofgsl4JJnnBAqSLlorKhoL4%3D&reserved=0. This should allow a user to authenticate with an AWS SSO using the aws configure sso command.
Install Boto3https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fboto3.amazonaws.com%2Fv1%2Fdocumentation%2Fapi%2Flatest%2Fguide%2Fquickstart.html&data=05|01|viorel%40athabascau.ca|9a856fa61d48482c411e08dab44233c9|a893bdd2f4604252aa344d057436a09d|0|0|638020493702715733|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=gRRywU%2BoZXeSmdg2vohUMfOSniGELLppmEDto%2BzYmG4%3D&reserved=0. This is an AWS Python library package to help interact with AWS-related capabilities.
David Muller provides a AWS Signature Version 4 Signing Process with Python Requestshttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FDavidMuller%2Faws-requests-auth&data=05|01|viorel%40athabascau.ca|9a856fa61d48482c411e08dab44233c9|a893bdd2f4604252aa344d057436a09d|0|0|638020493702715733|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=4nDrrfxoXx5%2FYPtQGiYpIqvL5Fya8lQM4Y4t5Uhe8Zs%3D&reserved=0 package which, from README inspection only, should provide a way to easily use AWS SSO credentials and use in a Python Requests module (the module this Confluence extension uses for REST requests).

Once all three things are installed and a user have performed a sign-in using the AWS CLI, the following (inside conf.py) should be able to be used to configure authentication with this extension:
from aws_requests_auth.boto_utils import BotoAWSRequestsAuth
confluence_server_auth = BotoAWSRequestsAuth(
aws_host='search-service-foobar.us-east-1.es.amazonaws.com',
aws_region='us-east-1',
aws_service='es')
Adjust the AWS options as needed for your environment.

Side note]
I want to clarify that this extension tries to be flexible in supporting various ways a user needs to manage various authentication types. If we want to improve this extension to better integrate with other libraries to improve various SSO implementation, the changes are welcome. However, we do not plan to add dependencies on this extension for optional features or features that cannot be gracefully tested. For example, AWS SSO will most likely utilize the boto3 library to manage authentication. This Sphinx extension will not add a boto3 dependency by default -- since not all users require AWS support, and development does not have a graceful way to test/validation these features. That being said, we are always willing to introduce configuration options and hooks, if needed, if it can help users interact with common or custom SSO solutions.
—
Reply to this email directly, view it on GitHubhttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsphinx-contrib%2Fconfluencebuilder%2Fissues%2F728%23issuecomment-1287828086&data=05|01|viorel%40athabascau.ca|9a856fa61d48482c411e08dab44233c9|a893bdd2f4604252aa344d057436a09d|0|0|638020493702715733|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=Sy1j1hn1%2Bk2cF69yS42igQChGSL4sTrBtPOvNJw6l%2B0%3D&reserved=0, or unsubscribehttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAUTVJ7CPYNHK7H2AZ7EW2JDWEQB5LANCNFSM6AAAAAARHI7OZY&data=05|01|viorel%40athabascau.ca|9a856fa61d48482c411e08dab44233c9|a893bdd2f4604252aa344d057436a09d|0|0|638020493702715733|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=LbZQcunTQNVSJSZdPAlK9D28arZ%2BFPEkmH3WnPm7EXk%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>
--
This communication is intended for the use of the recipient to whom it is addressed, and may contain confidential, personal, and or privileged information. Please contact us immediately if you are not the intended recipient of this communication, and do not copy, distribute, or take action relying on it. Any communications received in error, or subsequent reply, should be deleted or destroyed.

I will be going ahead and closing this issue.
While this extension tries to improve the user experience when interacting with a Confluence instance, to support various SSOs is a complex world. How an individual Confluence instance is configured with an SSO layer in enterprise environments varies, depending on what SSO provider is used (not including custom SSO implementations). Due to the vast number of configurations possible, there will most likely be no specific SSO-related integration added into this repository.
This extension currently provide various ways to users to tailor authentication capabilities with even direct access to Request sessions, injecting header fields, etc.; and users with unique SSO environments should be able to tailor their configurations to support browser-based authentication (assuming the third-party SSO solution provides support to do so).
Users which may be attempting to publish to a Confluence instance which is enforced with a custom SSO are recommended to discuss requirements for authentication with the DT/IT contacts. Users are welcome to make suggestions towards this extension's publication configuration if there is a possible limitation when interacting with a certain Confluence environment.


Slower than cpu?

Dear Foresti,
I tested your code and found that it is atleast 10 times slower than CPU version I am using. I admit I don't understand "amount to load" and the correct (meaning fast) method to input my own conv filters. What I did I just cuda memcpy my 6 filters to your convolutional fn and cal the result.  The result seems correct but it is slower than CPU, 10 times.  Please advice.  I can give my code for your testing. I am testing it as mex file.

Sure, I'd be happy to take a look. Post your code here or send it to me?
<EMAIL_ADDRESS>

Hi forresti
Last time we talk, I said may be Caffe could be a good convolution implementation. I found that Caffe rounding precision is not accurate. It has an error around 7th decimal place. I don't know if your GPU convolution has better rounding precision accuracy?


Live Caption Save/Record Text

Description of the new feature / enhancement
Live Caption Save/Record Text With History and copy paste text
Scenario when this would be used?
Live Caption Save/Record Text With History and copy paste text so easier to refer back and search for the related information.
Full screen option also better for dual monitors guy.
Supporting information
Live Caption Save/Record Text With History and copy paste text

Best spot for this is feedback hub as this feature is built in there.
https://support.microsoft.com/en-us/windows/use-live-captions-to-better-understand-audio-b52da59c-14b8-4031-aeeb-f6a47e6055df
/feedbackhub


How to use useRef react hook

Hello,
I'm trying to have my input reference in order to focus it programmatically.
Here's my code
const inputRef = useRef(null);

return(
    <StyledMaskedInput ref={inputRef}  />
)

But the inputRef stay at null.
How can I access my ref with my functionnal component ?
Thanks

Did you find a solution? I too am facing this issue. Can you please share the solution?

@vivek-reddy-7 i'm using styled-components above the MaskInput.
The ref hook works and I can access the input with this code.
inputRef.current.inputElement.focus();

Be careful not to set null as default value.
const inputRef = useRef();

Thanks for the quick reply. I'm using tabler-react and I did what you said earlier. The inputRef is now undefined, previously it was null. Still unable to get a ref to the DOM element. Please share if you know a solution.

I made a wrapping component for this:
const MaskedInputWithRef = React.forwardRef((topLevelProps: MaskedInputProps, ref: Ref<HTMLInputElement>) => {
  return (
    <MaskedInput
      render={(textMaskRef, props) => (
        <input
          {...props}
          ref={(node) => {
            if (node) {
              textMaskRef(node);
              if (ref) {
                (ref as MutableRefObject<HTMLInputElement>).current = node;
              }
            }
          }}
        />
      )}
      {...topLevelProps}
    />
  );
});


ffmpeg requirement ?

I think ffmpeg is missing from the requirements section of README.rst
But I dont know what is the default backend for playing audio on Linux : openal or ffmpeg ?

ffmpeg is not a requirement to use or run pyglet. (or play audio, as you can play uncompressed wave files). If you want more supported formats you will have to use ffmpeg.
Please read the docs regarding audio compatibility, which formats are supported, platform specifics and other information.
https://pyglet.readthedocs.io/en/stable/programming_guide/media.html

The default "backend" for playing is either OpenAL, PulseAudio, or DirectAudio. pyglet interfaces with these directly.
FFmpeg is only used for decoding audio/video, not playback. As caffeinepills said, it's only optional, and you can playback wav files without it.

thanks for clarifying


Making fix format more pedantic to be merciful to maintainers

Adding .md and .rst to whitespace checking in [check/fix]_format
Risk Level:
risk to envoy: none (docs and tools change only)
low risk of alienating any passionate developers on the other side of the double space wars :-P
Testing:
nope!
Docs Changes:
Lots of them!
Release Notes:
None for this patch, but release notes will now be protected from the dreaded double-space.
[Optional Fixes #Issue]
Fixes whitespace, according to most maintainers.
[Optional API Changes:]
Nope, but I'll make the same change over there, until we have shared scripts.
[Optional Deprecated:]
The concept of ".  "
Signed-off-by: Alyssa Wilk<EMAIL_ADDRESS>who is possibly overly punchy on very little sleep.

🤣


Add xaml support

I have also got a pull request to update the visual studio code  parse tree  to add support for XAML.  I guess before something like this can be merged  it would need to be merged  first.

see https://github.com/cursorless-dev/vscode-parse-tree/pull/59#issuecomment-1384231692


Bug (Admin Panel) - Webapp

The date filter in Application Logs of the admin panel of the webapp isn't working on safari. The calendar drop down only happens on Google Chrome. @ricardomiron Can you please confirm? If it's still valid.

@PelinSmines I don't really use Safari but as a low priority we should check compatibility with all browsers. The most important thing would be to test that the user-facing UI works correctly in multiple browsers, admin can wait.


[AutoDiff upstream] Organize AutoDiff tests.

Move all tests into appropriate subdirectories.
test/AutoDiff subdirectory naming matches test/ subdirectory name.

Consider what to do about existing test/AutoDiff tests on tensorflow branch.
There may be duplication between upstreamed master tests and tensorflow branch tests.
One option is to move all tensorflow branch tests to a test/AutoDiff/tensorflow subdirectory, then remove them over time as they're upstreamed.

@swift-ci Please test and merge


Use the subject to transmit the method name

It removes to need to wrap the request in a RPCRequest, which avoids a double
encoding.
It also allow to use NATS permissions at the method level and not only
the service, and open the path for custom subjects (see #7).
The load-balancing capability is not altered.

LGTM, after:

the gofmt fix above
include a commit to add your name to the AUTHORS file (also your email if you want to)

Sorry for the late reply.

arf, AUTHORS is not md formatted... will update it again.

Nice refactoring. This is a great architecture.


New-AzureADDirectorySetting -DirectorySetting $setting doesn't work

[Enter feedback here]
PS C:\Windows\system32> New-AzureADDirectorySetting -DirectorySetting $setting
New-AzureADDirectorySetting : Error occurred while executing NewDirectorySetting
Code: Request_BadRequest
Message: Another object with the same value for property templateId already exists.
InnerError:
RequestId: e7dacfc1-2938-4240-b1ed-1f91df7ab21d
DateTimeStamp: Sun, 10 Oct 2021 17:32:51 GMT
HttpStatusCode: BadRequest
HttpStatusDescription: Bad Request
HttpResponseStatus: Completed
At line:1 char:1

New-AzureADDirectorySetting -DirectorySetting $setting

  + CategoryInfo          : NotSpecified: (:) [New-AzureADDirectorySetting], ApiException
  + FullyQualifiedErrorId : Microsoft.Open.MSGraphBeta.Client.ApiException,Microsoft.Open.MSGraphBeta.PowerShell.New
 DirectorySetting

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ef84a3e0-879e-4312-a89d-7a3bb0cd9a51
Version Independent ID: 43851f8a-b71f-0a0a-8b1f-629e3528972f
Content: Assign sensitivity labels to groups - Azure AD
Content Source: articles/active-directory/enterprise-users/groups-assign-sensitivity-labels.md
Service: active-directory
Sub-service: enterprise-users
GitHub Login: @curtand
Microsoft Alias: curtand

Hi @shanmugara - Thank you for sharing your feedback. We are actively working on it. We will share updates soon.

@shanmugara That means the AzureADDirectorySetting already exists with the same template ID. Run Get-AzureADDirectorySetting cmdlet, if DisplayName: Group.Unified and TemplateID: 62375ab9-6b52-47ed-826b-58e47e0e304b already exists, you need to either delete the setting or edit the existing one by using below cmdlets:

Run Get-AzureADDirectorySetting and copy the ID of the above mentioned setting.
Run Set-AzureADDirectorySetting -DirectorySetting $setting -Id <ID copied in step 1.>

Good Afternoon, I am attempting to limit Group Creation. and I receive the error below regarding a Bad_Request
New-AzureADDirectorySetting : Error occurred while executing NewDirectorySetting
Code: Request_BadRequestMessage: A resource without a type name was found, but no expected type was specified. To allow entries without type information, the expected type must also be specified when the model is specified.
InnerError:
DateTimeStamp: Thu, 29 Dec 2022 19:03:52 GMT
HttpStatusCode: BadRequest
HttpStatusDescription: Bad Request
HttpResponseStatus: Completed
At C:\GroupCreators.ps1:11 char:5

New-AzureADDirectorySetting -DirectorySetting $settingsCopy

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (:) [New-AzureADDirectorySetting], ApiException
FullyQualifiedErrorId : Microsoft.Open.MSGraphBeta.Client.ApiException,Microsoft.Open.MSGraphBeta.PowerShell.NewDirectorySetting

Get-AzureADDirectorySetting : Cannot bind argument to parameter 'Id' because it is null.
At C:\GroupCreators.ps1:15 char:49

$settingsCopy = Get-AzureADDirectorySetting -Id $settingsObjectID

                                            ~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidData: (:) [Get-AzureADDirectorySetting], ParameterBindingValidationException
FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.Open.MSGraphBeta.PowerShell.GetDirectorySetting

Set-AzureADDirectorySetting : Cannot bind argument to parameter 'Id' because it is null.
At C:\GroupCreators.ps1:24 char:33

Set-AzureADDirectorySetting -Id $settingsObjectID -DirectorySetting $ ...

                            ~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidData: (:) [Set-AzureADDirectorySetting], ParameterBindingValidationException
FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.Open.MSGraphBeta.PowerShell.SetDirectorySetting

Get-AzureADDirectorySetting : Cannot bind argument to parameter 'Id' because it is null.
At C:\GroupCreators.ps1:26 char:34

(Get-AzureADDirectorySetting -Id $settingsObjectID).Values

                             ~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidData: (:) [Get-AzureADDirectorySetting], ParameterBindingValidationException
FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.Open.MSGraphBeta.PowerShell.GetDirectorySetti


Train Non-Square Size image

Thanks for your great work!
I want to train my own dataset, however the image are not the same size, curent method will convert them all to 512x512(seems using crop), will this affect the training performance, Is there a proper way to train these images?

I haven't seen a config to do this yet, but it should be possible. You'd need to alter the data pre-processing for train and val datasets, but it should work.


datasette publish digitalocean plugin

Provide support for launching datasette on Digital Ocean.
Example: Deploy Docker containers into Digital Ocean.
Digital Ocean also has a preconfigured VM running Docker that can be launched from the command line via the Digital Ocean API: Docker One-Click Application.
Related:

Launching containers in Digital Ocean servers running docker: How To Provision and Manage Remote Docker Hosts with Docker Machine on Ubuntu 16.04
How To Use Doctl, the Official DigitalOcean Command-Line Client

I think you need to register a domain name you own separately in order to get a non-IP address address? https://www.digitalocean.com/docs/networking/dns/

Now that Digital Ocean has App Platform this is less necessary, especially since the documentation covers how to use App Platform here: https://docs.datasette.io/en/stable/deploying.html#deploying-using-buildpacks

Now that Digital Ocean has App Platform this is less necessary, especially since the documentation covers how to use App Platform here: https://docs.datasette.io/en/stable/deploying.html#deploying-using-buildpacks


Add Unit (UO) picker

analogously to the term search component, but limited to unit ontology entries in the database.

[x] Parse and add UO to database
[x] Picker component

Done by 92beee21964a6f358f6fb4e94ae2fc9d7322d134


Texture Projection

There seem to be two different approaches:
1. Spotlight Projection
Three.js spotlight can use texture maps. As of now they're always circle shaped, there's an open PR for rectangular projections.
Using light requires an otherwise dimly lit scene, overlapping multiple projections is tricky, and model textures/materials affect the light.
2. Projecting texture onto model
There's a library. The projection is projecting through the mesh to other parts of the mesh. Might be fixable.
For now (2) is preferred as it is usable as is.
See https://github.com/thometnanni/vantage/tree/texture-projection for comparison

[ ] check texture projection with orthographic camera


indexed parameters lookup for events

hi
is there a way to tell in the template if an event's parameter was indexed or not?
thanks you

Not directly, but you can do it by accessing the AST node of the event definition. Something like this should work:
{{#each ownEvents}}
{{#each astNode.parameters.parameters}}
{{#if indexed}}
indexed
{{/if}}
{{/each}}
{{/each}}

thank you very much @frangio
i was able to read it like this {{#with (lookup ../astNode.parameters.parameters @index)}}{{#if indexed}}:white_check_mark:{{/if}}{{/with}}
not sure if you want this issue closed or left to expose it later on

Let's leave it open, it would be nice to expose this somehow.


RingStream entries handled incorrectly due to a C undefined behaviour

The int64_t hval = (int64_t)0xcbf29ce484222325ULL; C declaration results in a C undefined behaviour on my platform, because 0xcbf29ce484222325ULL is greater than INT64_MAX on my platform.
This C undefined behaviour causes FVNhash64("NN_SSSSS_LL_CCC/MSEED") to erroneously return -9223372036854775740 (i.e. 0x8000000000000044) rather than<PHONE_NUMBER>9308572745 (i.e. 0xffaa028f1765f849) on my platform, which prevents ringserver from handling RingStream entries correctly on my platform.
This pull request fixes this C undefined behaviour, so can you please accept this pull request?
Thank you very much for your efforts!

Thanks for the PR @yensoon2.  I'll have not yet reviewed this but your changes look reasonable and appropriate.
Out of curiosity, which platform (compiler, OS,...) is giving you an error with the unfixed code?
Thanks for the contribution!

Good morning @chad-iris,
I can (often) reproduce this issue on CentOS 7.0 x86-64, and GCC with the “-Wall” and “-O2” (and probably other) compilation flags.  I believe that, without the “-O2” compilation flag, this issue becomes (mostly) unreproducible.
Thank you very much for writing ringserver!

Thanks to @yensoon2 , this fixed a bug I was seeing in an Arm based Linux build.

Applying this patch to the source tree at tag v2020.075 seems to cause alignment traps on my platform.
I don't see a reason why changing int64_t to uint64_t would produce this behavior.
I am running ringserver on a Yocto-based embedded system (Linux 4.19, armv7l, 32-bit).

I don't see a reason why changing int64_t to uint64_t would produce this behavior.

I also don’t see why changing int64_t to uint64_t would be the cause of any unaligned memory accesses.
If there are any unaligned memory accesses in ringserver, then you can imagine that these unaligned memory accesses must have been present since before this pull request.
Since we are talking about unaligned memory accesses, did you know that libslink v2.7.x (also) suffers from unaligned memory accesses?  Although ringserver does not link against libslink, you can imagine that, perhaps, some of libslink’s unaligned memory accesses might have been accidentally and unknowingly replicated in ringserver’s source code …

@yensoon2 I think I've disconnected this PR when I renamed the master branch to main.  If you still have a repository with this in it could you re-attached/create the PR?  I think I can see the changes in the first comment, if they are that simple I can apply them myself, but I don't want to miss any of your work being included.

For the record, this issue should be fixed in version 4.0.0.
A different implementation of the hash function was introduced that does not use signed values at all, avoiding numerical issues.


Question about resuming training

Hi,
when I want to resume training, do I have to use the checkpoints saved in the eval folders or the other checkpoints one level above?
Thanks!

using this or the other checkpoints one level above. These checkpoints  including all state_dict for resuming


Invoking 'help' in code

Hi guys,
is there a way to invoke help in code?
Let's say someone runs app com1 subcom2 and I am already in a method public void subcom2(string para1) then but a parameter is missing or does not fulfill certain requirements. How can I display the help from method subcom2 as if someone would have run app com1 subcom2 --help?
Thanks

in v3, you can do this.
public void subcom2(CommandContext ctx, string para1)
{
    ...
    var cmd = ctx.ParseResult.TargetCommand;
    var helpText = ctx.AppConfig.HelpProvider.GetHelpText(cmd);
    ctx.Console.Out.WriteLine(helpText);
    ...
}

I've wondered about other ways to make this available.  Were there any ways you looked for to do this?
Some of the approaches I've toyed with...

add ShowHelp property to CommandContext. Setting this to true would trigger the show help middleware. The downside is that a command method will have to reference CommandContext in the method.  Not the end of the world.
add ShowHelp() method to CommadContext. Calling this would immediately print the default help.  It would basically wrap the solution I gave above.
add an ex.ShowHelp() ext method that will add a key to ex.Data that the help middleware can check.  Any thrown exception can trigger the help.

Thanks, I was looking for exactly this, but yes, maybe a friendlier approach.
I think I would prefer either solution 2 or 3, maybe 3 even with a throw new ShowHelpException();.
For the 2nd solution I would have to hand the CommandContext down to sub-methods in order to call the Help from there (not sure if I would do that, but let's just assume I do), whereas for the throw new ShowHelpException() I could just throw it in the underlying methods and it would go all the way up to where it can be caught by the library.

I can see ShowHelpException() or ShowHelpException(messageToShowBeforeHelp) being convenient.  I've avoided it because it encourages the exceptions as control flow anti-pattern.   But perhaps that's too strong of an opinion for the framework to enforce.  It's certainly simple and sometimes a console app should just be simple.
I'd just like to make sure another simple option also exists at the same time so we're not pushing devs toward anti-patterns if that makes sense.
2 & 3 are easy enough.  I can add those as well as ShowHelpException.

I'm just feeling very dirty trying to implement the exception.  I keep imagining my devs using it and it just doesn't fit with any patterns because we avoid that anti-pattern.  I even mentioned the anti-pattern in the xml comments.
Can you give me more context in the types of underlying methods that would throw the exception?  What are these methods doing?  Do they contain validation logic?  Are you looking for a general rule of, when there is a validation error, show the error and then show help?
Another thing I can do is add the CommandContext to all exceptions that escape AppRunner and then you can get the context from the command and print help yourself.  You could use any number of exceptions this way.  Thoughts?
try
{
    appRunner.Run(args);
}
catch(ShowHelpException ex)
{
    ex.GetCommandContext()?.PrintHelp();
}

The problem I have is that sometimes parameters of a method cannot be used alone or only alone.
Let's say
configtool network --list has to be alone
but
configtool network --nic ens192 --ipaddr W.X.Y.Z has to be used together. --nic alone or --ipaddr alone don't make any sense. This has to be checked and if the user uses wrong combinations, then I would like to print the help (maybe with a leading custom text to point out what the problem is).
Or sometimes I have a command configtool network that without parameters starts a wizard, sometimes it does nothing (but still calls my method of course without giving me the option to print the help again to show the user how the command is supposed to be used).
So, in the method network I can make the checks (no need to perform them any deeper) so that a pure command to print the help is sufficient, actually. There is not really a need for the exception-based solutions.

context.ShowHelpOnExit = true available in v3.6.0
release notes


Consolidate landing page text

My suggestion:
"America's fourth largest transit agency has been struggling.
Are things getting better? Let's find out."

How about "America's oldest transit system"?

Fair point, Devin. I personally prefer emphasizing how big the system is (or should be). The MBTA isn't some old timey vintage choo choo. The MBTA should be speaking with authority in every room where people are talking about the future of US rail. "Fourth largest" feels more future-oriented to me.
I implemented Patrick's language and am putting this on him to review/accept counter-proposals.

Yea, "oldest" definitely has a nice ring to it, but I think the size aspect gives us more authority.

I see the points, but also 4th just sounds unimportant to me. Fourth where most Americans probably can't even list 4 transit agencies. I know 2 years ago I wouldn't have been able to

"First" instead of "oldest"

https://transitmatters.slack.com/archives/GSJ6F35DW/p1685895104476899


Cannot see graphical view on M3 Macbook

Hello, awesome code. I cant wait to get my hands dirty with this
I run this code on my M3 Mac:

import genesis as gs
gs.init(backend=gs.cpu)

scene = gs.Scene(show_viewer=True)
plane = scene.add_entity(gs.morphs.Plane())
franka = scene.add_entity(
    gs.morphs.MJCF(file='xml/franka_emika_panda/panda.xml'),
)

scene.build()

for i in range(1000):
    scene.step()

And then I see this output in the terminal

However there is no graphical view appearing, so I cannot see the effect of the simulation...
Perhaps its related to the warning I received at the code initialization

% python render_on_macos.py
objc[17890]: Class GLFWHelper is implemented in both /opt/anaconda3/envs/genesis/lib/python3.12/site-packages/taichi/_lib/core/taichi_python.cpython-312-darwin.so (0x143af8570) and /opt/anaconda3/envs/genesis/lib/python3.12/site-packages/pygel3d/libPyGEL.dylib (0x178f1d7c0). One of the two will be used. Which one is undefined.
objc[17890]: Class GLFWApplicationDelegate is implemented in both /opt/anaconda3/envs/genesis/lib/python3.12/site-packages/taichi/_lib/core/taichi_python.cpython-312-darwin.so (0x143af85c0) and /opt/anaconda3/envs/genesis/lib/python3.12/site-packages/pygel3d/libPyGEL.dylib (0x178f1d810). One of the two will be used. Which one is undefined.
objc[17890]: Class GLFWWindowDelegate is implemented in both /opt/anaconda3/envs/genesis/lib/python3.12/site-packages/taichi/_lib/core/taichi_python.cpython-312-darwin.so (0x143af85e8) and /opt/anaconda3/envs/genesis/lib/python3.12/site-packages/pygel3d/libPyGEL.dylib (0x178f1d838). One of the two will be used. Which one is undefined.
objc[17890]: Class GLFWContentView is implemented in both /opt/anaconda3/envs/genesis/lib/python3.12/site-packages/taichi/_lib/core/taichi_python.cpython-312-darwin.so (0x143af8638) and /opt/anaconda3/envs/genesis/lib/python3.12/site-packages/pygel3d/libPyGEL.dylib (0x178f1d888). One of the two will be used. Which one is undefined.
objc[17890]: Class GLFWWindow is implemented in both /opt/anaconda3/envs/genesis/lib/python3.12/site-packages/taichi/_lib/core/taichi_python.cpython-312-darwin.so (0x143af86b0) and /opt/anaconda3/envs/genesis/lib/python3.12/site-packages/pygel3d/libPyGEL.dylib (0x178f1d900).

Please help :)

I ran into the exact same issue on m1 macbook.
Please help +1

Same issue on M3 Mac with macOS 14.
objc[26828]: Class GLFWHelper is implemented in both /opt/miniconda3/envs/genesis/lib/python3.10/site-packages/taichi/_lib/core/taichi_python.cpython-310-darwin.so (0x159e00570) and /opt/miniconda3/envs/genesis/lib/python3.10/site-packages/pygel3d/libPyGEL.dylib (0x3159cd7c0). One of the two will be used. Which one is undefined.
objc[26828]: Class GLFWApplicationDelegate is implemented in both /opt/miniconda3/envs/genesis/lib/python3.10/site-packages/taichi/_lib/core/taichi_python.cpython-310-darwin.so (0x159e005c0) and /opt/miniconda3/envs/genesis/lib/python3.10/site-packages/pygel3d/libPyGEL.dylib (0x3159cd810). One of the two will be used. Which one is undefined.
objc[26828]: Class GLFWWindowDelegate is implemented in both /opt/miniconda3/envs/genesis/lib/python3.10/site-packages/taichi/_lib/core/taichi_python.cpython-310-darwin.so (0x159e005e8) and /opt/miniconda3/envs/genesis/lib/python3.10/site-packages/pygel3d/libPyGEL.dylib (0x3159cd838). One of the two will be used. Which one is undefined.
objc[26828]: Class GLFWContentView is implemented in both /opt/miniconda3/envs/genesis/lib/python3.10/site-packages/taichi/_lib/core/taichi_python.cpython-310-darwin.so (0x159e00638) and /opt/miniconda3/envs/genesis/lib/python3.10/site-packages/pygel3d/libPyGEL.dylib (0x3159cd888). One of the two will be used. Which one is undefined.
objc[26828]: Class GLFWWindow is implemented in both /opt/miniconda3/envs/genesis/lib/python3.10/site-packages/taichi/_lib/core/taichi_python.cpython-310-darwin.so (0x159e006b0) and /opt/miniconda3/envs/genesis/lib/python3.10/site-packages/pygel3d/libPyGEL.dylib (0x3159cd900). One of the two will be used. Which one is undefined.

@andrewlyu @samhincks
You can run the script below and you will see render results on your screen.
It is modified from this script in the official doc. An example provided by the official team is here.
import numpy as np

import genesis as gs

########################## init ##########################
gs.init(backend=gs.metal)

########################## create a scene ##########################
scene = gs.Scene(
    viewer_options = gs.options.ViewerOptions(
        camera_pos    = (0, -3.5, 2.5),
        camera_lookat = (0.0, 0.0, 0.5),
        camera_fov    = 30,
        res           = (960, 640),
        max_FPS       = 60,
    ),
    sim_options = gs.options.SimOptions(
        dt = 0.01,
    ),
    show_viewer = True,
)

########################## entities ##########################
plane = scene.add_entity(
    gs.morphs.Plane(),
)
franka = scene.add_entity(
    gs.morphs.MJCF(
        file  = 'xml/franka_emika_panda/panda.xml',
    ),
)
########################## build ##########################
scene.build()

jnt_names = [
    'joint1',
    'joint2',
    'joint3',
    'joint4',
    'joint5',
    'joint6',
    'joint7',
    'finger_joint1',
    'finger_joint2',
]
dofs_idx = [franka.get_joint(name).dof_idx_local for name in jnt_names]

############ Optional: set control gains ############
# set positional gains
franka.set_dofs_kp(
    kp             = np.array([4500, 4500, 3500, 3500, 2000, 2000, 2000, 100, 100]),
    dofs_idx_local = dofs_idx,
)
# set velocity gains
franka.set_dofs_kv(
    kv             = np.array([450, 450, 350, 350, 200, 200, 200, 10, 10]),
    dofs_idx_local = dofs_idx,
)
# set force range for safety
franka.set_dofs_force_range(
    lower          = np.array([-87, -87, -87, -87, -12, -12, -12, -100, -100]),
    upper          = np.array([ 87,  87,  87,  87,  12,  12,  12,  100,  100]),
    dofs_idx_local = dofs_idx,
)

####################################
# package the whole simulation process in a function so that we can launch a thread for it later
####################################
def run_sim(scene,):
    # Hard reset
    for i in range(150):
        if i < 50:
            franka.set_dofs_position(np.array([1, 1, 0, 0, 0, 0, 0, 0.04, 0.04]), dofs_idx)
        elif i < 100:
            franka.set_dofs_position(np.array([-1, 0.8, 1, -2, 1, 0.5, -0.5, 0.04, 0.04]), dofs_idx)
        else:
            franka.set_dofs_position(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0]), dofs_idx)

        scene.step()

    # PD control
    for i in range(1250):
        if i == 0:
            franka.control_dofs_position(
                np.array([1, 1, 0, 0, 0, 0, 0, 0.04, 0.04]),
                dofs_idx,
            )
        elif i == 250:
            franka.control_dofs_position(
                np.array([-1, 0.8, 1, -2, 1, 0.5, -0.5, 0.04, 0.04]),
                dofs_idx,
            )
        elif i == 500:
            franka.control_dofs_position(
                np.array([0, 0, 0, 0, 0, 0, 0, 0, 0]),
                dofs_idx,
            )
        elif i == 750:
            # control first dof with velocity, and the rest with position
            franka.control_dofs_position(
                np.array([0, 0, 0, 0, 0, 0, 0, 0, 0])[1:],
                dofs_idx[1:],
            )
            franka.control_dofs_velocity(
                np.array([1.0, 0, 0, 0, 0, 0, 0, 0, 0])[:1],
                dofs_idx[:1],
            )
        elif i == 1000:
            franka.control_dofs_force(
                np.array([0, 0, 0, 0, 0, 0, 0, 0, 0]),
                dofs_idx,
            )
        # This is the control force computed based on the given control command
        # If using force control, it's the same as the given control command
        print('control force:', franka.get_dofs_control_force(dofs_idx))

        # This is the actual force experienced by the dof
        print('internal force:', franka.get_dofs_force(dofs_idx))

        scene.step()

    scene.viewer.stop()

gs.tools.run_in_another_thread(fn=run_sim, args=(scene,)) # start the simulation in another thread
scene.viewer.start() # start the viewer in the main thread (the render thread)

Thank you @Felix-Zhenghao
I ran your code, however it still doesnt work work, giving me this error
For the record, I am in Python 3.12.8... Are others perhaps using an older version

Traceback (most recent call last):
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not callable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/samuelhincks/Documents/Github/genesis/guthib.py", line 126, in <module>
    scene.viewer.start() # start the viewer in the main thread (the render thread)
    ^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/genesis/vis/viewer.py", line 91, in start
    self._pyrender_viewer.start()
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/genesis/ext/pyrender/viewer.py", line 386, in start
    self._init_and_start_app()
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/genesis/ext/pyrender/viewer.py", line 1149, in _init_and_start_app
    pyglet.clock.tick()
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/pyglet/clock.py", line 528, in tick
    return _default.tick(poll)
           ^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/pyglet/clock.py", line 270, in tick
    self.call_scheduled_functions(delta_t)
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/pyglet/clock.py", line 217, in call_scheduled_functions
    item.func(now - item.last_ts, *item.args, **item.kwargs)
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/genesis/ext/pyrender/viewer.py", line 941, in _time_event
    self.on_draw()
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/genesis/ext/pyrender/viewer.py", line 640, in on_draw
    self._render()
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/genesis/ext/pyrender/viewer.py", line 1086, in _render
    retval = renderer.render(self.scene, flags, seg_node_map=seg_node_map)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/genesis/ext/pyrender/renderer.py", line 141, in render
    self._update_context(scene, flags)
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/genesis/ext/pyrender/renderer.py", line 916, in _update_context
    texture._add_to_context()
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/genesis/ext/pyrender/texture.py", line 180, in _add_to_context
    self._texid = glGenTextures(1)
                  ^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/OpenGL/latebind.py", line 61, in __call__
    return self.wrapperFunction( self.baseFunction, *args, **named )
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/OpenGL/GL/exceptional.py", line 178, in glGenTextures
    baseFunction( count, textures)
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/OpenGL/latebind.py", line 45, in __call__
    return self._finalCall( *args, **named )
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/OpenGL/wrapper.py", line 657, in wrapperCall
    result = wrappedOperation( *cArguments )
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/genesis/lib/python3.12/site-packages/OpenGL/platform/baseplatform.py", line 402, in __call__
    return self( *args, **named )
           ^^^^^^^^^^^^^^^^^^^^^^
ctypes.ArgumentError: ("argument 2: TypeError: No array-type handler for type _ctypes.type (value: <cparam 'P' (0x313fe4318)>) registered", (1, <cparam 'P' (0x313fe4318)>))

I switched to python 3.11, and then the code worked :)

That script fails for another reason with python 3.11 and macos 15.2. It is a m1 chip macbook.
Following is the traceback report. Looks like a visualization library issue:
uniform not found: material.base_color_factor
uniform not found: material.metallic_factor
uniform not found: material.roughness_factor
uniform not found: material.emissive_factor
Traceback (most recent call last):
  File "/Users/duchaolv/projects/genesis_playground/scripts/vis_macos.py", line 126, in <module>
    scene.viewer.start() # start the viewer in the main thread (the render thread)
    ^^^^^^^^^^^^^^^^^^^^
  File "/Users/duchaolv/projects/brew_envs/genesis_env/lib/python3.11/site-packages/genesis/vis/viewer.py", line 91, in start
    self._pyrender_viewer.start()
  File "/Users/duchaolv/projects/brew_envs/genesis_env/lib/python3.11/site-packages/genesis/ext/pyrender/viewer.py", line 386, in start
    self._init_and_start_app()
  File "/Users/duchaolv/projects/brew_envs/genesis_env/lib/python3.11/site-packages/genesis/ext/pyrender/viewer.py", line 1149, in _init_and_start_app
    pyglet.clock.tick()
  File "/Users/duchaolv/projects/brew_envs/genesis_env/lib/python3.11/site-packages/pyglet/clock.py", line 528, in tick
    return _default.tick(poll)
           ^^^^^^^^^^^^^^^^^^^
  File "/Users/duchaolv/projects/brew_envs/genesis_env/lib/python3.11/site-packages/pyglet/clock.py", line 270, in tick
    self.call_scheduled_functions(delta_t)
  File "/Users/duchaolv/projects/brew_envs/genesis_env/lib/python3.11/site-packages/pyglet/clock.py", line 217, in call_scheduled_functions
    item.func(now - item.last_ts, *item.args, **item.kwargs)
  File "/Users/duchaolv/projects/brew_envs/genesis_env/lib/python3.11/site-packages/genesis/ext/pyrender/viewer.py", line 941, in _time_event
    self.on_draw()
  File "/Users/duchaolv/projects/brew_envs/genesis_env/lib/python3.11/site-packages/genesis/ext/pyrender/viewer.py", line 654, in on_draw
    self._renderer.render_texts(
  File "/Users/duchaolv/projects/brew_envs/genesis_env/lib/python3.11/site-packages/genesis/ext/pyrender/renderer.py", line 258, in render_texts
    self._configure_forward_pass_viewport(0)
  File "/Users/duchaolv/projects/brew_envs/genesis_env/lib/python3.11/site-packages/genesis/ext/pyrender/renderer.py", line 1160, in _configure_forward_pass_viewport
    glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0)
  File "/Users/duchaolv/projects/brew_envs/genesis_env/lib/python3.11/site-packages/OpenGL/error.py", line 230, in glCheckError
    raise self._errorClass(
OpenGL.error.GLError: GLError(
	err = 1282,
	description = b'invalid operation',
	baseOperation = glBindFramebuffer,
	cArguments = (GL_DRAW_FRAMEBUFFER, 0)
)


example not compatible with current pandas

I've suceeded by installing current version by
pip3 install git+https://github.com/draperjames/qtpandas.git

instead of an old version from 2016 by
pip3 install qtpandas

However, running https://github.com/draperjames/qtpandas/blob/master/examples/BasicExample.py failed with
$ python3 BasicExample.py
Traceback (most recent call last):
  File "BasicExample.py", line 15, in <module>
    from qtpandas.views.DataTableView import DataTableWidget
  File "/home/.../.local/lib/python3.8/site-packages/qtpandas/views/DataTableView.py", line 13, in <module>
    from qtpandas.views.EditDialogs import AddAttributesDialog, RemoveAttributesDialog
  File "/home/.../.local/lib/python3.8/site-packages/qtpandas/views/EditDialogs.py", line 17, in <module>
    from pandas.tslib import NaTType
ModuleNotFoundError: No module named 'pandas.tslib'

My versions:
$ pip3 show pandas qtpandas
Name: pandas
Version: 1.3.4
Summary: Powerful data structures for data analysis, time series, and statistics
Home-page: https://pandas.pydata.org
Author: The Pandas Development Team
Author-email<EMAIL_ADDRESS>License: BSD-3-Clause
Location: /home/.../.local/lib/python3.8/site-packages
Requires: python-dateutil, numpy, pytz
Required-by: tabula-py, seaborn, qtpandas
---
Name: qtpandas
Version: 1.0.4
Summary: Utilities to use pandas (the data analysis / manipulation
Home-page: None
Author: None
Author-email: None
License: None
Location: /home/.../.local/lib/python3.8/site-packages
Requires: pytest-cov, pytest, easygui, qtpy, pandas, future, pytest-qt
Required-by:

using code  pandas._libs.lib import * instead of from pandas.tslib import NaTType in the file /home/.../.local/lib/python3.8/site-packages/qtpandas/views/EditDialogs.py

next, if there is error :AttributeError: 'DataFrame' object has no attribute 'ix'
using the .loc function instead, such as result = self._dataFrame.ix[row, col] --> result = self._dataFrame.loc[row, col]

then,if there is error: AttributeError: 'DataFrame' object has no attribute  set_value
using the ._set_value function instead, such as self._dataFrame.set_value(row, col, value) -->self._dataFrame._set_value(row, col, value)


[MOBILE] Edit a comment in a post

Goal: To be able to edit a comment by a logged in User.
Edit:
As a logged in user, I want to edit a comment so that I can rectify my spellings/errors/thoughts.

Acceptance criteria:
Only the original poster should be able to edit the comment in a post
The poster should be logged it to edit the comment
The time of update should be stored
When the user clicks on edit, he should be able to see the existing comment
The keypad must appear and accept the max number of characters.
Update button from the keyboard must update the comment
The user should be able to edit the comment any number of times
Please feel free to reach out to me in case you need any clarifications.

Closing this as the changes have been incorporated into #486 and this is not required


bitmap expand too much

Hi guys, if all dimensions are integers, does bitmap expand too much?
for example, if all columns in a segment are integers, the bitmap size maybe equal to the actual datasize. Does druid  think about this?

Unclear what you are asking. What do you mean by "bitmap expand too much"? "columns in a segment are integers" -- you mean integer (actually long, because Druid doesn't have 4-byte integer dimensions now) dimensions or metrics? "bitmap size maybe equal to the actual datasize" what is "bitmap size" and "datasize" here?

@leventov
the bitmap size = cardinality (number of distinct values in segment file) * number of rows / 8.
the data size = avg row size * number of rows.
If every dimension has a bitmap index, maybe the bit map size is larger than the data size. For example, there are 50000 rows in a segment file, every row have 10 long value dimensions and 1 float metrics and every dimension have 1000 distinct values. In this case, there will be 10 bitmaps  and every bitmap's size = 1000 * 50000 /8 and the size is:
the bitmap size =   10 * 1000 * 50000/8 = 62.5mb [not consider about compression of bitmap, like roaring]
the data size = 50000*(10*8 + 4) = 4.2mb
You can see, the bitmap size is larger than the data size. It may waste lot of storage.

@yiguolei is it more like a theoretical question or you hit this in your workload somehow?
Note that Druid currently doesn't compute bitmaps for long-typed dimensions, only for string-typed dimensions (it was the only available type of dimensions until recently, long-typed dimensions is a recent addition.)
Not considering bitmap compression is wrong, because it reduces the footprint required for bitmaps for high-cardinality dimensions dramatically. Note that "concise" bitmap compression algorithm could still be preferable over "roaring" in this case, because it achieves much better compression. However this area is very far from being optimized well in Druid, a lot of changes are possible that would allow better compression and better performance, e. g.  #3882
Generally you cannot say that some format is "waste of storage", because there is always a tradeoff between how much do you precompute in the segment (bitmaps, indexes, etc.) and therefore the segment size increases, and how fast you can perform queries. See https://en.wikipedia.org/wiki/Space–time_tradeoff

@leventov

long-typed dimensions is a recent addition
Do you have some design doc about index on long-typed dimensions?  It will also use bitmap index or other type indices?

@yiguolei see #2426


Presence of .gutctags leads to empty tags file

I'm used to putting .gutctags files into my projects so that I avoid creating huge ctags files. My usual .gutctags file looks like this:
-L .gutctagsfiles
--exclude=node_modules
--exclude=vendor

This worked flawlessly for me for a long time, but latest commits made this behave incorrectly. To be exact, seems like once the .gutctags file is present (even if it's empty), the final tags file ends up being empty or almost-empty. Once the file is gone, a full tags file is generated.
I was able to narrow down the problem, and seems like the last commit that works as it used to work is this one: eb9e57f579d2ef747be25a7a4ec5add6fe5ca3d9
The commit that comes after this one causes the problem described above.

Which OS are you running?
Does the .gutctagsfiles file exist? Does it contain relative or absolute paths?

I am mostly using Linux (openSUSE leap 15.2), but I'm also having this problem on FreeBSD 12.1.
I only put .gutctagsfiles there if it actually exists. Pretty sure it contains relative paths, but can't check right now. But even if this file wasn't there in .gutctags I still had the problem described above.

I can now confirm that my .gutctagsfiles file contains relative paths (no leading slash)

Ah, I know, the reason for that is that when you specify a .gutctags, it replaces the default options file provided by Gutentags (which sets by default the --recursive=yes option). So you have to re-specify the recursive flag in your .gutctags. It's not super obvious, sorry about that... but I did want to make it possible for people to have full control over the options. Arguably I could control the default option with another flag but I was lazy...


UHF-9708: Survey content type

UHF-9708

What was done

Added a new module helfi_node_survey that creates a new content type and a new user role.

How to install

Make sure your etusivu is up and running on correct branch.

git checkout dev
make fresh shell
composer require drupal/helfi_platform_config:dev-UHF-9708 drupal/hdbt:dev-UHF-9708
make drush-updb drush-cex
git checkout UHF-9708
make drush-cim drush-updb

Start another instance:

git checkout dev
make fresh shell
Change platform config to correct branch:

composer require drupal/helfi_platform_config:dev-UHF-9708
composer require drupal/hdbt:dev-UHF-9708
drush updb

Enable pubsub locally on both instances: https://helsinkisolutionoffice.atlassian.net/wiki/spaces/HEL/pages/8354005224/Tunnusten+salasanojen+ja+muiden+avainten+jakaminen#Tunnukset

Run drush helfi:azure:pubsub-listen
Make sure caching is enabled on both instances.

How to test

[x] Login to the site and make sure that there is now a new content type Survey.
[x] Make sure there is also a new role Survey editor that has permissions for the Survey content type.
[ ] Check that code follows our standards.
[ ] Surveys created on etusivu work on both instances.
[x] Global announcements should still work.
[ ] Surveys are cached correctly.

Continuous documentation

[ ] This feature has been documented/the documentation has been updated
[ ] This change doesn't require updates to the documentation

Translations

[x] Translations have been added to .po -files and included in this PR

Other PRs

https://github.com/City-of-Helsinki/drupal-helfi-platform-config/pull/773
https://github.com/City-of-Helsinki/drupal-hdbt/pull/1009
https://github.com/City-of-Helsinki/drupal-helfi-etusivu/pull/642

The "field_publish_externally" field is missing from the Survey content type and should be added by re-using the field from the Announcement content type.
For the Announcement content type it might have been added directly to the frontpage instance's config. Not sure if this should also be added directly or if the field configs for both node types should be moved to this module.

field_publish_externally is added as optional config and should not be installed unless field.storage.node.field_publish_externally is present: https://github.com/City-of-Helsinki/drupal-helfi-platform-config/blob/UHF-9708/modules/helfi_node_survey/config/optional/field.field.node.survey.field_publish_externally.yml

We should also add some documentation about how the Etusivu instance invalidates caches using pubsub to the "helfi_etusivu_entities" module's readme, since the helfi_etusivu_invalidate_external_caches can be tricky to find inside the "helfi_etusivu" module.

Wrote something here: https://github.com/City-of-Helsinki/drupal-helfi-platform-config/blob/UHF-9708/modules/helfi_etusivu_entities/README.md#cache


chore(apps/prod/tekton/setup): bump tekton operator to v0.61.0

Reverts PingCAP-QE/ee-ops#851

/approve


Documentation on SLRequest.GetAllAsync

Hi, congrats on the library, you've put in a good amount of work into it. Personally I use the odata client generation approach but this is more flexibly as the contracts are written by the user.
I noticed that the SLRequest.GetSync takes a parameter to unwrap value property, but the SLRequest.GetAllAsync does not, and it forces the unwrap. Could you add this to the docs ? I spent sometime trying to figure out why some response objects were coming back null then I realized this one is unwrapping no matter what (which kind of makes sense since user doesnt need to manage links or tags)

Hi, @rcalv002.
Thanks for your input on this, that's indeed an oversight on my part. I'll make sure to make this clear on the method XML comment and other mentions of it for the next release.

This behavior was made clear in the documentation with version 1.3.1.
Thanks again, @rcalv002, for reporting this.


New message alert

Hello how can I add new message alert ?

The message alert was almost be added back then but it's removed now
Although I do have a plan to add it soon
Update (2020): it's been years and I didn't expect back then some people using this repo, but thank you


[Feature request] - Ignore lines starting with # and empty ones.

Many wordlists contain the licence/description at the start of the file.
ffuf doesnt ignore those lines by default and in many times in screw up the terminal with content not needed.
This feature would ignore those lines by default.

Hi, take a look in #245

Missed it by one :stuck_out_tongue_closed_eyes:
Always RTFM :100:


Feat: Support horizontal collapse

i was trying to rebuild this sidebar using sveltestrap, but the default animations works only vertically, which feels weird for this use case. I tried adding .collapse-horizontal to the Collapse component, but it happened to be even weirder.

Thanks, yeah I attempted adding support and was a little confused on how this was supposed to work.  Happy to take a look again and either PR or add my notes here if someone could pick it up.

I think this is straightforward if you'd like to review @demetrius-mp : https://github.com/bestguy/sveltestrap/pull/445/files

Released in v5.9.0, thanks for the heads up.


Add pool to allowlist

Description
Add weighted pool to allowlist on arbitrum
Pool ID: 0xc69771058481551261709d8db44977e9afde645000010000000000000000042a
Type of change

[X] Other

Checklist:

[X] I have performed a self-review of my own code
[ ] I have requested at least 1 review (If the PR is significant enough, use best judgement here)
[X] I have commented my code where relevant, particularly in hard-to-understand areas
[ ] If package-lock.json has changes, it was intentional.
[X] The base of this PR is master if hotfix, develop if not

Replaced by #3355.


Double default threads created by mobile

Only visible when paired with desktop... two threads with name "default" are sent as part of the pairing process. One is always empty. Confirmed that they are in fact two separate threads with distinct IDs. Pairing to desktop from a non-mobile node (cli) does not lead to to any duplication.

Fixed