text:
[Bug]: assert len(indices) == len(inputs) with Qwen/Qwen2-VL-2B-Instruct

Your current environment

The output of `python collect_env.py`
Collecting environment information...
WARNING 10-07 17:28:06 cuda.py:76] Detected different devices in the system:
WARNING 10-07 17:28:06 cuda.py:76] NVIDIA A100-SXM4-80GB
WARNING 10-07 17:28:06 cuda.py:76] NVIDIA A100-SXM4-80GB
WARNING 10-07 17:28:06 cuda.py:76] NVIDIA A100-SXM4-80GB
WARNING 10-07 17:28:06 cuda.py:76] NVIDIA DGX Display
WARNING 10-07 17:28:06 cuda.py:76] NVIDIA A100-SXM4-80GB
WARNING 10-07 17:28:06 cuda.py:76] Please make sure to set `CUDA_DEVICE_ORDER=PCI_BUS_ID` to avoid unexpected behavior.
PyTorch version: 2.4.0+cu121
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A

OS: Ubuntu 20.04.6 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
Clang version: 10.0.0-4ubuntu1
CMake version: version 3.27.0
Libc version: glibc-2.31

Python version: 3.10.12 (main, Jul 17 2023, 11:18:22) [GCC 9.4.0] (64-bit runtime)
Python platform: Linux-5.4.0-166-generic-x86_64-with-glibc2.31
Is CUDA available: True
CUDA runtime version: 12.3.52
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration:
GPU 0: NVIDIA A100-SXM4-80GB
GPU 1: NVIDIA A100-SXM4-80GB
GPU 2: NVIDIA A100-SXM4-80GB
GPU 3: NVIDIA DGX Display
GPU 4: NVIDIA A100-SXM4-80GB

Nvidia driver version: 535.129.03
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                       x86_64
CPU op-mode(s):                     32-bit, 64-bit
Byte Order:                         Little Endian
Address sizes:                      43 bits physical, 48 bits virtual
CPU(s):                             128
On-line CPU(s) list:                0-127
Thread(s) per core:                 2
Core(s) per socket:                 64
Socket(s):                          1
NUMA node(s):                       1
Vendor ID:                          AuthenticAMD
CPU family:                         23
Model:                              49
Model name:                         AMD EPYC 7742 64-Core Processor
Stepping:                           0
Frequency boost:                    enabled
CPU MHz:                            2608.221
CPU max MHz:                        2250,0000
CPU min MHz:                        1500,0000
BogoMIPS:                           4491.62
Virtualization:                     AMD-V
L1d cache:                          2 MiB
L1i cache:                          2 MiB
L2 cache:                           32 MiB
L3 cache:                           256 MiB
NUMA node0 CPU(s):                  0-127
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit:        Not affected
Vulnerability L1tf:                 Not affected
Vulnerability Mds:                  Not affected
Vulnerability Meltdown:             Not affected
Vulnerability Mmio stale data:      Not affected
Vulnerability Retbleed:             Vulnerable
Vulnerability Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:           Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:           Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:                Not affected
Vulnerability Tsx async abort:      Not affected
Flags:                              fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca sme sev sev_es

Versions of relevant libraries:
[pip3] numpy==1.26.4
[pip3] nvidia-cublas-cu12==12.1.3.1
[pip3] nvidia-cuda-cupti-cu12==12.1.105
[pip3] nvidia-cuda-nvrtc-cu12==12.1.105
[pip3] nvidia-cuda-runtime-cu12==12.1.105
[pip3] nvidia-cudnn-cu12==9.1.0.70
[pip3] nvidia-cufft-cu12==11.0.2.54
[pip3] nvidia-curand-cu12==10.3.2.106
[pip3] nvidia-cusolver-cu12==11.4.5.107
[pip3] nvidia-cusparse-cu12==12.1.0.106
[pip3] nvidia-ml-py==12.560.30
[pip3] nvidia-nccl-cu12==2.20.5
[pip3] nvidia-nvjitlink-cu12==12.6.77
[pip3] nvidia-nvtx-cu12==12.1.105
[pip3] pyzmq==26.2.0
[pip3] torch==2.4.0
[pip3] torchvision==0.19.0
[pip3] transformers==4.45.1
[pip3] triton==3.0.0
[conda] Could not collect
ROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: 0.6.3.dev116+g151ef4ef
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0	GPU1	GPU2	GPU3	GPU4	CPU Affinity	NUMA Affinity	GPU NUMA ID
GPU0	 X 	NV4	NV4	SYS	NV4	0-127	0		N/A
GPU1	NV4	 X 	NV4	SYS	NV4	0-127	0		N/A
GPU2	NV4	NV4	 X 	SYS	NV4	0-127	0		N/A
GPU3	SYS	SYS	SYS	 X 	PHB	0-127	0		N/A
GPU4	NV4	NV4	NV4	PHB	 X 	0-127	0		N/A

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

Model Input Dumps
No response
🐛 Describe the bug
Trying to run:
from vllm import LLM, SamplingParams
from PIL import Image

if __name__ == "__main__":
    vllm_engine = LLM("Qwen/Qwen2-VL-2B-Instruct")
    sampling_params = SamplingParams(max_tokens=120)

    prompt = "Describe this image."
    vllm_inputs = [{"prompt": prompt, "multi_modal_data": {"image": Image.new("RGB", (224, 224))}} for _ in range(4)]
    outputs = vllm_engine.generate(vllm_inputs, sampling_params)
    print(outputs)

