[Bug]: Inconsistent start times when mounting to a local directory

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Describe the bug and reproduction steps

docker run -it --rm --pull=always `
 -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:main-nikolaik `
 -e WORKSPACE_MOUNT_PATH="C:\repositories\extensions\youtube-time-manager" `
 -e LOG_ALL_EVENTS=true `
 -v /var/run/docker.sock:/var/run/docker.sock `
 -v C:/repositories/extensions/youtube-time-manager:/opt/workspace_base `
 -p 3000:3000 `
 --add-host host.docker.internal:host-gateway `
 --name openhands-app `
 docker.all-hands.dev/all-hands-ai/openhands:main

Start <IP_ADDRESS>:3000
Make sure that the LLM is set up, in my case Claude 3.5 Sonnet
Send a text prompt
Initially it will say "waiting for client to become ready"
The time for it to start up and start sending the input via the API can equally to be 5 minutes or 50 minutes

OpenHands Installation
Docker command in README
OpenHands Version
main
Operating System
Windows 10, PowerShell
Logs, Errors, Screenshots, and Additional Context
No response

Wow that's a massive difference 5 and 50 minutes.
When it takes a long time, are you able to determine what's happening based on the logs in the terminal?

Nope, when it's able to start it's pretty much at random for me

The agent randomly started a few minutes ago and that's the log I was able to capture
INFO:     <IP_ADDRESS>:35376 - "GET /api/options/config HTTP/1.1" 200 OK
2024-12-26T17:08:22.900717429Z INFO:     <IP_ADDRESS>:35362 - "GET /api/settings HTTP/1.1" 200 OK
2024-12-26T17:08:24.882951932Z INFO:     ('<IP_ADDRESS>', 35378) - "WebSocket /socket.io/?latest_event_id=0&conversation_id=4bddfa58c4af4ef4beabdadb6ca3bbb3&EIO=4&transport=websocket" [accepted]
2024-12-26T17:08:24.886529688Z 17:08:24 - openhands:INFO: listen_socket.py:27 - sio:connect: r_cw-UUmL_o4LYmlAAAL
2024-12-26T17:08:24.886555724Z 17:08:24 - openhands:INFO: manager.py:182 - join_conversation:4bddfa58c4af4ef4beabdadb6ca3bbb3:r_cw-UUmL_o4LYmlAAAL
2024-12-26T17:08:24.886877307Z 17:08:24 - openhands:INFO: manager.py:325 - _get_event_stream:4bddfa58c4af4ef4beabdadb6ca3bbb3
2024-12-26T17:08:24.886892640Z 17:08:24 - openhands:INFO: manager.py:308 - maybe_start_agent_loop:4bddfa58c4af4ef4beabdadb6ca3bbb3
2024-12-26T17:08:24.887091353Z 17:08:24 - openhands:INFO: manager.py:311 - start_agent_loop:4bddfa58c4af4ef4beabdadb6ca3bbb3
2024-12-26T17:08:24.895871453Z 17:08:24 - openhands:INFO: manager.py:325 - _get_event_stream:4bddfa58c4af4ef4beabdadb6ca3bbb3
2024-12-26T17:08:24.896089410Z 17:08:24 - openhands:INFO: manager.py:328 - found_local_agent_loop:4bddfa58c4af4ef4beabdadb6ca3bbb3
2024-12-26T17:08:25.991928813Z 17:08:25 - openhands:INFO: eventstream_runtime.py:194 - [runtime 4bddfa58c4af4ef4beabdadb6ca3bbb3] Waiting for client to become ready at http://host.docker.internal:37364...
2024-12-26T17:08:26.041769247Z 17:08:26 - openhands:INFO: eventstream_runtime.py:200 - [runtime 4bddfa58c4af4ef4beabdadb6ca3bbb3] Runtime is ready.
2024-12-26T17:08:26.170137175Z 17:08:26 - openhands:ERROR: base.py:231 - [runtime 4bddfa58c4af4ef4beabdadb6ca3bbb3] Failed to read openhands_instructions
2024-12-26T17:08:26.174867807Z 17:08:26 - openhands:INFO: base.py:239 - [runtime 4bddfa58c4af4ef4beabdadb6ca3bbb3] Found 0 custom microagents.
2024-12-26T17:08:26.177163808Z 17:08:26 - openhands:INFO: agent_controller.py:204 - [Agent Controller 4bddfa58c4af4ef4beabdadb6ca3bbb3] Starting step loop...
2024-12-26T17:08:26.180101377Z 17:08:26 - openhands:INFO: agent_controller.py:347 - [Agent Controller 4bddfa58c4af4ef4beabdadb6ca3bbb3] Setting agent(CodeActAgent) state from AgentState.LOADING to AgentState.INIT
2024-12-26T17:08:26.183444051Z 17:08:26 - OBSERVATION
2024-12-26T17:08:26.183461829Z [Agent Controller 4bddfa58c4af4ef4beabdadb6ca3bbb3] AgentStateChangedObservation(content='', agent_state=<AgentState.INIT: 'init'>, observation='agent_state_changed')
...

IDK what's happening anymore
https://github.com/user-attachments/assets/bd6b335a-c78f-430b-b573-675d52e422c3

@mamoodi Interestingly, whenever I build OpenHands from source and configure a local directory to be mounted, the agent only takes a brief moment to initialize, but in the Docker instance it feels like forever

Interesting. In the docker method, does it still take forever if you pull the runtime docker image before running the docker command?
For example:
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.17-nikolaik
or
docker pull docker.all-hands.dev/all-hands-ai/runtime:main-nikolaik  (If running main)
?

No, it takes a normal amount of time to pull the image and it only takes forever for the agent to start when I send my prompt


int/float array serialization problem

When I try to serialize [298080447363] with msgpack-lite it serializes it as floats
<Buffer 91 cb 42 51 59 be aa e0 c0 00>
And I fail to unpack it on java side.
org.msgpack.core.MessageTypeException: Expected Integer, but got Float (cb)
	at org.msgpack.core.MessageUnpacker.unexpected(MessageUnpacker.java:580)
	at org.msgpack.core.MessageUnpacker.unpackLong(MessageUnpacker.java:927)

I switched to msgpack5 in my project and it serializes the same array as
<Buffer 91 cf 00 00 00 45 66 fa ab 83>
The PR contains a small sample to demonstrate my problem.
Is it bug or expected behavior? Am I missing something? Thanks.

It's an  expected behavior. The msgpack-lite library uses int32 or float types but not use int64 type for primitive numbers. Because JavaScript/EcmaScript does not have int64 primitive type.
See https://github.com/kawanet/msgpack-lite/blob/master/lib/write-type.js
  function number(encoder, value) {
    var ivalue = value | 0;
    if (value !== ivalue) {
      // float 64 -- 0xcb

298080447363 means 0x4566faab83.  It needs int64 precision.<PHONE_NUMBER>63 is represented as a Double but not an Integer on JavaScript VM in other words. You could use int64 directly via int64-buffer module:
var Uint64BE=require("int64-buffer").Uint64BE
msgpack.encode([Uint64BE('298080447363')]); => <Buffer 91 cf 00 00 00 45 66 fa ab 83>


Documentation improvement tracking

Issue to track improvements that can be made to the documentation

[ ] TableModel headers and columns must be equal length (otherwise unexpected behavior occurs)
[ ] upgrade guides should be visibly linked in more places
[ ] dropdown appendInline/ToBody behavior and examples
[ ] icons-angular usage (link out to that readme)
[ ] tooltip placement and control
[ ] completely custom tooltip examples
[ ] custom modal usage patterns
[ ] state management with tabs (active tabs, saving-restoring state, generating tabs)
[ ] forms and modals
[ ] UI Shell ... just all of it
[ ] boolean attribute weirdness ([expanded]="false" isn't the same as expanded="false")
[ ] complex layouts with grid and components like Tile
[ ] accessible tabs
[ ] accessible form controls
[ ] time picker usage patterns (single, multiple, ngModel, etc)
[ ] date picker patterns (single, multiple, ngModel, etc)
[ ] Observable items in dropdowns (and patterns around updating dropdown items)
[ ] patterns around searching (handling enter, ngModel/valueChange, clearing, etc)
[ ] modal sizing
[ ] tabs as navigation
[ ] pagination + table + header patterns

[ ] template driven forms patterns
[ ] reactive forms patterns
[ ] style override patterns
[ ] complex radio examples


ovos-PHAL-plugin-respeaker-2mic Issue when installing with phal.list

My first opened Issue, so I will be grateful for any comments and advice how to make it better in the future!
System: Raspberry Pi4 / "Debian GNU/Linux 12 (bookworm)"
I used https://github.com/OpenVoiceOS/ovos-installer to install  the docker version.
I have the ReSpeaker 2Mic-HAT installed with these drivers https://github.com/seeed-studio-projects/seeed-voicecard
When I'm trying to install the ovos-PHAL-plugin-respeaker-2mic using the phal.list I get this error message:
ERROR: Could not find a version that satisfies the requirement ovos-PHAL-plugin-respeaker-2mic (from versions: none)
ERROR: No matching distribution found for ovos-PHAL-plugin-respeaker-2mic
2023-11-25 21:35:19.005 - PHAL - ovos_PHAL.service:on_started:25 - INFO - PHAL is started
2023-11-25 21:35:19.108 - PHAL - ovos_bus_client.session:from_message:447 - WARNING - No session context in message:connected
2023-11-25 21:35:19.237 - PHAL - ovos_PHAL.service:load_plugins:83 - INFO - PHAL plugin loaded: ovos-phal-plugin-ipgeo
2023-11-25 21:35:19.405 - PHAL - ovos_PHAL.service:load_plugins:83 - INFO - PHAL plugin loaded: ovos-PHAL-plugin-alsa
2023-11-25 21:35:19.414 - PHAL - ovos_PHAL.service:load_plugins:83 - INFO - PHAL plugin loaded: ovos-PHAL-plugin-system
2023-11-25 21:35:19.416 - PHAL - ovos_PHAL.service:on_ready:9 - INFO - PHAL is ready.

When changing it to git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-respeaker-2mic.git it gives me this error message:
Collecting git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-respeaker-2mic.git (from -r /home/ovos/.config/mycroft/phal.list (line 1))
  Cloning https://github.com/OpenVoiceOS/ovos-PHAL-plugin-respeaker-2mic.git to /tmp/pip-req-build-c9cfrlm1
  Running command git clone --filter=blob:none --quiet https://github.com/OpenVoiceOS/ovos-PHAL-plugin-respeaker-2mic.git /tmp/pip-req-build-c9cfrlm1
  Resolved https://github.com/OpenVoiceOS/ovos-PHAL-plugin-respeaker-2mic.git to commit 9714e3e3611064f07ac871bcc4a983d255753f21
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting RPi.GPIO
  Downloading RPi.GPIO-0.7.1.tar.gz (29 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Requirement already satisfied: ovos-plugin-manager>=0.0.1 in ./.venv/lib/python3.11/site-packages (from ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (0.0.24)
Collecting spidev
  Downloading spidev-3.6.tar.gz (11 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Requirement already satisfied: combo-lock~=0.2 in ./.venv/lib/python3.11/site-packages (from ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (0.2.6)
Requirement already satisfied: importlib-metadata in ./.venv/lib/python3.11/site-packages (from ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (6.8.0)
Requirement already satisfied: langcodes~=3.3.0 in ./.venv/lib/python3.11/site-packages (from ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (3.3.0)
Requirement already satisfied: ovos-bus-client<0.1.0,>=0.0.3 in ./.venv/lib/python3.11/site-packages (from ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (0.0.6a19)
Requirement already satisfied: ovos-config<0.1.0,>=0.0.8 in ./.venv/lib/python3.11/site-packages (from ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (0.0.12a1)
Requirement already satisfied: ovos-utils<0.1.0,>=0.0.32 in ./.venv/lib/python3.11/site-packages (from ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (0.0.37a1)
Requirement already satisfied: quebra-frases in ./.venv/lib/python3.11/site-packages (from ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (0.3.7)
Requirement already satisfied: requests~=2.26 in ./.venv/lib/python3.11/site-packages (from ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (2.31.0)
Requirement already satisfied: filelock~=3.0 in ./.venv/lib/python3.11/site-packages (from combo-lock~=0.2->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (3.13.1)
Requirement already satisfied: memory-tempfile in ./.venv/lib/python3.11/site-packages (from combo-lock~=0.2->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (2.2.3)
Requirement already satisfied: pyee<9.0.0,>=8.1.0 in ./.venv/lib/python3.11/site-packages (from ovos-bus-client<0.1.0,>=0.0.3->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (8.2.2)
Requirement already satisfied: websocket-client>=0.54.0 in ./.venv/lib/python3.11/site-packages (from ovos-bus-client<0.1.0,>=0.0.3->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (1.6.4)
Requirement already satisfied: PyYAML<7.0.0,>=5.4.0 in ./.venv/lib/python3.11/site-packages (from ovos-config<0.1.0,>=0.0.8->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (6.0.1)
Requirement already satisfied: python-dateutil~=2.6 in ./.venv/lib/python3.11/site-packages (from ovos-config<0.1.0,>=0.0.8->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (2.8.2)
Requirement already satisfied: rich-click~=1.6 in ./.venv/lib/python3.11/site-packages (from ovos-config<0.1.0,>=0.0.8->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (1.7.1)
Requirement already satisfied: json-database~=0.7 in ./.venv/lib/python3.11/site-packages (from ovos-utils<0.1.0,>=0.0.32->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (0.7.0)
Requirement already satisfied: kthread~=0.2 in ./.venv/lib/python3.11/site-packages (from ovos-utils<0.1.0,>=0.0.32->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (0.2.3)
Requirement already satisfied: pexpect~=4.6 in ./.venv/lib/python3.11/site-packages (from ovos-utils<0.1.0,>=0.0.32->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (4.8.0)
Requirement already satisfied: watchdog in ./.venv/lib/python3.11/site-packages (from ovos-utils<0.1.0,>=0.0.32->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (3.0.0)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.venv/lib/python3.11/site-packages (from requests~=2.26->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in ./.venv/lib/python3.11/site-packages (from requests~=2.26->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./.venv/lib/python3.11/site-packages (from requests~=2.26->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (2.1.0)
Requirement already satisfied: certifi>=2017.4.17 in ./.venv/lib/python3.11/site-packages (from requests~=2.26->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (2023.11.17)
Requirement already satisfied: zipp>=0.5 in ./.venv/lib/python3.11/site-packages (from importlib-metadata->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (3.17.0)
Requirement already satisfied: regex in ./.venv/lib/python3.11/site-packages (from quebra-frases->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (2023.10.3)
Requirement already satisfied: ptyprocess>=0.5 in ./.venv/lib/python3.11/site-packages (from pexpect~=4.6->ovos-utils<0.1.0,>=0.0.32->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (0.7.0)
Requirement already satisfied: six>=1.5 in ./.venv/lib/python3.11/site-packages (from python-dateutil~=2.6->ovos-config<0.1.0,>=0.0.8->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (1.16.0)
Requirement already satisfied: click>=7 in ./.venv/lib/python3.11/site-packages (from rich-click~=1.6->ovos-config<0.1.0,>=0.0.8->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (8.1.7)
Requirement already satisfied: rich>=10.7.0 in ./.venv/lib/python3.11/site-packages (from rich-click~=1.6->ovos-config<0.1.0,>=0.0.8->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (13.7.0)
Requirement already satisfied: typing-extensions in ./.venv/lib/python3.11/site-packages (from rich-click~=1.6->ovos-config<0.1.0,>=0.0.8->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (4.8.0)
Requirement already satisfied: markdown-it-py>=2.2.0 in ./.venv/lib/python3.11/site-packages (from rich>=10.7.0->rich-click~=1.6->ovos-config<0.1.0,>=0.0.8->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (3.0.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in ./.venv/lib/python3.11/site-packages (from rich>=10.7.0->rich-click~=1.6->ovos-config<0.1.0,>=0.0.8->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (2.17.1)
Requirement already satisfied: mdurl~=0.1 in ./.venv/lib/python3.11/site-packages (from markdown-it-py>=2.2.0->rich>=10.7.0->rich-click~=1.6->ovos-config<0.1.0,>=0.0.8->ovos-plugin-manager>=0.0.1->ovos-PHAL-plugin-respeaker-2mic==0.0.1->-r /home/ovos/.config/mycroft/phal.list (line 1)) (0.1.2)
Building wheels for collected packages: spidev
  Building wheel for spidev (pyproject.toml): started
  Building wheel for spidev (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Building wheel for spidev (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [23 lines of output]
      /tmp/pip-build-env-z286hjoy/overlay/lib/python3.11/site-packages/setuptools/dist.py:472: SetuptoolsDeprecationWarning: Invalid dash-separated options
      !!

              ********************************************************************************
              Usage of dash-separated 'description-file' will not be supported in future
              versions. Please use the underscore name 'description_file' instead.

              By 2024-Sep-26, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.

              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
              ********************************************************************************

      !!
        opt = self.warn_dash_deprecation(opt, section)
      running bdist_wheel
      running build
      running build_ext
      building 'spidev' extension
      creating build
      creating build/temp.linux-aarch64-cpython-311
      aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/home/ovos/.venv/include -I/usr/include/python3.11 -c spidev_module.c -o build/temp.linux-aarch64-cpython-311/spidev_module.o
      error: command 'aarch64-linux-gnu-gcc' failed: No such file or directory
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for spidev
Failed to build spidev
ERROR: Could not build wheels for spidev, which is required to install pyproject.toml-based projects
2023-11-25 21:39:28.863 - PHAL - ovos_PHAL.service:on_started:25 - INFO - PHAL is started
2023-11-25 21:39:28.900 - PHAL - ovos_bus_client.session:from_message:447 - WARNING - No session context in message:connected
2023-11-25 21:39:29.015 - PHAL - ovos_PHAL.service:load_plugins:83 - INFO - PHAL plugin loaded: ovos-phal-plugin-ipgeo
2023-11-25 21:39:29.090 - PHAL - ovos_PHAL.service:load_plugins:83 - INFO - PHAL plugin loaded: ovos-PHAL-plugin-alsa
2023-11-25 21:39:29.097 - PHAL - ovos_PHAL.service:load_plugins:83 - INFO - PHAL plugin loaded: ovos-PHAL-plugin-system
2023-11-25 21:39:29.100 - PHAL - ovos_PHAL.service:on_ready:9 - INFO - PHAL is ready.

I added RPi.GPIO, spidev and wheel to the image.
To fix the issue in your current image (without having to re-deploy), run the following commands:
docker exec -u0 ovos_phal apt update
docker exec -u0 ovos_phal apt install build-essential python3-dev -y
docker exec ovos_phal pip install git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-respeaker-2mic.git

Fixed


Refactor: change all private <variable> to #<variable>

As described in #315 , we should apply this change in every typescript file:

use #statementsSuperSet instead of private statementsSuperSet, since the last one does not transpile the variable to private correctly. We may change that in every metric.

After discussing in team, I think we will not implement this. Because the private modifier works in TypeScript code and it should be secured enough. We never touch the transpiled JS code at all so we don't need to care about if the access modifier are correctly in there.


MatTextField - Outlined label bug

The label doesn't appear when values are initially binded to the MatTextField, while Outlined is set to true. However, clicking the Textfield displays it.

Edit:
Was able to replicate this. It only happens when the textfield is within a MatExpansionPanel
https://blazorfiddle.com/s/qftv3ox6

    .mdc-notched-outline__notch{
        width:auto !important;
    }

This CSS will help but I don't think it is the 100% complete solution. But it should get your through you demo.

There's consistent blank space in the right side of the label, but you're right, that should be able to get me through the demo.
Thanks a lot @enkodellc, lifesaver!

Labeling as a bug since this still is an issue in MatBlazor. Thanks for reporting.

I'm tracking this down for a similar issue. Turns out it is a Material problem, not a MatBlazor-specific problem.
I have a text field within a details tag, which defaults to closed. Turns out, deep in the bowels of Material, Google assumes that if an element is hidden then you don't actually want to know the width of the label, so it calculates zero for the label width even though it knows there's a label. Apparently the fix is to call layout() on the text field once it is visible.
I'm working providing a binding for layout so it can at least be called from Blazor. Then maybe we can come up with a broader scheme for wrapper controls like the expansion panel.

This issue still exists in 2.8.0, the outlined label does not exist until either you click in the field or the bound value has something in it.
value = null the label is not displayed
value = "" the label is not displayed
value = " " the label is displayed
as a workaround all the bound values can be set to " " then trim the space off when getting the data back into the model.
not a good workaround but it does work.

Modifying BaseMatInputTextComponent.cs in the source code to the following gives me what I want, basically as long as the value is not null I want the label displayed.
bool TextOrPlaceHolderVisible()
{
if (CurrentValueAsString != null)
return true;
            return (!string.IsNullOrWhiteSpace(PlaceHolder) && FullWidth);
            //return !string.IsNullOrEmpty(CurrentValueAsString)
            //    || (!string.IsNullOrWhiteSpace(PlaceHolder) && FullWidth);
        }


What is the primary, unique id of the cellRule/cellModel?

In the HybridTutorial it seems to be cellModel:
netParams.addPopParams('PYR_HH', {'cellModel': 'HH', 'cellType': 'PYR', 'numCells': 50})
netParams.addPopParams('PYR_Izhi', {'cellModel': 'Izhi2007b', 'cellType': 'PYR', 'numCells': 50})

but in M1 it seems to be cellType
netParams.addPopParams('IT_L5B', {'cellModel': 'Izhi2007b', 'cellType': 'IT',  'ynormRange': [0.52, 0.77], 'density': 40e3}) #  L5B IT
netParams.addPopParams('PT_L5B', {'cellModel': 'Izhi2007b', 'cellType': 'PT',  'ynormRange': [0.52, 0.77], 'density': 40e3}) #  L5B PT

here, the parameter cellModel is not even set in the cellRule:
cellRule = {'conds': {'cellType': 'IT'}, 'secs': {}}

I can see that the way popparams are set up means "try to find a cellRule which satisfies all of these conditions", but this is not ideal, especially when you know there has to be exactly one cellRule that satisfies these conditions.
It would be better to (consistently) use the one unique id you do have for cellRules when you add them to the params:
netParams.addCellParams('IT', cellRule)

@pgleeson - The unique id / label is arbitrary and depends on what you want to do.
There can be several cell rules that apply to the same cell. That way for example you can create a rule that applies to all 'cellType':'IT' (if you have a unique 'cellModel' in the net), or 2 different rules that apply to {'cellType':'IT', 'cellModel':'HH'} and {'cellType':'IT', 'cellModel':'Izhi'}.
Also, you might want to apply certain properties only to a subset of cells, eg. after creating the standard cell rules, you could modify the morphology or biophysics only of cells within a certain cortical depth: 'conds': {'y': [400, 600]}
Cell rules are applied additively, such that later rules modify existing values or add elements if these are missing.

@salvadord That's a perfectly fine way to choose form a set of cell instances where some subset may or may not have some properties, but the specification of which cell parameter set to use for a specific population is different: there has to be one and only one cell/cellParam that is used for the population. This suggests the best way to identify this is with the id in:
 netParams.addCellParams('IT', cellRule)   # the "cellParam id"

because there can only ever be one of these. The approach of "try to find one of the cells based on this set of conditions" is a bit loose when it comes to specifying which cell is in a population. Also, there's nothing to stop a user adding multiple cells with identical cellType & cellModel values but different cellParam ids... In that case which one will be used in the population is not specified...

The initial concept that Ben and I came up with was precisely not having to define properties in terms of populations. So, there doesn't necessarily have to e on cellParam per population. The user can chose to make the same cellParam rule apply to several populations; or several cellParam rules to subsets of a population. Cells have a set of tags (popLabel, cellModel, cellType, x,y,z etc) and its up to the user to specify how to set properties based on these. I understand it s a bit loose, but its also much more flexible, which is what we were looking for. In most cases the user will decide to apply one cellParam rule per cellType or popLabel, but we don't want to necessarily enforce that.
If the user adds two cellParam rules with the same conditions (eg. cellType and CellModel) they will both be applied in sequential order, overwriting the previous one where overlaps happen. Using exactly the same conditions doesnt' obviously make sense and netpyne could detect and issue an error/warning. However, it is conceivable that the user may want to apply a general rule to all cellType: 'IT', and then, using a second rule, modify a single specific parameter (eg. channel conductance) of all cells within cortical depth [200,400]. These 2 rules may end up applying to the same cell (cellType IT with y [200,400]), and thats the kind of flexibility we wanted to allow.
Internal checks can be added to make sure that eg. all cells match at least one of the cellParam rules.


added ludo game

Related Issue

added ludo game

Closes: #1383
Describe the changes you've made
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
A clear and concise description of it.
Checklist:

[X] My code follows the style guidelines of this project.
[X] I have performed a self-review of my own code.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have made corresponding changes to the documentation.
[X] New and existing unit tests pass locally with my changes.

Screenshots

It's stuck, Is it working on your side ?

Fix this.

@991rajat  really sorry for this inconvenience
Actually I tried to resolve this but it's not happening, I guess there might be some problem with the path link, can you guide me with this

@robin025 Did you get where is the problem?

@robin025 Did you get where is the problem?
assets/js/ludo.js

Problem is with URL link that I have provided in ludo.js
Can you help me,like how to put url links in js

This will fix the dice visiblity issue. Fix that

What other issue are you facing let us know.

@robin025 There is 16 conflicts, Please resolve those issues

@robin025 There is 16 conflicts, Please resolve those issues

done @Vishal-raj-1


Support label as component in TabNavigator

Explain the motivation for making this change. What existing problem does the pull request solve?

The tabBar navigationOptions only allow a label to be a string. When an app requires more complex layout, the label needs to match, for example having multiline text. This change solves that by allowing a component to be passed through as the label component.
function A() {
  return <Text>Page</Text>;
}

function WithComponent() {
  return <Text>Page</Text>;
}

WithComponent.navigationOptions = {
  tabBar: {
    label: (
      <View>
        <Text>SAT</Text>
        <Text>28</Text>
      </View>
    )
  },
}

const Test = TabNavigator({
  A: { screen: WithComponent },
  B: { screen: A },
  C: { screen: A },
  D: { screen: A },
}, {
  tabBarOptions: {
    scrollEnabled: true,
    tabStyle: {
      width: 50,
      height: 50,
      padding: 0,
    }
  },
})

Output (example has more screens):

Any issues/changes let me know.
Cheers

Can you also do the change in TabBarBottom?

@satya164 done 👍

Thanks. Just two more small changes and we'll merge.

Thanks for this PR.
One question about this:  When providing a custom label component, is there a way to access the current tintColor for styling the text as active etc.?  Like it is possible for providing your own icon component (as seen in the docs).
Or alternatively, is there a way to determine if the current view is active somehow?

I'll do some changes to allow this soon

is this thread is active?
i made PR https://github.com/react-community/react-navigation/pull/524, probably related to @jhilden question


Hide progress bar on shallow routing

Description
On pages with search feature, the url is updated after keyword/filter/sort is changed using shallow routing.
The progress bar is quite distracting in these pages.
Expected Behaviour
Progress bar should not show on shallow routing event, especially because loading state for search will be managed separately.
Additional Information

How do you think if we update the URL only onBlur the input element?


frontary component

frontary에서 수정사항

[x] Checkbox
[x] Radio
[x] Tab menu
[x] Modal

Tab Menu + Checkbox

Modal

Radio

#https://github.com/aicers/aice-web/issues/503

https://github.com/aicers/aice-web/issues/503


chore(npm): ignore the coverage directory

I published the version and then realized i didnt ignore the coverage directory
@mgartner

LGTM


Could not find any version :)

So here's the exact error after adding
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'.

Could not resolve all dependencies for configuration 'classpath'.
Could not find any version that matches org.akhikhl.gretty:gretty:+.
Required by:
unspecified:unspecified:unspecified

Any ideas what's the problem?

Hi akhikhl ,
I have some problem about below error.
Execution failed for task 'appRunDebug'
org.gretty.jacocoHelper cannot be cast to org.gradle.api.task
Please help me...

Hi akhikhl,
I have same problem that
Execution failed for task 'appRunDebug'
org.gretty.jacocoHelper cannot be cast to org.gradle.api.task
Please help me too

Do you use gradle-2.14? Revert to 2.13 if you do. I need some time to port jacocoHelper to version that is compatible with gradle 2.14


restart            Restart services

completed by https://github.com/osl-incubator/containers-sugar/pull/77


'module' object has no attribute 'Interpreter'

I try to build firmware and fail with next error:
File "/home/soft/Autopilots/Firmware/Tools/genmsg/src/genmsg/template_tools.py", line 76, in _generate_from_spec
interpreter = em.Interpreter(output=ofile, globals=g, options={em.RAW_OPT:True,em.BUFFERED_OPT:True})
AttributeError: 'module' object has no attribute 'Interpreter'
CMakeFiles/msg_gen.dir/build.make:301: recipe for target 'src/platforms/nuttx/px4_messages/px4_output_pwm.h' failed
make[3]: *** [src/platforms/nuttx/px4_messages/px4_output_pwm.h] Error 1
I try reinstall em module but with no success.
In source code of the em module i can't find any sign of Interpreter.

What is the output of python --version? What is the OS and OS version you are using?

Python 2.7.11
Linux atelepin-nb3 4.2.0-23-generic #28-Ubuntu SMP Sun Dec 27 17:47:31 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Kubuntu 15.10
The same issue i experience in kubuntu 12.04

SOLVED! In my distribution i have two version of "em", one was installed as egg package. I just delete it.


Fixes compile error in code snippet

Missing override causes the error "Abstract inherited member 'void Microsoft.Azure.Functions.Extensions.DependencyInjection.FunctionsStartup.Configure(IFunctionsHostBuilder)' is not implemented"

@edvinkugelberg-ff : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Fixes issue #90632

@ggailey777 Can you please review this PR?

@ggailey777 Appreciates if you can review this and provide your feedback.

Hi @edvinkugelberg-ff can you please let me know for which version of .NET framework this fix works, and if it applies to either in-process or isolated process? I believe that this article still needs to be updated for .NET 6, and it doesn't yet support C# isolated process.

I get the same build error for both .NET 5 and netcoreapp3.1. This fixes for both frameworks

And also with .NET 6

@ggailey777 - Can you review this old PR and determine whether it needs to be closed or merged?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.

@edvinkugelberg sorry it took so long to get to your PR. This does fix the errors in the existing code sample. Thanks for your help! #sign-off


Use batch operations

https://github.com/parca-dev/parca-agent/blob/32327eae805c18a3483731cb3dea5fff697dbcb1/pkg/agent/profile.go#L280
libbpf supports the batch operations such as:

bpf_map_lookup_and_delete_batch
bpf_map_lookup_batch
bpf_map_delete_batch

These make sense to be used. Because we already load all the data from the BPF maps into the memory of our user-space program, so might as well do it efficiently. And not only does it allow us to batch, but it also allows us to delete items at the same time, which is exactly what we do anyways after each profiling iteration.
They first need to be implemented in libbpfgo.

Sent in https://github.com/aquasecurity/libbpfgo/pull/97 to support this.

Submitted https://github.com/aquasecurity/libbpfgo/pull/101 to improve error checking within libbpfgo which is necessary for our usage of these batch operations.

This is currently blocked on a libbpfgo patch to improve error handling when calling into the libbpf C library.
See https://github.com/aquasecurity/libbpfgo/pull/100#issuecomment-1004202417 for a summary on my thoughts for error handling and look at comments from Grant on overall summary of where the patch is and the direction for it.

#395 (reverted #403)
Waiting for the minimum supported kernel version to 5.2

👋 , is there any profile that shows this is a hotspot? If no, perhaps we can close it. We will always re-evaluate things and keep on profiling the agent to ensure that the performance is within what we expect


Expose PaginationToken property in AsyncSearch

Description

Expose PaginationToken property in AsyncSearch.
Motivation and Context

This change is required to allow the DynamoDB DataModel API to paginate results and resolves https://github.com/aws/aws-sdk-net/issues/671.
Testing

Built locally, this is a small non-breaking change.
Screenshots (if appropriate)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[x] I have read the README document
[ ] I have added tests to cover my changes
[x] All new and existing tests passed

License

[x] I confirm that this pull request can be released under the Apache 2 license

This was released today as part of version 3.7.301.16 of the AWSSDK.DynamoDBv2 package.


UDP default port incorrect, and greyed out

When trying to set up a UDP source, it defaults to <IP_ADDRESS>.  That isn't the correct IP, but it is greyed out.  In order to change it to a working ip, I need to switch to "Debug Agent", change the ip, then switch it back to UDP and then click OK.

fixed by 83eb863315767cd028272951032bb517c01ea6ae


New version: Webstudio.Webstudio version 1.10.0

Created by 🥟 Dumplings.
Microsoft Reviewers: Open in CodeFlow

/azp run


[DPE-2328] Update snap and remove chown workaround

Updating snap due to outdated dependencies:
Revision r66 (amd64; channels: 14/edge)
 * libllvm14: 6258-1

Updated with changes for DPE-2328


Automatically update landing page "hero numbers"

Context: Currently, splash page hero numbers need to be manually updated. This creates some lag between accumulating data and conveying it to users.
See single-cell-ux.
Story: CELLxGENE Discover users have an up to date view of the magnitude of data it provides access to.
Requirements:

Number of cells is automatically updated to reflect the number of primary cells in the corpus
Number of datasets is automatically updated to reflect the number of published datasets
Number of cell types is automatically updated to reflect the number of unique cell types observed in the corpus.
Updates happen at least once per week, or on publication of a new collection, whichever is slower.

@pablo-gar @atolopko-czi - are these numbers calculated on a regular basis for WMG?

@pablo-gar @atolopko-czi - are these numbers calculated on a regular basis for WMG?

The cell count, gene count, and dataset count (but not cell type count) will be calculated with this upcoming PR. However, these numbers will differ from the full corpus since there is some dataset filtering occurring for WMG specifically. Architecturally, I think we should have the dataset processing pipeline compute these values if they're needed for live reporting.

However, these numbers will differ from the full corpus since there is some dataset filtering occurring for WMG specifically.

Correct, so we shouldn't use the WMG numbers

Architecturally, I think we should have the dataset processing pipeline compute these values if they're needed for live reporting.

@ainfeld Does something like this for the dashboards, she may have some insights into this

It would be easy enough to add an incrementer in collection publication, although revision publications would require a bit more nuance.

The dataset count and primary cell count can be determined from the analytics system. The unique cell type count is more difficult to determine since this requires performing a set union operation across all dataset cells.  We have that data from the WMG pipeline, but it's explicitly filtered for WMG needs; however its cell type counts may be close enough.  Still, I would not suggest having an architecture that compiles stats from multiple subsystems.
This requirement is pushing us towards needing something like SOMA's full cell-based corpus. However, SOMA's TileDB backend is not efficient for full-corpus aggregation calculations, though it might be performant enough. This assumes a SOMA corpus is available when this story needs to be embarked upon. If not, I would start considering adding an intermediate cell-based corpus representation in Spark that would ultimately support WMG, analytics, and SOMA pipelines. As an added benefit, it would also support ad hoc SQL-based queries via Databricks notebooks (more conveniently than equivalent SOMA/TileDB queries).

I believe all of these should be in the (Data corpus dashboard). Would it be possible to use some parts of my ETL pipeline? My script checks every morning for new datasets added or updated.

Does your script manage:

Revisions - a published dataset is updated.
Deletions - a published dataset is deleted. This is an edge case because we have only deleted/withdrawn one published collection since the beginning of time.

Yep it deals with revisions and deletions. It had dealt with deletions before, but then for some reason I changed the merge, I've now reverted that change. It does confirm the number of unique collections and dataset ids from the API matches the number of unique collections and dataset ids from my data pull every morning.

I don't think analytics can provide distinct cell type counts across the corpus, but correct me if I'm wrong.

I may be misunderstanding cell type counts. Are we referring to the ontological metadata field? What my script does is import all of the cxg files, appends, and counts distinct cell types across all of the datasets.

I may be misunderstanding cell type counts. Are we referring to the ontological metadata field? What my script does is import all of the cxg files, appends, and counts distinct cell types across all of the datasets.

That's my understanding of the cell type count as well, and it sounds like analytics provides exactly what we need then! 🎉 I clearly didn't correctly grok the code wrt cell type count.

Per discussion in #single-cell-planning, Data Viz is now responsible for addressing this. The requirements must be updated to reflect the H2 focus on census numbers rather than corpus numbers.

@signechambers1 @dsadgat I've been manually updating these numbers on a weekly-basis. Should I transfer this responsibility to someone in DataViz now?

@pablo-gar not yet! thanks for updating, this ticket captures the work to automate the process. If you wouldn't mind doing it until someone on the team can pick it up that would be much appreciated.

Based on conversations with Pablo and Brian R, will move this to a P0 into the next sprint, this will take the work off Pablo as a manual task and into our automation process.
https://czi-sci.slack.com/archives/C03UGMKS0K0/p1690829684091969 - for reference.

Based on conversations with Pablo and Brian R, will move this to a P0 into the next sprint, this will take the work off Pablo as a manual task and into our automation process.
https://czi-sci.slack.com/archives/C03UGMKS0K0/p1690829684091969 - for reference.

@niknak33 @dsadgat Once an engineer is assigned, please loop me into the design discussions. One reason this hasn't been taken on earlier is that our current data architecture doesn't make it easy to generate these numbers. This issue was one of the motivations behind the Shared Integrated Corpus proposal.

@atolopko-czi I thought we were going to reuse the ETL amanda has already built?

@atolopko-czi I thought we were going to reuse the ETL amanda has already built?

I'm suggesting that it's a good time to just take another look at the existing system and assess if we improve as part of this effort, since we're adding a dependency onto a design that is not optimal (i.e. querying CXG files).

Here is the latest proposal on how to automate hero number updating. After syncing with @niknak33 and @metakuni , Solution 3 in the document is the preferred course of action moving forward:
https://docs.google.com/document/d/1UIw-nyNmRF6ob46WLOnxXhyT46J-jcEglzJ9bxGV2BU/edit#heading=h.98t25nypl0d1
Waiting for @atolopko-czi to return and review before executing.

Added comments to doc. I have architectural concerns about solution 3, in particular, but provided a revised idea. Also, I think we need to record in this document precisely how Product wants counts to be computed.


Removed line breaks

Removed excessive Line Breaks from templates as they are no longer needed, and raise the chances of being flagged spam.

Looks good, I'll merge it in.


give students a way to look at structures?

so far, the structures are 'anonymous' rows in a table.
if they had a way to visualize a structure from knowing their ID,  this would open a new avenue for asking questions about structure/property relationships.
how big would the archive of CIF files be?
An alternative would be to put the structures on some server and run a jsmol app that knows about their location and loads a structure when pass the ID via a URL parameter - just like here.
in that case, the notebook is, however, no longer self-contained.

Good idea, haven't looked at it due to lack of time. If I find the time, I will write some dashboard. Otherwise we can just the link to materials cloud, which should be in the exercise notes. (It is Pete's data).
I will certainly link to the interactive plots on Materials Cloud for the EDA part.
Many thanks for your time and input!

It is Pete's data

You mean this data?
https://www.materialscloud.org/discover/mofs
https://discover.materialscloud.org/mofs/detail?name=str_m2_o10_o28_pcu_sym.58&table=top_mofs
Then the solution already exists, you just need to have the structure name as a column in the data.

Indeed, the "MOFname" is already a column of the dataset. I added the link to Materials Cloud in https://github.com/kjappelbaum/ml_molsim2020/commit/1f881c5b4ccbe9b2a14cabce3ec5396f1f42024d.
Many thanks!

the "MOFname" is already a column of the dataset

I'm afraid it's not quite that simple - e.g. the first name is "ABEXEM_clean" while the names on materials cloud are of the form str_m2_o10_o28_pcu_sym.58
Might make sense to have another column with the names used there

I'll double check but there was an update in the dataset since you had a look at it.

ah sorry, it's fixed - very good!

just for the record, here is a python snippet to view a structure in the browser (we might not need it)
def view_structure(name):
    import webbrowser
    webbrowser.open(f'https://discover.materialscloud.org/mofs/detail?name={name}', new=2)
view_structure('str_m2_o10_o29_pcu_sym.69')

webbrowser is in the standard library - didn't know!


[Feature Request] Allow relative file paths and/or vscode variables.

It would be nice if you can move the project folder around and not have the paths break. Another use case would be that you will be able to commit the pinned-files.json to a repo and check it out in a different environment. Support for variables like ${workspaceFolder} would also be quite useful if you work with multi-root workspaces.

I am interested in this feature as well.


AzureRT S54 PR #1 - Compute Test Fix

@hyonholee

Hi @huangpf, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (phuang). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

retest this please

retest this please


Add lineLength option

Closes https://github.com/nebulab/erb-formatter-vscode/issues/3
Allows configuring the line length for the formatter. Defaults to 80.

Thanks! Sorry for taking this long to merge 🙌


replace eve/libs with eve-libs

Now that eve-libs is moved and up to date in its own repo, this should point to it. Most things already did point to a full path explicitly, rather than relative paths, so this (almost) completes it.
Unfortunately, it does not 100% complete it. pkg/edgeview depends both on pkg/pillar and eve/libs, specific versions (as it should). This means that we cannot update the eve/libs dep here until we can access the correct version of pillar. So only after this PR is in, can we update edgeview.
Also removes eve/libs from measure-config, as it was a manual replace line, and it has no dependency on it anyways.

@deitch Would you please try to move libs/* to lf-edge/eve-libs while preserving the git history? Something like described here but bit more complicated in our case. With the simple copy-paste we are loosing context and credits. I know that the latter is not particularly important, but I have put a lot of effort into reconciler and nettrace and would appreciate any effort to try to preserve the history. (or I can look into it if you are busy)

It seems that cmd/downloader/syncop.go and dpcmanager/dpcmanager_test.go need go fmt.

It seems that cmd/downloader/syncop.go and dpcmanager/dpcmanager_test.go need go fmt.

Fixed.

Superseded by #3378 which covers both eve/libs (which this does) and eve/api.


Addition or removal of specific tag values

Currently API allows a tag to be removed or for the array of values to be replaced.
It does not provide a way to append a tag value or remove one or more values from the existing list.

The proposed support for passing version as a precondition mechanism allows a Controller to avoid "mid-air edit collisions", so I'm not convinced there is sufficient motivation to support this feature.

Discussion during the meeting: The group is okay with the current approach:
Currently API allows a tag to be removed or for the array of values to be replaced.


Firewall: Log Files: Live View - simplify previous

Hi!
simplified version of Live View html special chars display support
(ref. https://github.com/opnsense/core/issues/5432#issuecomment-1003353407)
Thanks!

@kulikov-a thanks!

thanks!


Deprecate CentOS 7 Testing Farm

The team has decided to deprecate CentOS 7.
This pull request deprecate it.

[test]

[test]

The failure of 'CentOS 7' is expected. The playbook does not exist at all.


Roll Plugins from 5c11747ae143 to 8cfa2652c936 (4 revisions)

https://github.com/flutter/plugins/compare/5c11747ae143...8cfa2652c936
2022-11-03<EMAIL_ADDRESS>Roll Flutter from 0e98194681fd to e6300da2c39f (46 revisions) (flutter/plugins#6668)
2022-11-03<EMAIL_ADDRESS>Roll Flutter (stable) from 6928314d505d to e99c9c7cd9f6 (2 revisions) (flutter/plugins#6667)
2022-11-03<EMAIL_ADDRESS>[video_player]add integration test for inverted aspect ratio bug (flutter/plugins#6662)
2022-11-02<EMAIL_ADDRESS>[ci]Temporarily disable starqlteue on firebase device lab (flutter/plugins#6657)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-plugins-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Customer Info tab on /app/sales-invoice

Goal🎯

Do data aggregation (get and calculate data correctly).
Create 'Past Order' table in Customer tab on Sales invoice doctype.

Explaination
This table shows 'past PAID sales invoice.
it have 3 column, 'Name', 'item quantity' and 'amount'
// Skip 'point customer get' column at this moment.

1st section completed.✅
only Past Order table not complete.

Getting the customer group to the customer info tab.
(Customer field was hidden by me because it's not working.)

Approved✅

Please continue create "past 'PAID' sales invoice table"
(check 'Explanation' in 1st comment for detail of this table)

Information in customer info will be latest data at current time and will not be updated anymore after save.

Table will show maximum last 5 paid orders.

2.✅

Past order table shows only 5 orders even have >5 paid orders✅


Add support for Jordanian IBAN numbers.

Adds the Jordanian BBAN format as per http://www.swift.com/dsp/resources/documents/IBAN_Registry.pdf effective as of 02 February 2014.

Marc Wrobel » jbanking #29 FAILURE
Looks like there's a problem with this pull request
(what's this?)

For the record, the two failing tests reference an external resource listing country codes which is now returning a 404. They fail both before and after this pull request.

Marc Wrobel » jbanking #30 SUCCESS
This pull request looks good
(what's this?)


Revert "MutableDictionaryArray rewrite: use values stored in the array instead of the hash->hash map"

Reverts jorgecarleitao/arrow2#1555
This added a lot of unsafe code that I don't think we need (and miri is not happy). I put this revert ready to get the discussion going.

@sundy-li There is an open 'fix the unsafe part only and keep the rest' PR... https://github.com/jorgecarleitao/arrow2/pull/1561


[Tables] Delete Entity Returning Unauthorized, Query Entities Not

Package Name:  azure-data-tables (reproducable in azure-cosmosdb-tables)
Package Version: 12.0.0b3
Operating System: Windows 10
Python Version: 3.8.6

Describe the bug
After creating a TableClient from azure.data.tables.aio, a call to table_client.query_entities is successful. Just a few lines later, a call to table_client.delete_entity is not, and returns a ClientAutheniticationError: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
I've tried this with azure.cosmosdb.table as well: Using similar calls, the query call is successful, but the delete call returns an AzureSigningError: Incorrect padding.
I have verified that the key is 88 characters long, ends with ==, and is DIRECTLY copied from the storage account in question. It obviously works for the query_entities call.
To Reproduce
Steps to reproduce the behavior:

Create an Azure Storage Account, add a table to it, and name the table "Locator". Add a few entities with a column called LocatorHash, with any string value you like.
Run the following code:

    from azure.data.tables.aio import TableClient
    from azure.core import MatchingConditions

    table_name = 'Locator'
    email_hash = '...' #Can be any string value contained in the LocatorHash column
    table_client = TableClient(account_url='https://<YOURACCOUNTNAME>.table.core.windows.net', table_name=table_name, credential=os.environ['STORAGE_ACCOUNT_ACCESS_KEY'])
    async with table_client:
        locator_entities = table_client.query_entities(filter=f"LocatorHash eq '{email_hash}'")
        coroutines = []
        async for locator_entity in locator_entities:
            logging.info(f"Deleting record: {locator_entity}")
            # error occurs on this line
            await table_client.delete_entity(row_key=locator_entity['RowKey'], partition_key=locator_entity['PartitionKey'], etag=locator_entity['_metadata']['etag'], match_condition=MatchConditions.Unconditionally)

Expected behavior
Entities are deleted rather than receiving an AuthError.
Screenshots
When using azure.data.tables.aio

When using azure.cosmosdb.table -- note, had to edit code to be synchronous

Thanks @sejohnson-at-griffis - Could you please try removing the etag and match_condition parameters from the delete call? Unconditionally is the default behaviour, so it should work as expected.
I have a suspicion this error is because the etag value is not a valid combination with Unconditionally - and rather than catching it we maybe sending the extra header to the service and causing request signing issues....

Thanks @sejohnson-at-griffis - Could you please try removing the etag and match_condition parameters from the delete call? Unconditionally is the default behaviour, so it should work as expected.
I have a suspicion this error is because the etag value is not a valid combination with Unconditionally - and rather than catching it we maybe sending the extra header to the service and causing request signing issues....

Hey there,
Thanks for the suggestion. Unfortunately, same error. I've actually tried just about every combination of those parameters I can think of... and I can't think of a reason the etag would cause an auth error anyway, as it's not part of the auth header in the first place, right?
I'm also struggling to find the actual documentation for this library anywhere. All I can find is a brief one-page document.

I tried using a batched execution mode as well (code will follow). The code here actually completes execution successfully... but does not delete the entities from the table! (????) Is it just pretending to delete them and calling it a day?
Notes:
I have to build a list out of the return from query_entities because query_entities returns an "AsyncItemPaged", which I cannot filter or iterate over except with an async for loop.
Build a set (distinct list) of PartitionKeys (as batches can only cover one PartitionKey at a time).
For each PartitionKey in this batch, delete the entities belonging to it.
async with table_client:
        # try:
        locator_entities = table_client.query_entities(filter=f"LocatorHash eq '{email_hash}'")
        locator_entity_list = []
        async for locator_entity in locator_entities:
            locator_entity_list.append(locator_entity)
        for key in { entity['PartitionKey'] for entity in locator_entity_list }:
            batch = table_client.create_batch()
            for locator_entity in filter(lambda x: x['PartitionKey'] == key, locator_entity_list):
                delete_entity = {}
                delete_entity['row_key'] = locator_entity['RowKey']
                delete_entity['partition_key'] = locator_entity['PartitionKey']
                batch.delete_entity(row_key=locator_entity['RowKey'], partition_key=locator_entity['PartitionKey'])
            table_client.send_batch(batch)

Here is the documentation for the async library: https://docs.microsoft.com/en-us/python/api/azure-data-tables/azure.data.tables.aio.tableclient?view=azure-python-preview
Here is the documentation for the sync library: https://docs.microsoft.com/en-us/python/api/azure-data-tables/azure.data.tables?view=azure-python-preview
I worked with your initial code and I was able to confirm that deletes were happening. Here is the full snippet that I was able to get working:
from azure.data.tables.aio import TableClient
from azure.core import MatchConditions
from azure.core.exceptions import ResourceExistsError
import random, string, asyncio, logging

def random_string(N=50):
    return ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(N))

async def delete_entities():
    base_entity = {
        "PartitionKey": "pk001",
        "RowKey": "rk000",
        "LocatorHash": ""
    }

    table_name = 'Locator'
    email_hash = "" #Can be any string value contained in the LocatorHash column
    table_client = TableClient(account_url=f'https://{account_name}.table.core.windows.net', table_name=table_name, credential=credential)
    try:
        await table_client.create_table()
    except ResourceExistsError:
        pass

    for i in range(25):
        try:
            new_entity = base_entity.copy()
            new_entity["LocatorHash"] = random_string()
            new_entity["RowKey"] += str(i)
            await table_client.upsert_entity(new_entity)
            email_hash = new_entity["LocatorHash"]
        except ResourceExistsError:
            pass

    async with table_client:
        f = f"LocatorHash eq '{email_hash}'"
        locator_entities = table_client.query_entities(filter=f)

        async for locator_entity in locator_entities:
            print(f"Deleting record: {locator_entity['PartitionKey']}, {locator_entity['RowKey']}")
            # error occurs on this line
            await table_client.delete_entity(row_key=locator_entity['RowKey'], partition_key=locator_entity['PartitionKey'], etag=locator_entity['_metadata']['etag'], match_condition=MatchConditions.Unconditionally)

async def main():
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(asyncio.new_event_loop())
    loop = asyncio.get_event_loop()
    loop.run_until_complete(await delete_entities())

if __name__ == "__main__":
    asyncio.run(delete_entities())

It's possible I'm misunderstanding this code, in which case please clarify for me. Otherwise, this code is functional and I was able to confirm in the Storage Explorer that the last inserted entity was then deleted.

In addition @sejohnson-at-griffis can you confirm the environment variable is correctly stored? I've accidentally stored env vars with quotes around them and that will cause issues on authentication.

batch.delete_entity(row_key=locator_entity['RowKey'], partition_key=locator_entity['PartitionKey'])
table_client.send_batch(batch)

@sejohnson-at-griffis In this last line the send_batch needs an await before it, that is likely the reason the async batching was not working either.

@seankane-msft
Looks like adding the "await" operator to the batch call worked -- the records were successfully deleted. I'd prefer not to have to use the acrobatics required to group the query return into a set of partition keys, but I still can't get the original method (the same one you used) to work. Not sure why. Obviously my key/environment variable is working correctly if I can use the batch calls...
I've even directly copied your code from async with table_client down to the delete call. Same error. Notably, the error still doesn't occur until the delete call -- the query completes successfully.

It looks like this code is running within an Azure Functions library, if that is correct could this possible be an issue with the Azure Functions code itself? Without being able to reproduce the issue it is difficult for me to assist with debugging. I concur that the issue is unlikely to be with the key because your query call is working as intended.

You're correct, it is running in an Azure Function. However, I'm not sure why that would cause the issue, unless the Function is modifying the HTTP headers on the way out... and it doing that to only the delete call seems unlikely. I also tried directly copying your code from above into a plain 'ol .py file and running it... but I'm getting a RuntimeError('Event loop is closed') when it hits the async with table_client line. Could this be a Windows issue?

Hi @sejohnson-at-griffis - could you give us an example of what a typical row key and partition key look like for the entities you're trying to delete? e.g. any special characters, formatting, length etc.
I'm wondering if there might be a bug in the auth request signing, which uses this information to form the auth header....

@annatisch
Sure.
The PartitonKey is just a simple string -- there are only a dozen or so. I can't provide an exact value (business-specific stuff), but "A Simple String" is a perfect example. All alpha, no numbers, no special characters. Guaranteed. The RowKey is an email address<EMAIL_ADDRESS>The only other column here is the Hash column, which is an alphanumeric string. (It's a SHA256 hash in X2 format.)
Interesting additional information: I tried going to full manual route yesterday: REST API. I manually signed the requests and tried sending them over both aiohttp (async) and requests. Same result! Using manual signing, I could get the query to work, but the delete would return a 403 with the same header.

Thanks @sejohnson-at-griffis!
That's very interesting! Is it possible that you have authorization for querying but not deleting of entities? Though I don't recall that you can get that kind of granularity with an account key (account owner) as opposed to a SAS token.... as the docs say:
This operation can be performed by the account owner and by anyone with a shared access signature that has permission to perform this operation.

We can re-test using similar values as you to keep trying to repro... is this the guide you used to implement your manual request signing?
https://docs.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key

@annatisch
That is correct -- I used the Shared Key Lite format. A couple of other details:
I'm running this code in a local Azure Functions dev environment. It's running on the Python 3.8.6 stack. It's a HTTP-triggered function, which I'm using Insomnia to trigger. I'm on Windows 10 Build 18363 (I am currently blocked from upgrading due to the NVMe SSD issues). It might be worth spinning up a local Azure Function to see if it's an issue with the Azure Functions runtime, though that does seem unlikely...
I thought about it possibly being an access level issue, but that seems to have been dispelled -- obviously, I can delete records through the async batch method, so unless there's a bug with the permissioning of specifically the non-batch method, I don't think that's it...

Hi @sejohnson-at-griffis - are you able to confirm whether the delete operation fails for every entity - or maybe just one is raising the error? I'm wondering if one of the email address has an interesting character in it that's preventing the rest from deleting.
For example, if you wrap the delete operation in a try/except - do any of the deletes complete successfully?
We had a bug in the blobs SDK where operations on a blob name with an "=" character in them were failing authentication exclusively on the async pipeline - which definitely has familiar symptoms to what we're seeing here.
Alternatively - if it is consistent for every entity - I wonder if it's in the urlencoding of the "@" character in the email addresses.
@seankane-msft - could you re-run your test using a random<EMAIL_ADDRESS>email address to make sure those characters are encoding correctly for both the URL and the auth signing?

Hey @annatisch - As far as I can tell, it's failing for every delete, but I'm only really testing with my own email address<EMAIL_ADDRESS>I can just about guarantee the PartitionKey isn't causing the issue, as those values are the simplest of simple strings -- just alphas and spaces. Additionally, the way I was originally doing this had a try/catch wrapped around the delete calls. When I ran it, I never got a delete to work correctly -- meaning either I was just incredibly (un?)lucky and it failed on just the first one each time, or it was failing on everything. Either way, it does seem that the email address row key is the only common denominator, especially given that it fails on REST as well.
As for the URL encoding, that's definitely a possibility... I think the only request that gets an email passed to it is the delete request, so that could explain why only that one is failing. I wonder if get_entity would fail if passed an email with an "@" in it? Let me see if I can make some time today to poke around.

@sejohnson-at-griffis I was able to confirm what @annatisch hypothesized. Changing my RowKey to be<EMAIL_ADDRESS>would fail on a delete. It also fails on a upsert_entity call, but will succeed on a create_entity.

Awesome @seankane-msft - we're making progress!
Let's add a test for this in the test suite and start focusing on this method:
https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/tables/azure-data-tables/azure/data/tables/_authentication.py#L59
And this method:
https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/tables/azure-data-tables/azure/data/tables/_table_client_base.py#L64
Which I would suspect are the two most likely sources of missing urlencoding (or double urlencoding maybe?).

@sejohnson-at-griffis I have a fix out on PR #15813 , hopefully we can get this resolved soon. This bug fix will go out with the GA release, which is being planned for early next year.

Thanks @seankane-msft and @annatisch! At least we've got the batch workaround until it goes through. Appreciate the hard work!

@sejohnson-at-griffis good news, I was able to fix this issue and get it merged in this morning. Thank you again for reporting and for your patience while we fixed it up. This will go out with our GA release early next year. If you have no other questions, I will close this issue tomorrow. Otherwise, let me know


chore: merge various fixes to release/1.0

fix: trace errno in lvol destroy error message
Also return verbose errors in the grpc status for the catch all internal errors.


Supported task execution handler not found

I tried VSTS Build and Release tasks for GitHub on a Hosted Linux build agent and I get this error:
Supported task execution handler not found. Supported handlers: Node

Yes, the task is currently written in Powershell so it's only supported in Windows agent unfortunately.


Schema Creator plugin conflict with Piwik

We are unable to load raven schema creator and Piwik on a number of sites without conflict and causes Piwik to not connect to server.
Tried loading Piwik in header but still not working.
Other suggestions?

Not aware of a particular conflict between the two plugins. Can you see if there is an error in your JavaScript console? I'm presuming disabling the Schema Creator plugin allows Pikwik to continue working?


Can't parse HashMap

this is an example of toml
[tasks.a]
cmd = "echo 123"

[tasks.b]
cmd = "echo 123"

I need a possible way to parse this tasks, I can't predict the keys
Thank you

This is a good point!
Arbitrary HashMaps are not supported yet, e.g. HashMap(string, MyValueType...). I do not know yet how to map toml.Value to any possible MyValueType. I'm open to suggestions.
I have just pushed a commit that enables structs to have a field of type toml.Table. Here is an example from the tests.

I was researching how the json parser works and I really liked the approach how it was done in the kernel
here you can find an example of how to use
https://github.com/ziglang/zig/blob/master/lib/std/json/hashmap_test.zig
and here is exactly how it checks what the hashmap should be
https://github.com/ziglang/zig/blob/master/lib/std/json/static.zig#L321-L323
the main idea is that it checks whether the structure has a key function (jsonParse) and if so, simply passes it the parameters
I'm not one hundred percent sure yet, but with a quick glance, it seemed that if you wrote your own scanner, and you can pass it to json functions and most of the code from this library will simply disappear

Thanks for pointing me to the "official" json parser. 👍 I see they changed quite a bit. I will look into.

Finally implemented.
@sirenkovladd Thanks again for the helpful links! The implementation was simpler than I initially thought.


Facebook videos links are not working

I tried to download facebook videos but it returns me empty data I tried many URLs like
https://www.facebook.com/share/v/19UieetVp8/
https://www.facebook.com/share/v/15aC776rea/
https://www.facebook.com/share/r/rJEHKfbLVXbUQYaf/?mibextid=D5vuiz

Can you please provide more details? What platform do you use, and what error do you get? I tried using the URLs you gave me, and that worked.

Hi, hope this , e-mail finds you well, basically I'm using your package to
download Facebook videos using the Facebook videos URL in my Flutter app
but when I pass the URL and press get link button after loading for 5 to 6
sec I get a response like video not found.
this is my function
Future getVideoLink(String url) async {
try {
var directLink = DirectLink();
var data = await directLink.check(url).timeout(Duration(seconds: 30));
if (data != null && data.links != null && data.links!.isNotEmpty) {
  setState(() {
    videoLink = data.links!.first.link;
  });

  print("direct link of facebook video link $videoLink");
  print("direct link of facebook video title ${data.title}");
  print("direct link of facebook video duration ${data.duration}");
  print("direct link of facebook video thumbnail ${data.thumbnail}");
  for (var e in data.links!) {
    print(e.type);
    print(e.quality);
    print('-' * 20);
  }

  showModalBottomSheet(
    context: context,
    isScrollControlled: true,
    shape: RoundedRectangleBorder(
      borderRadius: BorderRadius.vertical(top: Radius.circular(20)),
    ),
    builder: (context) => downloadVideoBottomSheet(
        context,
        data.thumbnail ??

"https://as2.ftcdn.net/v2/jpg/02/51/95/53/1000_F_251955356_FAQH0U1y1TZw3ZcdPGybwUkH90a3VAhb.jpg",
data.title ?? "video",
videoLinks: data.links),
).then((_) {
pasteLink.clear();
Clipboard.setData(ClipboardData(text: ''));
});
} else {
print("No direct link found or unsupported website.");
}
} catch (e) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text("Request timed out. Please try again.")),
);
print("Error fetching video link: $e");
} finally {
setState(() {
isLoading = false; // Ensure loading is stopped
});
}
}
I get this No direct link found or unsupported website.
On Tue, 19 Nov 2024 at 17:10, Thit Lwin @.***> wrote:

Can you please provide more details? What platform do you use, and what
error do you get? I tried using the URLs you gave me, and that worked.
—
Reply to this email directly, view it on GitHub
https://github.com/thitlwincoder/direct_link/issues/25#issuecomment-2485474624,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVVI2LIHRX6QCOZ7KWHP6RT2BMTDLAVCNFSM6AAAAABSBE3WA6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBVGQ3TINRSGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

I just tested with an example code. This is my result.
https://github.com/user-attachments/assets/c630093d-4708-44de-860f-edf0a3768bdc

Can you please share your example code ?
On Wed, Nov 20, 2024, 5:15 PM Thit Lwin @.***> wrote:

I just tested with an example code. This is my result.
https://github.com/user-attachments/assets/c630093d-4708-44de-860f-edf0a3768bdc
—
Reply to this email directly, view it on GitHub
https://github.com/thitlwincoder/direct_link/issues/25#issuecomment-2488428495,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVVI2LMXL2ZXOV3SYFLR3PT2BR4NJAVCNFSM6AAAAABSBE3WA6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBYGQZDQNBZGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Sure. I just call with
DirectLink().check('url');

You can also see the github example project. I recommend testing with this example project.

it works for Facebook public video only, is there any way to download
private videos also
On Thu, 21 Nov 2024 at 07:45, Thit Lwin @.***> wrote:

Sure. I just call with
DirectLink().check('url');
You can also see the github example project. I recommend testing with this
example project.
—
Reply to this email directly, view it on GitHub
https://github.com/thitlwincoder/direct_link/issues/25#issuecomment-2489952264,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVVI2LNWHGFF563OQUGGBUT2BVCLHAVCNFSM6AAAAABSBE3WA6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBZHE2TEMRWGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

If you want to download private videos, we have a way of scraping them, but they can't be used directly. a better way is to use with webview.