Leads to:
[rank0]: Traceback (most recent call last):
[rank0]:   File "/home/sayak/diffusers/check_video_vllm.py", line 23, in <module>
[rank0]:     outputs = vllm_engine.generate(vllm_inputs, sampling_params)
[rank0]:   File "/home/sayak/vllm/vllm/utils.py", line 1060, in inner
[rank0]:     return fn(*args, **kwargs)
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/llm.py", line 376, in generate
[rank0]:     self._validate_and_add_requests(
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/llm.py", line 831, in _validate_and_add_requests
[rank0]:     self._add_request(
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/llm.py", line 849, in _add_request
[rank0]:     self.llm_engine.add_request(
[rank0]:   File "/home/sayak/vllm/vllm/utils.py", line 1060, in inner
[rank0]:     return fn(*args, **kwargs)
[rank0]:   File "/home/sayak/vllm/vllm/engine/llm_engine.py", line 812, in add_request
[rank0]:     processed_inputs = self.input_processor(preprocessed_inputs)
[rank0]:   File "/home/sayak/vllm/vllm/inputs/registry.py", line 299, in process_input
[rank0]:     return processor(InputContext(model_config), inputs,
[rank0]:   File "/home/sayak/vllm/vllm/model_executor/models/qwen2_vl.py", line 857, in input_processor_for_qwen2_vl
[rank0]:     prompt_token_ids = _expand_pad_tokens(image_inputs,
[rank0]:   File "/home/sayak/vllm/vllm/model_executor/models/qwen2_vl.py", line 780, in _expand_pad_tokens
[rank0]:     assert len(indices) == len(inputs)
[rank0]: AssertionError

Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

You should follow the prompt template as shown in their HuggingFace repo. The easiest way is to use LLM.chat method so you don't have to manually apply the chat template.

If I were to use LLM.chat() interface, how should I use multi_modal_data()?

Please read the examples on their HuggingFace repo. The format of messages in LLM.chat is the same as theirs.

Modified my code:
from vllm import LLM, SamplingParams
from PIL import Image

if __name__ == "__main__":
    vllm_engine = LLM("Qwen/Qwen2-VL-2B-Instruct")
    sampling_params = SamplingParams(max_tokens=120)

    num_images = 3
    messages = [{"role": "user", "content": []}]
    for _ in range(num_images):
        new_image = {"type": "image", "image": Image.new("RGB", (224, 224))}
        messages[0]["content"].append(new_image)

    messages[0]["content"].append({"type": "text", "text": "Describe this image."})

    outputs = vllm_engine.chat(messages, sampling_params)
    print(outputs)

Now it leads to:
[rank0]: Traceback (most recent call last):
[rank0]:   File "/home/sayak/diffusers/check_video_vllm.py", line 32, in <module>
[rank0]:     outputs = vllm_engine.chat(messages, sampling_params)
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/llm.py", line 556, in chat
[rank0]:     conversation, mm_data = parse_chat_messages(
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 487, in parse_chat_messages
[rank0]:     sub_messages = _parse_chat_message_content(msg, mm_tracker)
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 440, in _parse_chat_message_content
[rank0]:     result = _parse_chat_message_content_parts(
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 402, in _parse_chat_message_content_parts
[rank0]:     raise NotImplementedError(f"Unknown part type: {part_type}")
[rank0]: NotImplementedError: Unknown part type: image

    for _ in range(num_images):
        new_image = {"type": "image", "image": Image.new("RGB", (224, 224))}
        messages[0]["content"].append(new_image)

You should pass an image_url in the form of HTTP URL or base64 URL. This is similar to OpenAI API.

Alright.
I will try that and report here but I think https://github.com/vllm-project/vllm/issues/9128#issuecomment-2397376788 is misleading then. I did follow the exact "messages" formatting.

You should follow the prompt template as shown on their HuggingFace repo. The easiest way is to use LLM.chat method so you don't have to manually apply the chat template.

Sorry, I missed the slight difference in the image format. Hope that everything is cleared up now!

I tested Qwen2-VL-7B-Instruct work fine, but tested Qwen2-VL-72B-Instruct-GPTQ-Int4 error!

I tested Qwen2-VL-2B-Instruct working well!

I tested Qwen2-VL-7B-Instruct work fine, but tested Qwen2-VL-72B-Instruct-GPTQ-Int4 error!

Can you check whether both repos have a correctly defined chat template?

With
def encode_image(image):
    buffered = io.BytesIO()
    image.save(buffered, format="JPEG")
    image_bytes = buffered.getvalue()
    return base64.b64encode(image_bytes).decode("utf-8")

num_images = 3
messages = [{"role": "user", "content": []}]
for _ in range(num_images):
    base64_image = encode_image(Image.new("RGB", (224, 224)))
    new_image = {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}}
    messages[0]["content"].append(new_image)

messages[0]["content"].append({"type": "text", "text": "Describe this image."})

I get:
[rank0]: Traceback (most recent call last):
[rank0]:   File "/home/sayak/diffusers/check_video_vllm.py", line 41, in <module>
[rank0]:     outputs = vllm_engine.chat(messages, sampling_params)
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/llm.py", line 556, in chat
[rank0]:     conversation, mm_data = parse_chat_messages(
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 487, in parse_chat_messages
[rank0]:     sub_messages = _parse_chat_message_content(msg, mm_tracker)
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 440, in _parse_chat_message_content
[rank0]:     result = _parse_chat_message_content_parts(
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 392, in _parse_chat_message_content_parts
[rank0]:     mm_parser.parse_image(image_url["url"])
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 276, in parse_image
[rank0]:     placeholder = self._tracker.add("image", image)
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 205, in add
[rank0]:     raise ValueError(
[rank0]: ValueError: At most 1 image(s) may be provided in one request.

What am I missing out on?

With
def encode_image(image):
    buffered = io.BytesIO()
    image.save(buffered, format="JPEG")
    image_bytes = buffered.getvalue()
    return base64.b64encode(image_bytes).decode("utf-8")

num_images = 3
messages = [{"role": "user", "content": []}]
for _ in range(num_images):
    base64_image = encode_image(Image.new("RGB", (224, 224)))
    new_image = {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}}
    messages[0]["content"].append(new_image)

messages[0]["content"].append({"type": "text", "text": "Describe this image."})

I get:
[rank0]: Traceback (most recent call last):
[rank0]:   File "/home/sayak/diffusers/check_video_vllm.py", line 41, in <module>
[rank0]:     outputs = vllm_engine.chat(messages, sampling_params)
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/llm.py", line 556, in chat
[rank0]:     conversation, mm_data = parse_chat_messages(
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 487, in parse_chat_messages
[rank0]:     sub_messages = _parse_chat_message_content(msg, mm_tracker)
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 440, in _parse_chat_message_content
[rank0]:     result = _parse_chat_message_content_parts(
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 392, in _parse_chat_message_content_parts
[rank0]:     mm_parser.parse_image(image_url["url"])
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 276, in parse_image
[rank0]:     placeholder = self._tracker.add("image", image)
[rank0]:   File "/home/sayak/vllm/vllm/entrypoints/chat_utils.py", line 205, in add
[rank0]:     raise ValueError(
[rank0]: ValueError: At most 1 image(s) may be provided in one request.

What am I missing out on?

Please check our docs on using VLMs. There is a section on how to input multiple images per prompt.

I am following https://docs.vllm.ai/en/stable/models/vlm.html and I am still really not sure what I am missing out here. A bit more specificity in your replies would be appreciated.

I am following https://docs.vllm.ai/en/stable/models/vlm.html and I am still really not sure what I am missing out here. A bit more specificity in your replies would be appreciated.

You need to set limit_mm_per_prompt, as shown here

Thanks!
This is my full example and it works:
from vllm import LLM, SamplingParams
from decord import VideoReader, cpu
from PIL import Image
import base64
import io
from huggingface_hub import hf_hub_download

NUM_MAX_FRAMES = 4

def encode_image(image):
    buffered = io.BytesIO()
    image.save(buffered, format="JPEG")
    image_bytes = buffered.getvalue()
    return base64.b64encode(image_bytes).decode("utf-8")

def load_video(num_max_frames=4):
    video_filepath = hf_hub_download(
        repo_id="huggingface/documentation-images", repo_type="dataset", filename="diffusers/hiker.mp4"
    )
    vr = VideoReader(video_filepath, ctx=cpu(0))
    video_frames = [Image.fromarray(vr[i].asnumpy()) for i in range(len(vr))][:num_max_frames]
    return video_frames

if __name__ == "__main__":
    # Use a limit of 4 frames.
    vllm_engine = LLM("Qwen/Qwen2-VL-2B-Instruct", limit_mm_per_prompt={"image": NUM_MAX_FRAMES})
    sampling_params = SamplingParams(max_tokens=120)

    # Video.
    video_frames = load_video(num_max_frames=NUM_MAX_FRAMES)
    messages = [{"role": "user", "content": []}]
    messages[0]["content"].append({"type": "text", "text": "Describe this set of frames. Consider the frames to be a part of the same video."})
    for i in range(len(video_frames)):
        base64_image = encode_image(video_frames[i])
        new_image = {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}}
        messages[0]["content"].append(new_image)

    outputs = vllm_engine.chat(messages, sampling_params)
    with open("qwen.txt", "w") as f:
        print(outputs, file=f)

The script shows inferencing on videos. Do you think it could be made a part of the docs?

Thanks!
This is my full example and it works:
from vllm import LLM, SamplingParams
from decord import VideoReader, cpu
from PIL import Image
import base64
import io
from huggingface_hub import hf_hub_download

NUM_MAX_FRAMES = 4

def encode_image(image):
    buffered = io.BytesIO()
    image.save(buffered, format="JPEG")
    image_bytes = buffered.getvalue()
    return base64.b64encode(image_bytes).decode("utf-8")

def load_video(num_max_frames=4):
    video_filepath = hf_hub_download(
        repo_id="huggingface/documentation-images", repo_type="dataset", filename="diffusers/hiker.mp4"
    )
    vr = VideoReader(video_filepath, ctx=cpu(0))
    video_frames = [Image.fromarray(vr[i].asnumpy()) for i in range(len(vr))][:num_max_frames]
    return video_frames

if __name__ == "__main__":
    # Use a limit of 4 frames.
    vllm_engine = LLM("Qwen/Qwen2-VL-2B-Instruct", limit_mm_per_prompt={"image": NUM_MAX_FRAMES})
    sampling_params = SamplingParams(max_tokens=120)

    # Video.
    video_frames = load_video(num_max_frames=NUM_MAX_FRAMES)
    messages = [{"role": "user", "content": []}]
    messages[0]["content"].append({"type": "text", "text": "Describe this set of frames. Consider the frames to be a part of the same video."})
    for i in range(len(video_frames)):
        base64_image = encode_image(video_frames[i])
        new_image = {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}}
        messages[0]["content"].append(new_image)

    outputs = vllm_engine.chat(messages, sampling_params)
    with open("qwen.txt", "w") as f:
        print(outputs, file=f)

The script shows inferencing on videos. Do you think it could be made a part of the docs?

Feel free to open a PR. Do note however that this case is still technically multi-image input (we have different API for single-video and multi-video input, and currently it is limited to offline inference only unlike multi-image case)

Sure!
Do you have a link to the documentation where you think this would be the most suitable? I think we could include this example in https://docs.vllm.ai/en/latest/models/vlm.html#multi-image-input it self. WDYT?

we have different API for single-video and multi-video input, and currently it is limited to offline inference only, unlike multi-image case)

Do you have a link for me to look further?

Do you have a link to the documentation where you think this would be the most suitable? I think we could include this example in https://docs.vllm.ai/en/latest/models/vlm.html#multi-image-input it self. WDYT?

Yes, that sounds good.

we have different API for single-video and multi-video input, and currently it is limited to offline inference only, unlike multi-image case)

Do you have a link for me to look further?

See #7558

@DarkLight1337 https://github.com/vllm-project/vllm/pull/9155.

authors: DarkLight1337 exceedzhang sayakpaul

repo: vllm-project/vllm


text:
[Kernel][Hardware][AMD][ROCm] Fix rocm/attention.cu compilation on ROCm 6.0.3

In ROCm 6.0.3, __hip_bfloat16 doesn't support the + operator, while hip_bfloat16 is OK.
Refer to https://github.com/ROCm/ROCm/issues/2534
ERROR LOG:
vllm/build/temp.linux-x86_64-cpython-311/csrc/rocm/attention.hip:168:20: error: invalid operands to binary expression
('__hip_bfloat16' and '__hip_bfloat16')
      res.b = t1.b + t2.b;
              ~~~~ ^ ~~~~
vllm/build/temp.linux-x86_64-cpython-311/csrc/rocm/attention.hip:683:15: note: in instantiation of function template specialization 'addx4<__hip_bfloat16>' requested here
              addx4<scalar_t>(vout[qh][vh], vout_shared[qh][vh][laneid][w]);
              ^

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Adding or changing kernels
Each custom kernel needs a schema and one or more implementations to be registered with PyTorch.

Make sure custom ops are registered following PyTorch guidelines: Custom C++ and CUDA Operators and The Custom Operators Manual
Custom operations that return Tensors require meta-functions. Meta-functions should be implemented and registered in python so that dynamic dims can be handled automatically. See above documents for a description of meta-functions.
Use torch.libary.opcheck() to test the function registration and meta-function for any registered ops.  See tests/kernels for examples.
When changing the C++ signature of an existing op, the schema must be updated to reflect the changes.
If a new custom type is needed, see the following document: Custom Class Support in PT2.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

Hi @HollowMan6, vLLM currently supports ROCm 6.2, and does not support older versions.

Hi @HollowMan6, vLLM currently supports ROCm 6.2, and does not support older versions.

Hi @WoosukKwon, I'm not sure if you mean that you do not intend to support older versions or if you have any other blockers, but according to my test, it would work fine at least for my current use case (MI250x) for ROCm 6.0.2, with this patch + https://github.com/vllm-project/vllm/pull/2790/files
And suppose https://github.com/ROCm/ROCm/issues/2534 gets fixed in ROCm 6.2 (although I highly doubt this since this issue hasn't been closed), I guess this won't cause any issues on the ROCm 6.2 side as well (haven't tested this as I don't have access to ROCm 6.2, so would need your help).

It is good to have backward compatibility, however in this case I think better try using ROCm 6.2 to get a better performance boost.
According to their Advancing AI Keynotes, it seems ROCm 6.2 are implemented more efficiently.

It is good to have backward compatibility, however in this case I think better try using ROCm 6.2 to get a better performance boost.

Yeah, I agree, it would of course be preferred if ROCm 6.2 is available, but it might be hard to upgrade the ROCm version due to various reasons (e.g. lack of root access or in HPC environment)

source: gharchive/pull-request

authors: HollowMan6 WoosukKwon tjtanaa

license_type: permissive

license_source: github-api


text:
Autotools glue for .l and .y

.l and .y are not rebuilt if changed

I reject this patch, because this autorebuild is too sensitive wrt. to the lexx/yacc versions, and produce unanticipated build problems on some systems.

authors: mkhon vlm


text:
Is there any plan to integrate Antrea into TKG(Tanzu Kubernetes Grid)

Describe what you are trying to do
A description of what you are trying to achieve, what you have tried so far and the issues you are facing.
We use TKG, and I I wonder if TKG will use Antrea as CNI.

I'll refer you to this recent blog post by VMware: https://blogs.vmware.com/networkvirtualization/2020/08/container-networking-antrea.html/

Container Networking with Antrea has been designed into Tanzu Kubernetes Cluster (TKG) on vSphere and other public clouds, and Tanzu Kubernetes Cluster Service for running on vSphere with Tanzu.

There should be a TKG release in the near future with Antrea support.

source: gharchive/issue

authors: TicktW antoninbas

repo: vmware-tanzu/antrea


text:
Update minikube version to 1.21

This pull request changes minikube version to 1.21 to address earlier issues with deploying kapp-controller in CI: https://github.com/vmware-tanzu/carvel-kapp-controller/runs/2956127108?check_suite_focus=true

Closing in favor of #258
Because there are issues with Test_PackageRepoDelete, this should be added to pr with those changes.

repo: vmware-tanzu/carvel-kapp-controller


text:
Package docs should warn about comments in custom values.yaml file #2909

What this PR does / why we need it
Minor update to package docs to instruct removing comments from custom values.yaml files.
Details for the Release Notes (PLEASE PROVIDE)

Minor update to package docs to instruct removing comments from custom values.yaml files.

Which issue(s) this PR fixes
Fixes: #2909
Describe testing done for PR

Special notes for your reviewer

@joshrosso I'm good with re-working docs to reference the schema approach. However, only 6 of the current 26 packages are using schemas. So would you consider approving this issue on the basis of it supporting existing packages without schemas and we create a new issue to update docs instructing the use of schemas going forward? Or I'm happy to use this issue if you prefer.

gotcha, yes

authors: joshrosso seemiller

repo: vmware-tanzu/community-edition


text:
Migrate to GitHub Actions

See if drone and circleci can be consolidated into a single pipeline.

The nightly action is finally working. This work is completed.

repo: vmware-tanzu/octant


text:
Install debugging agent on remote (instead of shipping with app bits)

intended to fix #362

PoC windows:

Just confirmed that this works on the azure test vm as well (makes sense -- no more PS script for vsdbg for the vm to distrust)
(I did still need to work around #350 though...)


text:
vFile: Add a known issue about how to clean up the volume after failed mounting

After volume mount failed, the "Volume Status" will in "Error" status.  User cannot recover from this state, and need to remove this volume completely. We need to document this as a known issue.

mustfix for vFile beta release

repo: vmware/docker-volume-vsphere


text:
Add more verification steps for basic_test

Fixes issue #1450

Verification is good.
Agree that admincli doesn't return proper exit code and that fix should be handled in a separate PR.
However, without that fix, these assertions are anyway not helping us, since the err is not going to be NotNil in case of errors.
We can merge this change but the aim is not fully resolved.
What do you suggest?

Since everybody agree that it makes debugging tricky due to issue #1411, we should fix that issue right away, instead of wasting time to tweak ALL (not just this test case) test cases to bypass that issue. If @govint has no bandwidth to work on that right now, can @pshahzeb pick up that issue?

As discussed offline, we came to agreement on this:

Due to issue #1411, the assertion statement in the test logic cannot really guarantee the operation is completed as expected. So we need to fix this issue as high priority. @govint
Before issue #1411 is addressed, we can add more verification steps to make the debugging easier - in addition to verify the ssh exit code (which don't work right now), we should also verify the real business data to make sure the operation is completed as expected.

To address 2, we will improve existing util functions to verify the data instead of adding these extra logic to all the test cases. I will file an issue for this.

authors: pshahzeb shaominchen


text:
Make certain sensor properties public

Publicize Proximity.(unit, value, calibration), Calibration.(unit, value), and Device.identifier for use in Herald-importing codebases.

We've created a new PR with DCO requirements resolved.
https://github.com/vmware/herald-for-ios/pull/110
@sddioulde Please close this PR. Thanks!

We've created a new PR with DCO requirements resolved.
https://github.com/vmware/herald-for-ios/pull/110
@sddioulde Please close this PR. Thanks!

Closing...

Closing...

authors: pivotal-djoo sddioulde

repo: vmware/herald-for-ios


text:
Trouble running on OSX and ruby 1.9.2

I am getting this error when I try to connect to my vc server
I am running ruby 1.9.2 installed by rvm
can I debg this somehow to hel find te cause?
Thanks
Lance
Stokvis:vm-deploy stokvis$ rvc 10.0.0.111
Error loading readline-ffi: Could not open library 'readline.so': dlopen(readline.so, 5): image not found. Could not open library 'libreadline.so.dylib': dlopen(libreadline.so.dylib, 5): image not found. Tab completion will be limited.
No VMRC available for OS darwin10.7.0
/Users/stokvis/.rvm/gems/ruby-1.9.2-p180@vm-deploy/gems/rvc-1.3.6/lib/rvc/modules/vmrc.rb:39:in block in reload_modules': uninitialized constant RVC::CmdModule::VMRC_NAME (NameError) 	from /Users/stokvis/.rvm/gems/ruby-1.9.2-p180@vm-deploy/gems/rvc-1.3.6/lib/rvc/modules.rb:70:in instance_eval'
from /Users/stokvis/.rvm/gems/ruby-1.9.2-p180@vm-deploy/gems/rvc-1.3.6/lib/rvc/modules.rb:70:in block in reload_modules' 	from /Users/stokvis/.rvm/gems/ruby-1.9.2-p180@vm-deploy/gems/rvc-1.3.6/lib/rvc/modules.rb:61:in glob'
from /Users/stokvis/.rvm/gems/ruby-1.9.2-p180@vm-deploy/gems/rvc-1.3.6/lib/rvc/modules.rb:61:in reload_modules' 	from /Users/stokvis/.rvm/gems/ruby-1.9.2-p180@vm-deploy/gems/rvc-1.3.6/bin/rvc:61:in <top (required)>'
from /Users/stokvis/.rvm/gems/ruby-1.9.2-p180@vm-deploy/bin/rvc:19:in load' 	from /Users/stokvis/.rvm/gems/ruby-1.9.2-p180@vm-deploy/bin/rvc:19:in '

I'm getting this same error on my OSX 10.7.2 install.
ruby 1.9.2p290 installed through rvm
rvc 1.5.0 installed through gems
$ rvc
Error loading readline-ffi: Could not open library 'readline.so': dlopen(readline.so, 5): image not found.
Could not open library 'libreadline.so.dylib': dlopen(libreadline.so.dylib, 5): image not found. Tab completion will be limited.
No VMRC available for OS darwin11.1.0
Host to connect to (user@host): /usr/local/rvm/gems/ruby-1.9.2-p290/gems/rvc-1.5.0/bin/rvc:73:in readline': Interrupt 	from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/rvc-1.5.0/bin/rvc:73:in <top (required)>'
from /usr/local/rvm/gems/ruby-1.9.2-p290/bin/rvc:19:in load' 	from /usr/local/rvm/gems/ruby-1.9.2-p290/bin/rvc:19:in '

Me too. :(
Error loading readline-ffi: Could not open library 'readline.so': dlopen(readline.so, 5): image not found.
Could not open library 'libreadline.so.dylib': dlopen(libreadline.so.dylib, 5): image not found. Tab completion will be limited.
No VMRC available for OS darwin11.2.0
/usr/local/rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/net/http.rb:799: [BUG] Segmentation fault
ruby 1.9.3p6 (2011-12-15 revision 34066) [x86_64-darwin11.2.0]

Why am I commenting on a closed bug, I wonder? Time to look elsewhere....

authors: bmorgenthaler lhaig mykhyggz

repo: vmware/rvc

license: mit

license_source: bigquery


text:
vdk-jupyter: update getting started to incldue vdksql

Update Getting started to include info on how to use %%vdksql cells
See the updated notebook here: https://github.com/vmware/versatile-data-kit/blob/person/aivanov/jupyter-getting-started/projects/vdk-plugins/vdk-jupyter/getting-started.ipynb

If we are going to encourage people to use this instead of job_input.execute_query maybe it is good to change it in the conversion, too. What do you think? Because right now the conversion Guide, Tutorial and the generated code all include ob_input.execute_query. And if we are not going to change that maybe it would be good in the getting started to show that option too

If we are going to encourage people to use this instead of job_input.execute_query maybe it is good to change it in the conversion, too. What do you think? Because right now the conversion Guide, Tutorial and the generated code all include ob_input.execute_query. And if we are not going to change that maybe it would be good in the getting started to show that option too

Yes, we will update everywhere. This is just for getting started.

authors: antoniivanov duyguHsnHsn

repo: vmware/versatile-data-kit


text:
binance和bitmex交易所没法获取到实时的orderbook数据

环境

操作系统: 如Windows 10或者Ubuntu 18.04
Python版本: 如VNStudio-2.0.6
vn.py版本: 如v2.0.7发行版

Issue类型
三选一：Bug
binance和bitmex交易所没有获取到实时的orderbooK的数据，币安websocket订阅的数据depth5就不存在。所以没法获取，bitmex订阅的oderbook10推送的频率太低，价格跟实时的价格偏差很大。
预期程序行为
实际程序行为
重现步骤
针对Bug类型Issue，请提供具体重现步骤以及报错截图

币安接口测试有正常的5档行情

repo: vnpy/vnpy


text:
新增通达信分钟数据载入MongoDB

通达信的历史数据导出功能可免费获取股票、期货的历史分钟数据，这里提供将导出的历史分钟数据插入MongoDB的函数

已合并，非常感谢！

通达信导出的数据，会有缺失。就算楼主在ctaAlgo中提供的IF0000_1min.csv也是有缺失的

通达信导出的数据，会有缺失。就算楼主在ctaAlgo中提供的IF0000_1min.csv也是有缺失的。最好增加一个验证数据连续性的判断函数

个人感觉没有必要哈，追求高精确度的算法可以使用付费的数据库获取数据，这里只是给不愿意为数据付费的用户提供一个参考

数据缺失对回测结果还是有挺大影响的，因此就算针对个人，也很有必要在回测前快速验证一下数据的连续性！否则基于错误的回测结果来启动实盘交易，最终亏损的钱还是要个人自己承受的。。。

如果缺失的历史数据较多，基于这种数据进行的参数优化得出的结果会有较大出入，用这种结果来跑实盘是一种很危险的行为！

数据相关的工作，建议购买专门的历史数据库，或者自行开发数据收集程序。
对于大部分机构而言会选择花个几十万购买专业的数据库，所以vn.trader里暂时不打算考虑数据这块的内容。

你的通达信数据的是手工导出来的吗？导出后有没有改动，我手工导出来一分钟数据，把标题改成OHLC,但是报数据格式错误@akeyong

我没用通达信的数据，所以不太清楚 @silent494529371

authors: AaronGuan akeyong silent494529371 vnpy zhangshuiyong


text:
Instrument auth package

Add a histogram duration transport wrapper to the auth http client connection.

Refactor metrics namespace to a separate package to avoid recursive imports.

Merged manually

authors: SuperQ iSchluff

repo: voc/srtrelay

license: MIT


text:
Used in other Tilemap format

Hi vocksel, I'm creating a map editor for https://github.com/CleverRaven/Cataclysm-DDA , it is not using Tiled, so I have to copy-paste and modify some of your code to achieve this, just let you know I'm using your code, thank you!

Great! I hope this repo can be a valuable resource for your project :)

authors: linonetwo vocksel

repo: vocksel/react-pixi-tilemap


text:
Store SPARQL queries

The Querying tab should have a functionality to store, load, and update SPARQL queries. In addition, one could think about Unit Tests in order to ensure a certain level of quality when editing an ontology.

Since the entire storing mechanism is based on Version Control, any file that the user push to the repository with .rq extension, will be automatically parsed and shown in the Querying Tab.
The idea of integrating Unit Tests is good, actually it is in our ToDo List.

@lavdim good to know that .rq files are already supported. Where do they show up? Under "example queries", next to, e.g. "selection of classes"? If so, where is the title of the query taken from? Could you please

point me to a VoCol project where such queries can already be seen, or
if there is no such project yet, add some queries to an existing project, so that we have something ready to demonstrate?

Also, one thing I'm not quite sure of is what data is being queried: just one file, or all RDF/OWL files in the repository? I.e., the ontology plus instance data?

authors: clange lavdim sebbader

repo: vocol/vocol


text:
parser: add nested table to IWorkspace

table order_item is missing in IWorkspace. But
this one is contained by IWorkspace because it is defined  in root
Need to make so order_item table be returned by IWorkspace.Type()

func TestSQL(t *testing.T) {
    require := require.New(t)
    fs1, err := ParseFile("file2.sql", `
IMPORT SCHEMA 'github.com/untillpro/airs-scheme/bp3' AS untill;
IMPORT SCHEMA 'github.com/untillpro/airs-bp3/packages/air';

APPLICATION airsbp (
    USE untill;
    USE air;
);
    `)
    require.NoError(err)
    fs2, err := ParseFile("file3.sql", `
IMPORT SCHEMA 'github.com/untillpro/airs-scheme/bp3' AS untill;

WORKSPACE RestaurantWS (
    USE TABLE untill.*;
);
`)
    require.NoError(err)
    fs3, err := ParseFile("file4.sql", `
TABLE orders INHERITS ODoc (
    order_item TABLE order_item (
        fld1 int32
    )
);
`)
    require.NoError(err)
    unTillPkg, err := BuildPackageSchema("github.com/untillpro/airs-scheme/bp3", []*FileSchemaAST{fs3})
    require.NoError(err)

    airPkg, err := BuildPackageSchema("github.com/untillpro/airs-bp3/packages/air", []*FileSchemaAST{fs2})
    require.NoError(err)

    appPkg, err := BuildPackageSchema("github.com/untillpro/airs-bp3/apps/untill/airsbp", []*FileSchemaAST{fs1})
    require.NoError(err)

    packages, err := BuildAppSchema([]*PackageSchemaAST{
        getSysPackageAST(),
        unTillPkg, airPkg, appPkg,
    })
    require.NoError(err)
    builder := appdef.New()
    require.NoError(BuildAppDefs(packages, builder))

    appDef, err := builder.Build()
    require.NoError(err)

    ws := appDef.Workspace(appdef.NewQName("air", "RestaurantWS"))
    require.Equal(appdef.TypeKind_ODoc, ws.Type(appdef.NewQName("untill", "orders")).Kind())
    require.Equal(appdef.TypeKind_ORecord, ws.Type(appdef.NewQName("untill", "order_item")).Kind())
}

repo: voedger/voedger


text:
Use cases

This library is similar to standard PHP array functions.
Could you please tell what are the use cases of this library ?! And what is the problem that this library solve which PHP standard functions could not ?!

It is only a helper class, to make your code more readable + you can use autocomplete in your IDE, because you get a object and not an array ...
... here is a example native array vs Arrayy
    $initArray = [
        'fruit' => [
            'orange',
            'avocado',
            'cherry',
        ],
    ];

Arrayy
    $arrayy = Arrayy::create($initArray)
                    ->appendArrayValues(['pear', 'avocado'], 'fruit')
                    ->get('fruit')
                    ->uniqueKeepIndex()
                    ->walk(
                        function (&$fruitName) {
                          $fruitName .= '*';
                        }
                    )
                    ->filter(
                        function ($fruitName) {
                          return (strpos($fruitName, 'a') !== false);
                        }
                    );

    // $arrayy->getArray() === [0 => 'orange*', 1 => 'avocado*', 3 => 'pear*']

array
    foreach (['pear', 'avocado'] as $fruitName) {
      $initArray['fruit'][] = $fruitName;
    }
    $fruit = $initArray['fruit'];
    $fruit = array_reduce(
        array_keys($fruit),
        function ($resultArray, $key) use ($fruit) {
          if (!in_array($fruit[$key], $resultArray, true)) {
            $resultArray[$key] = $fruit[$key];
          }

          return $resultArray;
        },
        []
    );
    foreach ($fruit as $keyTmp => &$fruitName) {
      $fruitName .= '*';

      if (strpos($fruitName, 'a') === false) {
        unset($fruit[$keyTmp]);
      }
    }

    // $fruit === [0 => 'orange*', 1 => 'avocado*', 3 => 'pear*']

authors: voku wajdijurry

repo: voku/Arrayy


text:
About CULane Dataset

您好！我看到您的论文上的CULane数据集有‘dazzle’类，但是我从CULane网盘上下载的CULane数据集没有这个类，您能说明一下这个类的来源吗

@huanFigure 有个高曝光的类别一般被叫做dazzle light或者hlight，你看到的类别列表是哪些呢

看到了，麻烦您了，好多问题一问出来自己就找到答案了，谢谢您了

authors: huanFigure voldemortX

repo: voldemortX/pytorch-auto-drive


text:
Colours not correct in Dark Mode on High Sierra

Nagbar does not use the right colours anymore when using the Dark Mode on High Sierra. It did work previously on Sierra. I'm using the latest version 1.3.1.

There was a problem in both normal and dark mode. It is fixed in https://github.com/volendavidov/NagBar/commit/94699c60b39c453da9b6aa61ac0f53024c0e9bd5 and released as NagBar 1.3.2
It seems that wantsLayer (needed for animations) behavior has been changed in High Sierra and it somehow changes the color of the top view of the status bar to gray. Setting the color of that view to transparent solves the problem.

This issue is not fixed for systems with multiple displays. I opened a separate case, since it might be a separate issue, so sorry if that wasn't the right thing to do. Could it be that when toggling between displays the transparent setting is getting lost?

I tried to reproduce the issue, but everything works fine for me on multiple displays. So, it will be a bit difficult to find a solution for this. I will follow up in #4.

@volendavidov I have the same issue and I'm also using multiple displays

authors: timkite volendavidov yveslaroche

repo: volendavidov/NagBar


text:
how much is your sampling.batch_size？

hi, I notice that you set  sampling.batch_size=100/200 in sampling_scripts.sh on SMMNIST/KTH dataset but your paper reads  averaged across 256 test videos and on 256 test videos, so it means batch_size should be 256? thanks again!

https://github.com/voletiv/mcvd-pytorch/blob/451da2eb635bad50da6a7c03b443a34c6eb08b3a/example_scripts/final/sampling_scripts.sh#L47
https://github.com/voletiv/mcvd-pytorch/blob/451da2eb635bad50da6a7c03b443a34c6eb08b3a/example_scripts/final/sampling_scripts.sh#L108

Hi @JunyaoHu, the batch-size does not matter, it will still do 256 images (200, then 56 if batch-size=200).

I understand, test dataset length is 256, thanks! silly me lol

authors: AlexiaJM JunyaoHu

repo: voletiv/mcvd-pytorch


text:
remove the add-button, but reserve the refresh and column button.

I just want to remove the add-button, but reserve the refersh and column button, is it posssible?
I have tried as below, but the refersh and column button are both be removed.
protected getButtons() {
         //   var buttons = super.getButtons();
            var buttons=[];
            return buttons;
        }

See samples.

authors: PanChenhao volkanceylan

repo: volkanceylan/Serenity


text:
Release to Hex?

@mwmiller: I used your curve25519_ex library as the basis for a Curve448 DH library. Since the code is 99% yours, would you be interested in adding this lib to your collection of crypto libraries, and publishing it to Hex? I don't feel comfortable taking credit for it, and I'm not really qualified to maintain it anyway...

@voltone: I really should generalize that code a bit and make it possible to "plug in" various curves.  Regardless, I can spin up and handle the maintenance of a Curve448 library if you would like.  It will probably take me (at least) a couple days to handle all the requisite work, so do whatever is expedient in the meantime.
Thanks for looking!

@mwmiller: Great, thanks, appreciate it. No rush.
I would have added Curve448 to curve25519_ex as a PR if the library name hadn't been so specific. That might work if you were to rename the package to rfc7748_ex? Or montgomery? But then again, those names might limit discoverability in Hex...

I think this resolves your issues.  It's still not perfectly namespaced, but hopefully will let you move along with your projects.

Awesome, thanks @mwmiller! I'll get back to my Noise Protocol implementation, which uses just about every one of your Elixir crypto libraries :)

@voltone:  Excellent.  Noise is very cool; I wish you well!  I might even want to build something on top of that.  Please do let me know if you run into annoying edges on the libraries.  It's probably clear they've been mostly built to scratch my own itches and certainly haven't been tuned for performance.

@mwmiller same here: I'm not too concerned with raw performance at the moment, I'm doing this mostly as a learning exercise. That's why I prefer your pure-Elixir implementations over some wrapper around a C library: it gives me better visibility into how all the pieces work together. I'll let you know how it works out

authors: mwmiller voltone


text:
remove pre-installed cmake from github ubuntu runner image

this unbreaks our ubuntu build. See comments in diff for the why/how.

replaced by #142

repo: voorkant/voorkant-core


text:
fix on_startup operator not executing on startup

What changes are proposed in this pull request?
Fix on_startup not executing on startup due to race condition where on_startup operator are executed before invocation queue is initialized
How is this patch tested? If it is not, please explain why.
Using the VoxelGPT plugin and verifying that the VoxelGPT panel launches on startup
Release Notes
Is this a user-facing change that should be mentioned in the release notes?

[ ] No. You can skip the rest of this section.
[x] Yes. Give a description of this change to be included in the release
notes for FiftyOne users.

Fix on_startup not executing on app startup
What areas of FiftyOne does this PR affect?

[x] App: FiftyOne application changes
[ ] Build: Build and test infrastructure changes
[ ] Core: Core fiftyone Python library changes
[ ] Documentation: FiftyOne documentation changes
[ ] Other

getInvocationRequestQueue indeed creates a queue, however, the one of the executor (the only one atm) for the queue is initialized by OperatorInvocationRequestExecutor. The OperatorInvocationRequestExecutor uses useInvocationRequestQueue which initializes a subscriber for the queue (primarily updating requests state to be picked up by OperatorInvocationRequestExecutor reactively). However, the notifying to subscriber is not reactive but rather procedural and is invoked after queue is modified. If a subscriber is added with items already in queue (i.e. OperatorInvocationRequestExecutor) they are not notified of the items in the queue. There are alternate ways to go about solving this by notifying the subscriber on add or subscriber checking the queue when adding itself as a subscriber to the queue.
In summary (race-condition):

loadOperators populates the queue (and notifies existing subscribers) with start-up operators and blocks the mount of OperatorCore until it's done
Subscriber is initialized on the mount of OperatorInvocationRequestExecutor but does not get notified as the queue is already populated
Any further call to queue.add will execute

Closing in favour of #4136


text:
pls update to 1.7

pls update to 1.7

Update

Lol

repo: voxelwind/voxelwind


text:
feat(web): API Authentication Integration (Login & Register)

Description
Please provide a detailed description of what was done in this PR.
Precise the issue that you are resolving.
Fixes
Specify which issue this PR targets, like so:

fixes #24

Changes include

[x] Bugfix (non-breaking change that solves an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Breaking changes
Please complete this section if any breaking changes have been made, otherwise delete it.
Checklist

[x] I have assigned this PR to myself
[x] I have added @vrn-sh/members to the reviewers, or specific members of the team
[x] I have added the needed labels
[x] I have tested this code
[x] I have added / updated tests (unit / functionals / end-to-end / ...)
[x] I have updated the README and other relevant documents (guides...)

Additional comments
Please post additional comments in this section if you have them, otherwise delete it.

ok to review @claraxuxu

good work @blacky-yg

authors: blacky-yg bogdzn

repo: vrn-sh/erp


text:
Issue with large MD files

Abstract
Sync takes too long/buggy with large text (.MD) files.
Expected behavior
Sync should take almost the same time as small files.
Actually happened

Sync takes from 10-15 seconds to minutes to sync a file with about 100 pages after minor changes to the file
With a clean, new CouchDB database same file syncs in about 1 second, even if it whole file

Reproducing procedure

Configure LiveSync as in the attached material: settttings-copy.md
Create a 100-page file with a lot of TODO's - "- [ ]" (probably also use links, sub-tasks / sub-TODO items, some images, emoji, etc, etc.
Make minor changes to the file. Add a few new TODOs, modify old ones.
Wait when sync will begin automatically.
Look at logs. Sync will take a lot of time.

Frequency: constantly
Plug-in log

Plug-in log
5/1/2024, 7:01:42 PM->OneShot Sync begin... (sync)
5/1/2024, 7:01:43 PM->Replication paused
5/1/2024, 7:01:43 PM->Replication paused
5/1/2024, 7:01:43 PM->Replication completed
5/1/2024, 7:01:49 PM->Chunks saved: doc: TODO.md ,chunks: 2655 (new:2, recycled:2607, cached:46)
5/1/2024, 7:01:54 PM->STORAGE -> DB (plain) TODO.md
5/1/2024, 7:01:54 PM->OneShot Sync begin... (sync)
5/1/2024, 7:01:54 PM->OneShot Sync begin... (sync)
5/1/2024, 7:01:55 PM->OneShot Sync begin... (sync)
5/1/2024, 7:01:57 PM->Replication paused
5/1/2024, 7:01:57 PM->Replication activated
5/1/2024, 7:01:58 PM->Replication paused
5/1/2024, 7:01:58 PM->Replication completed

Screenshots
https://i.imgur.com/zFnzCZf.png
Details and background
First of all, thank you so much for your work. This plugin is a life changer for me and I transfer all my note-taking and task management to Obsidian on all devices thanks to this plugin. But recently I encountered some bug/drawback using CouchDB. When I have a file with a lot of text (like 100 pages... it looks like just a lot of tasks / TODO list, here is an example: https://i.imgur.com/zFnzCZf.png) it becomes slow. By slow I mean really slow as hell, it takes 10-30 seconds to upload any minor changes and about 10-30 seconds more to fetch on another machine. And with changes more than minor (a few paragraphs), it can take minutes in some cases. In the beginning, with 20 pages it became unusable in LiveSync mode (because while you typing, every character takes a few seconds to sync) and I switched to "Periodic and on Events" for every 4-second interval sync mode with batch syncing turned on and it worked for a while similar to real-time sync, but after 60 pages it again becomes slow down and periodic removing CouchDB on a hoster and create it again helps, but only for short period of time and after about 100 pages it becomes totally unusable, because on top of the slow sync - it slow my laptop (Obsidian become super slow, fans on laptop goes crazy... when I turn off Self-hosted LiveSync plugin - everything backs to normal). Not to mention it slows down syncing even for other, smaller files (but not so much, but still there is a huge difference... because at the beginning when there were just a few files and they were small, it was sync changes almost immediately and now even for small files it can takes few seconds - so the difference in hundreds percents). I use AlwaysData hosting free tier to host CouchDB. I think the issue is the amount of chunks and architecture of CouchDB and/or the process of cleaning and optimizing the database because, on a fresh database, everything syncs blazingly fast. Will switching to CloudFlare R2 storage solve this issue? Is it even worth trying?

Thank you for your report!
This problem has been caused by here: (new:2, recycled:2607, cached:46)
To less traffic, Self-hosted LiveSync splits the documents into multiple chunks and transfers only new things. However, checking existent from the local database is a bit heavy if there are a lot of them. And worse, this slows down according to their number.
To avoid this, Self-hosted LiveSync can cache recently used chunks. The initial value is configured in a little conservative value, but we should enlarge this in such a situation.
Please try setting Memory cache size (by total items) to 300000, and Memory cache size (by total characters) to 100  once. (Yes, this can be controlled by the count and total amount, for such a case).
I think that your environment could accept these values.

Thanks for the reply! It seems it does help a bit, now it's like 10 seconds for one direction instead of 10-15 (or it's just a placebo? lol).
Also, I did experiments with caching in the past and it feels like it doesn't make any difference with any combination of parameters... the only thing that really worked at first is switching to "Periodic and on Events" for every 4-second interval sync mode with batch and now what helps a bit is only removing CouchDB on a hoster side and create it again with discarding local database, but only for short period of time.
Also, I noticed that right now I have 32000 chunks (or docs?)... and if I delete DB and reset everything, it shows just 6844 docs, which still seems a lot considering I have only 250 files (if this will help - a total size of the Vault is about 100MB with all attachments and images)... Maybe I'm mixing some terms about docs/chunks, so here the some logs after deleting and resetting everything:
Logs
5/2/2024, 9:56:44 PM->Cache initialized 300 / 250000000000
5/2/2024, 9:56:44 PM->loading plugin
5/2/2024, 9:56:44 PM->Self-hosted LiveSync v0.23.3 0.23.3
5/2/2024, 9:56:44 PM->xxhash for plugin initialised
5/2/2024, 9:56:44 PM->Waiting for ready...
5/2/2024, 9:56:44 PM->Cache initialized 10 / 1000000000
5/2/2024, 9:56:44 PM->Cache initialized 300000 / 100000000
5/2/2024, 9:56:44 PM->Newer xxhash has been initialised
5/2/2024, 9:56:44 PM->Opening Database...
5/2/2024, 9:56:44 PM->Database info
5/2/2024, 9:56:44 PM->{
  "doc_count": 6844,
  "update_seq": 6844,
  "db_name": "Obsidian Vault-anon-livesync-v2-indexeddb",
  "auto_compaction": false,
  "adapter": "indexeddb"
}
5/2/2024, 9:56:44 PM->Database is now ready.
5/2/2024, 9:56:45 PM->Log window opened
5/2/2024, 9:56:46 PM->Initialize and checking database files
5/2/2024, 9:56:46 PM->Checking deleted files
5/2/2024, 9:56:46 PM->Checking expired file history
5/2/2024, 9:56:52 PM->There are no old documents
5/2/2024, 9:56:52 PM->Checking expired file history done
5/2/2024, 9:56:52 PM->Collecting local files on the storage
5/2/2024, 9:56:52 PM->Collecting local files on the DB
5/2/2024, 9:56:52 PM->Collecting local files on the DB: 25
5/2/2024, 9:56:52 PM->Collecting local files on the DB: 50
5/2/2024, 9:56:52 PM->Collecting local files on the DB: 75
5/2/2024, 9:56:52 PM->Collecting local files on the DB: 100
5/2/2024, 9:56:53 PM->Collecting local files on the DB: 125
5/2/2024, 9:56:53 PM->Collecting local files on the DB: 150
5/2/2024, 9:56:53 PM->Collecting local files on the DB: 175
5/2/2024, 9:56:53 PM->Collecting local files on the DB: 200
5/2/2024, 9:56:54 PM->Collecting local files on the DB: 225
5/2/2024, 9:56:54 PM->Collecting local files on the DB: 250
5/2/2024, 9:56:54 PM->Opening the key-value database
5/2/2024, 9:56:54 PM->Updating database by new files
5/2/2024, 9:56:54 PM->UPDATE DATABASE: Nothing to do
5/2/2024, 9:56:54 PM->UPDATE STORAGE: Nothing to do
5/2/2024, 9:56:57 PM->Initialized, NOW TRACKING!
5/2/2024, 9:56:57 PM->Cache initialized 300000 / 100000000
5/2/2024, 9:56:57 PM->Modifying callback of the save command
5/2/2024, 9:56:57 PM->Additional safety scan..
5/2/2024, 9:56:57 PM->There are no conflicted files
5/2/2024, 9:56:57 PM->Additional safety scan done
5/2/2024, 9:57:19 PM->OneShot Sync begin... (sync)
5/2/2024, 9:57:20 PM->Looking for the point last synchronized point.
5/2/2024, 9:57:21 PM->Replication paused
5/2/2024, 9:57:22 PM->Replication activated
5/2/2024, 9:57:26 PM->↑0 ↓2 (6446)
5/2/2024, 9:57:27 PM->The request may have failed. The reason sent by the server: 404: Object Not Found
5/2/2024, 9:57:27 PM->{"error":"not_found","reason":"missing"}
5/2/2024, 9:58:25 PM->Replication closed

In summary, the less number of chunks/docs - the faster everything works, especially for large .MD files. Also, right now, after some experiments, I noticed that it syncs much faster on manual syncing with "Disable all automatic". So weird...

Also, after increasing the size of the cache I noticed there is less stuck with the syncing process, which happened sometimes; but it doesn't seem to really affect the speed of syncing

Thank you for confirming this! The situation remains a little strange.
Another factor is that if the chunk size is not the same on all devices, the cache may not work properly and a large amount of space may be consumed. However, this can be checked in the latest version automatically.
Changing the configuration makes clear the cache. So, it might be more essentially a problem, like... just chunks are so much. In early versions, we could configure the chunk sizes. However, it has been hidden now.
Would you please try to increase minimumChunkSize in the data.json? The default is 20, however, it can be 200 in these files. (If we back this setting to the front again, we should implement an automatic adjusting feature. And if it works, I would love to).

Also, I noticed that right now I have 32000 chunks (or docs?)... and if I delete DB and reset everything, it shows just 6844 docs, which still seems a lot considering I have only 250 files (if this will help - a total size of the Vault is about 100MB with all attachments and images)... Maybe I'm mixing some terms about docs/chunks, so here the some logs after deleting and resetting everything:

Self-hosted LiveSync transfers files in small chunks, so these files are split into many of them.
(The minimumChunkSize defines the size of the smallest chunk.)
And this was also designed not to delete chunks once created in order to reuse them if they existed. This is efficient in reducing incoming traffic, but on the other hand, it creates a lot of unnecessary chunks.
Therefore, at v0.23.4, I have implemented the feature Incubate Chunks in Document. It might be also effective for us.
Would you mind if I ask you to verify these two points?

Changing minimumChunkSize
Enabling Incubate Chunks in Document

authors: firstunicorn vrtmrz

repo: vrtmrz/obsidian-livesync


text:
fix: settings.clean no longer overides settings.customInitFile

followup on https://github.com/vscode-neovim/vscode-neovim/pull/952
this just moves the arguments around so that --clean doesn't override the config passed by -u

i appreciate this feature being merged in, i've been using it to great effect at https://github.com/goolord/dotfiles/blob/main/home/.config/nvim-code/init.lua
i feel very comfortable and at home in remote sessions with my coworkers now :-)

repo: vscode-neovim/vscode-neovim


text:
clarify self-describing

Some binary formats like Protocol Buffers are not self-describing. So without a schema, you have some ambiguity of what the wire format actually represents. This is different from something like JSON, where you have full information about the data and structure of the data.
I think it would be helpful to clarify in the docs if Muon is self-describing, as personally I will not use anything like ProtoBuf, because it is not self-describing.

Thanks!

Much thanks. I wish you luck and success with your project. Good day!

repo: vshymanskyy/muon


text:
Bugs in extractors management

Version used: 1.7.4 (3549) - OS X

Disabling extractors seems to have no effect on files parsing. A library I use (AWS PHP SDK) has a misformed RST file. Even if I only check PHP and Javascript extractors, my catalogs are still not updated as an error occurs on parsing the RST file.
If I remove all the extractors I never use (including the RST one), the parsing goes fine and my catalogs are updated correctly. However, after closing and starting again the application, all the extractors are back and enabled :-(

Always worth checking current code before filing bugs at GitHub: d3c2a38757a0621cda73d59094db6396d0944f48

authors: lapause vslavik

repo: vslavik/poedit


text:
Remove cookie support

To be fully static, remove cookie support and footer banner.

Done via https://github.com/vtemian/declaratie/commit/2bcdc0e6882ad58c3a6fd016b303d33a3c5cb4dc

repo: vtemian/declaratie


text:
文档呢

老北鼻，文档去哪里了？请写中文文档，并添加一些引经据典不好翻译的文字，中华文化博大精深，让国外友人也体验一下中华文化的魅力

@vtrbo

老北鼻，文档去哪里了？请写中文文档，并添加一些引经据典不好翻译的文字，中华文化博大精深，让国外友人也体验一下中华文化的魅力

全局替换 ---name--- 为你的 VS Code 插件的名称就可以了

repo: vtrbo/starter-vscode


text:
vuejs#77の取り込み

https://github.com/vuejs/vuejs.org/pull/77 の取り込み

Just a note I've edited it quite extensively in a new commit: https://github.com/vuejs/vuejs.org/commit/0e6ee53a928eed880e7055a59c7fcb0222ded335

#42 で最新内容盛り込み済み


text:
unittest：not  support export * from syntax

while using the syntax export * from './index.js .   in unittest env , it will throw error : exports is not defined
I find that it add modules:false to test env of babelrc  can fix
but it cause another problem that relative inject-loader , see https://github.com/vuejs-templates/webpack/issues/528  but the issue tells us to remove modules:false .....
so how can i fix this problem ... thx

Duplicate #506

authors: Hanruis LinusBorg

repo: vuejs-templates/webpack


text:
add Lusift

General

✏ Mark the necessary items without changing the structure of the PR template.

[ ] Pull request template structure not broken

Type

ℹ  What types of changes does your code introduce?

👉 Put an x in the boxes that apply

[ ] Fix
[ ] Feature

Checklist

ℹ  Check all checkboxes - this will indicate that you have done everything in accordance with the rules in CONTRIBUTING.

👉  Put an x in the boxes that apply.

[ ] Title as described
[ ] Make sure you put things in the right category!
[ ] Always add your items to the end of a list

Open Source

[ ] Link description does not contain a link to an author / third-party resource
[ ] The documentation (README) contains a description of the project, illustration of the project with a demo or screenshots and a CONTRIBUTING section
[ ] The documentation is in English.
[ ] The project is active and maintained.
[ ] The project accepts contributions.
[ ] Not a commercial product

Apps/Websites

[ ] The website is available without errors or ssl certificate problems, and load in a reasonable amount of time.
[ ] The website is using vuejs intensively. It should detect vue with vue-devtools.

If you cannot detect vue with vue-devtools due to work at non public pages (e.g. for enterprise website), you can send Pull Request with screenshot that detected it.

[ ] The website is original and not too simple. For that reason, blogs and simple landing pages are rejected.
[ ] A commercial product using Vue, provided that guests could reasonably check out how Vue was used (i.e. A headless CMS which uses Vue for the Admin/editor Area and offers a free tier).

how does this relate to vuejs ?

https://lusift.vercel.app
Hi.
On the landing page, I do state that it specifically supports vuejs

https://lusift.vercel.app Hi. On the landing page, I do state that it specifically supports vuejs

I don't really understand what is the support in relation vuejs, any library can be integrated there.
I mean, if we start to supplement the list with libraries, we will grow to size npm

authors: Scrum nareshbhusal

repo: vuejs/awesome-vue


text:
custome block isn't highlighted

i used unplugin-vue-router to generate route for app，unplugin-vue-router  use custome block 'route' to add meta info for the router.
but the block isn't highlighted

It works on my machine (Volar v2.0.21, Vue 1.90.1):

 code
<script setup>
import { ref } from 'vue'
const content = ref('hello world')
</script>

<template>
	<main>
		{{ content }}
	</main>
</template>

<route lang="json">
{
	"a":1
}
</route>

authors: KermanX xcchcaptain

repo: vuejs/language-tools


text:
IntelliJ integration and configuration

Hi!
Is any place where I can find documentation about configure the service details with IntelliJ?
I'm following recent changes and I saw there is a new configurable option "hybrid mode". But using the integration in IntelliJ, I don't see clearly how we can configure our services.
With IntelliJ 2024.1 we have this view:

Inside configuration we can see:

I don't know if it's possible to provide any kind of argument about where is our configuration, or this services is reading some common places.
In another hand, It was not possible to make working version 2 (latest tested version was 2.0.7, and hybrid mode was not possible to enable in my side).
It wasn't working because was not reporting any kind of error, and application was looking that it was working correctly.
Regards, and thanks for this great work :)

IntelliJ doesn't need hybrid mode. It runs volar as a separated language server, and I'm not sure if they have updated volar to 2.0.

As of 2024.1,IntelliJ hasn't upgraded the v2 version of volar yet, they're currently under observation, so you can pay attention to this issue：WEB-65823

Yes, I know, but It's possible to use another version.

When I use the latest version (like 2.0.12), IntelliJ stop reporting errors, but this is happen too using vue-tsc too:
vue-tsc --noEmit --project crm
> webapp@0.1.0 postbuild:crm
> vue-tsc --noEmit --project crm

Process finished with exit code 0

But, I know that I have errors in code:

In any case, my question was more related about how the services can be configured? Because, normally when I saw this topic all details to configure this services is focus on VS.

Hi again, some updates.
I retested again with latest version, 2.0.6 and I was having same problem.
But, this time I executed "vue-tsc" command with "--watch" mode and I saw an error about "ScriptKind" definition not found. It's an enum defined directly in "typescript".
I checked my "typescript" version and it was 5.1.6.
It suppose that this enum is defined in this version https://raw.githubusercontent.com/microsoft/TypeScript/v5.1.6/lib/typescript.d.ts
In any case, I tried to update typescript to 5.4.5 and now works fine :)
Before the services was not working, it was not listed in IntelliJ.

So, maybe it's missing a minimal required typescript version for this library.

Same issue as above for me ☝ vue-tsc was broken and I had to update TS from 5.1.6 to 5.4.5 to fix it; there was no indication or mention of having a minimum supported TS version though 😕


text:
thesemetrics makes documentation site unusable

Reproduction
idk, it just doesn't work
Steps to reproduce the bug
Firefox 114.0.2 (64-bit) Snap Ubuntu

Go to https://router.vuejs.org/
Click on any link

Expected behavior
Navigates to link clicked
Actual behavior

Uncaught (in promise) TypeError: e is null
    t https://unpkg.com/thesemetrics@latest:1
    i https://unpkg.com/thesemetrics@latest:1
    j https://unpkg.com/thesemetrics@latest:1
    pageread https://unpkg.com/thesemetrics@latest:1
    _ https://unpkg.com/thesemetrics@latest:1
    r https://unpkg.com/thesemetrics@latest:1
    i https://unpkg.com/thesemetrics@latest:1
    r https://router.vuejs.org/assets/chunks/framework.f0ad3fb5.js:1
    sf https://router.vuejs.org/assets/chunks/framework.f0ad3fb5.js:1
    sf https://router.vuejs.org/assets/chunks/framework.f0ad3fb5.js:1
    Z https://router.vuejs.org/assets/app.971834f0.js:1
    X https://router.vuejs.org/assets/app.971834f0.js:1
    <anonymous> https://router.vuejs.org/assets/app.971834f0.js:1
7 [thesemetrics@latest:1:665](https://unpkg.com/thesemetrics@latest)
    r https://router.vuejs.org/assets/chunks/framework.f0ad3fb5.js:1
    InterpretGeneratorResume self-hosted:1359
    AsyncFunctionNext self-hosted:756
    (Async: async)
    sf https://router.vuejs.org/assets/chunks/framework.f0ad3fb5.js:1
    (Async: EventListener.handleEvent)
    sf https://router.vuejs.org/assets/chunks/framework.f0ad3fb5.js:1
    Z https://router.vuejs.org/assets/app.971834f0.js:1
    X https://router.vuejs.org/assets/app.971834f0.js:1
    <anonymous> https://router.vuejs.org/assets/app.971834f0.js:1

Additional information
No response

Search issues first please

authors: BANOnotIT posva

repo: vuejs/router


text:
Inspect should accept a --target

Version
3.0.0-beta.9
Reproduction link
https://github.com/doublemarked/vue-libconf-issues
Steps to reproduce
vue inspect
What is expected?
vue inspect should show webpack configuration that matches that used when building the project, including configuration options like --target lib and --target wc, both of which inject custom webpack config.
What is actually happening?
Running vue inspect produces inaccurate output because it cannot be instructed to load the lib-specific configuration.

This would require inspect to include all other flags including --name and entry, because the config relies on those values. In addition, both targets uses multiple configs.
In fact, the only difference between the lib/wc config vs. the app version are entry/output options, which are not customizable anyway, so I don't think there is too much value in here considering the complexity in implementing it. I'd be open to a PR if someone wants to work on this though.

repo: vuejs/vue-cli