[Bug]: [0.6.5] Qwen2-VL LoRA Adapters  does not take effect.

Your current environment

The output of `python collect_env.py`
Collecting environment information...
PyTorch version: 2.5.1+cu121
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A
GCC version: (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1)
Clang version: 16.0.6 (Red Hat 16.0.6-2.module+el8.8.0+557+454507bd)
CMake version: version 3.26.5
Libc version: glibc-2.28
Python version: 3.12.5 (main, Sep 24 2024, 12:12:08)
Python platform: Linux-5.4.241-1-tlinux4-0017.7-x86_64-with-glibc2.28
Is CUDA available: True
CUDA runtime version: 12.4.131
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA L40
Nvidia driver version: 535.161.08
cuDNN version: Probably one of the following:
/usr/lib64/libcudnn.so.9.1.1
/usr/lib64/libcudnn_adv.so.9.1.1
/usr/lib64/libcudnn_cnn.so.9.1.1
/usr/lib64/libcudnn_engines_precompiled.so.9.1.1
/usr/lib64/libcudnn_engines_runtime_compiled.so.9.1.1
/usr/lib64/libcudnn_graph.so.9.1.1
/usr/lib64/libcudnn_heuristic.so.9.1.1
/usr/lib64/libcudnn_ops.so.9.1.1
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
CPU(s):              384
On-line CPU(s) list: 0-383
Thread(s) per core:  2
Core(s) per socket:  96
Socket(s):           2
NUMA node(s):        2
Vendor ID:           AuthenticAMD
CPU family:          25
Model:               17
Model name:          AMD EPYC 9K84 96-Core Processor
Stepping:            0
CPU MHz:             2600.024
BogoMIPS:            5200.04
Hypervisor vendor:   KVM
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            1024K
L3 cache:            32768K
NUMA node0 CPU(s):   0-191
NUMA node1 CPU(s):   192-383
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 rep_good nopl cpuid extd_apicid amd_dcm tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core invpcid_single ibpb vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 avx512_bf16 clzero xsaveerptr wbnoinvd arat avx512vbmi umip avx512_vbmi2 vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm
Versions of relevant libraries:
[pip3] flamingo-pytorch==0.1.2
[pip3] numpy==1.26.4
[pip3] nvidia-cublas-cu12==<IP_ADDRESS>
[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==<IP_ADDRESS>
[pip3] nvidia-cufft-cu12==<IP_ADDRESS>
[pip3] nvidia-curand-cu12==<IP_ADDRESS>
[pip3] nvidia-cusolver-cu12==<IP_ADDRESS>
[pip3] nvidia-cusparse-cu12==<IP_ADDRESS>
[pip3] nvidia-ml-py==12.560.30
[pip3] nvidia-nccl-cu12==2.21.5
[pip3] nvidia-nvjitlink-cu12==12.1.105
[pip3] nvidia-nvtx-cu12==12.1.105
[pip3] open_clip_torch==2.28.0
[pip3] optree==0.13.0
[pip3] pyzmq==26.2.0
[pip3] torch==2.5.1+cu121
[pip3] torchaudio==2.5.0a0+56bc006
[pip3] torchvision==0.20.1
[pip3] transformers==4.46.1
[pip3] transformers-stream-generator==0.0.4
[pip3] triton==3.1.0
[conda] Could not collect
ROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: 0.6.5
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0    CPU Affinity    NUMA Affinity   GPU NUMA ID
GPU0     X      192-383 1               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
LD_LIBRARY_PATH=/usr/local/lib64/python3.12/site-packages/cv2/../../lib64:/opt/rh/gcc-toolset-11/root/usr/lib64:/opt/rh/gcc-toolset-11/root/usr/lib:/opt/rh/gcc-toolset-11/root/usr/lib64/dyninst:/opt/rh/gcc-toolset-11/root/usr/lib/dyninst
CUDA_MODULE_LOADING=LAZY

Model Input Dumps
No response
🐛 Describe the bug
Hi, there. I have finetuned Qwen2-VL-7B-Instruct with LLaMA-Factory in two different tasks and got two lora weights(named lora1 and lora2). However, when I start an server with base model and these two lora adapters, just follow the document(https://docs.vllm.ai/en/latest/usage/lora.html), I found that no matter which lora model I request for, the response just as same as the base model.
As I print the details in https://github.com/vllm-project/vllm/blob/29c748930e0d35a98351a8cf8a093fba4b758114/vllm/lora/models.py#L368，

I found register modules are named with "language_model.model.layers.XXX" (maybe same as base model), however, the loaded weights of lora adapters are named with "model.layers.XXX"(processed by function parse_fine_tuned_lora_name). The difference makes module_lora=None and the foward process does not pass through the lora module.

I have not met with the same problem with 0.6.4post1, and I wonder if I misunderstand the usage in new version.
python3 -m vllm.entrypoints.openai.api_server --model $MODEL --served-model-name $SERVED_MODEL_NAME --enable-lora --lora-modules $LORA_MODULES --host <IP_ADDRESS> --port 12345 --trust-remote-code --max_model_len 1200 --dtype auto --limit-mm-per-prompt image=4,video=2 --chat-template-content-format openai --disable-frontend-multiprocessing
{     "object": "list",     "data": [         {             "id": "Qwen2-VL-7B-Instruct",             "object": "model",             "created":<PHONE_NUMBER>,             "owned_by": "vllm",             "root": "base_model_path",             "parent": null,             "max_model_len": 1200,             "permission": [                 {                     "id": "modelperm-8b3105807626418d8377fabb95e34611",                     "object": "model_permission",                     "created":<PHONE_NUMBER>,                     "allow_create_engine": false,                     "allow_sampling": true,                     "allow_logprobs": true,                     "allow_search_indices": false,                     "allow_view": true,                     "allow_fine_tuning": false,                     "organization": "*",                     "group": null,                     "is_blocking": false                 }             ]         },         {             "id": "lora1",             "object": "model",             "created":<PHONE_NUMBER>,             "owned_by": "vllm",             "root": "lora1_path",             "parent": "Qwen2-VL-7B-Instruct",             "max_model_len": null,             "permission": [                 {                     "id": "modelperm-179fdf3870524fbbb45474e1f0a95767",                     "object": "model_permission",                     "created":<PHONE_NUMBER>,                     "allow_create_engine": false,                     "allow_sampling": true,                     "allow_logprobs": true,                     "allow_search_indices": false,                     "allow_view": true,                     "allow_fine_tuning": false,                     "organization": "*",                     "group": null,                     "is_blocking": false                 }             ]         },         {             "id": "lora2",             "object": "model",             "created":<PHONE_NUMBER>,             "owned_by": "vllm",             "root": "lora2_path",             "parent": "Qwen2-VL-7B-Instruct",             "max_model_len": null,             "permission": [                 {                     "id": "modelperm-16e0e3cc984e437eb829a54c5c2af7f7",                     "object": "model_permission",                     "created":<PHONE_NUMBER>,                     "allow_create_engine": false,                     "allow_sampling": true,                     "allow_logprobs": true,                     "allow_search_indices": false,                     "allow_view": true,                     "allow_fine_tuning": false,                     "organization": "*",                     "group": null,                     "is_blocking": false                 }             ]         }     ] }
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.

I will try to reproduce your issue first.

This is a bug that we are working on to fix.

This is a bug that we are working on to fix.

thanks

Hi, I've submitted a PR to fix this. Could you please verify if it addresses your issue, see: #11430

Hi, I've submitted a PR to fix this. Could you please verify if it addresses your issue, see: #11430

How can i verify this PR, reinstall vllm from source？

Hi, I've submitted a PR to fix this. Could you please verify if it addresses your issue, see: #11430

How can i verify this PR, reinstall vllm from source？

Clone my branch, then build from source


When using where: struct generic type constraint in C#, build fails with Parse error

Godot version:
3.1.1 Mono Official
OS/device including version:
Windows 10
Issue description:
When using where: struct as a generic type constraint if you try to build the project it fails silently with a Parse error in csharp_project. Looks related to issues #23884 and #23545

Steps to reproduce:

Create a new C# godot project
Create a C# script with a generic method or generic class with the type constraint of struct
Try to run or build the project in godot

Minimal reproduction project:
ParseErrorExampleProject.zip

This is invalid C# code and will not work anywhere, you have a typo. Replace where: struct with where T : struct.
public static void TestMethod<T>(T arg) where T : struct {}

However, it seems that the code still fails with the typo fixed:
modules/mono/mono_gd/gd_mono_utils.cpp:604 - System.Exception: Failed to determine namespace and class for script: res://GenericTest.cs. Parse error: ParseError
editor/editor_node.cpp:5155 - An EditorPlugin build callback failed.
modules/mono/mono_gd/gd_mono_utils.cpp:604 - System.Exception: Failed to determine namespace and class for script: res://GenericTest.cs. Parse error: ParseError

VS Code's syntax highlighting marks this as valid code. It doesn't seem to matter whether this is on a Node-derived script or a System.Object-derived one, it always fails. @neikeq

Shoot, sorry about that. I threw that example project together really quick and should have double checked the code instead of just looking if it generated the same or similar parser error. I updated the example project to fix the typo.

This is still problem in 3.2

I'm also having a similar problem with one of my files that defines a generic class in a nested namespace:
using EnsureThat;
using Godot;
using JetBrains.Annotations;
using Microsoft.Extensions.Logging;

namespace AlleyCat.Morph
{
    // ReSharper disable ConvertToAutoProperty
    public abstract class MorphDefinition : Resource, IMorphDefinition
    {
        public string Key => ResourceName;

        public string DisplayName => Tr(_displayName);

        public bool Hidden => _hidden;

        [Export, UsedImplicitly] private string _displayName;

        [Export, UsedImplicitly] private bool _hidden;

        protected MorphDefinition(string key, string displayName, bool hidden)
        {
            Ensure.That(key, nameof(key)).IsNotNullOrEmpty();
            Ensure.That(displayName, nameof(displayName)).IsNotNullOrEmpty();

            ResourceName = key;

            _displayName = displayName;
            _hidden = hidden;
        }

        protected MorphDefinition()
        {
        }

        public abstract IMorph CreateMorph(IMorphable morphable, ILoggerFactory loggerFactory);
    }

    namespace Generic
    {
        public abstract class MorphDefinition<T> : MorphDefinition
        {
            public T Default => _default;

            [Export, UsedImplicitly] private T _default;

            protected MorphDefinition(string key, string displayName, T defaultValue, bool hidden) :
                base(key, displayName, hidden)
            {
                _default = defaultValue;
            }

            protected MorphDefinition()
            {
            }
        }
    }
}

What I found to be interesting was, when I change name of the source file to include a space at the end like MorphDefinition .cs, it no longer throws an error and the project builds normally.
I suppose this could mean Godot just ignores such files but it's a no problem in my case, since it's just an abstract class so doesn't need to be referenced directly within the editor.


Stateless widgets

This PR introduces a pure, stateless version of every widget in iced alongside a new Pure widget to embed them in an impure, stateful application.
The Elm Architecture, purity, and continuity
As you may know, applications made with iced use The Elm Architecture.
In a nutshell, this architecture defines the initial state of the application, a way to view it, and a way to update it after a user interaction. The update logic is called after a meaningful user interaction, which in turn updates the state of the application. Then, the view logic is executed to redisplay the application.
Since view logic is only run after an update, all of the mutations to the application state must only happen in the update logic. If the application state changes anywhere else, the view logic will not be rerun and, therefore, the previously generated view may stay outdated.
However, the Application trait in iced defines view as:
pub trait Application {
    fn view(&mut self) -> Element<Self::Message>;
}

As a consequence, the application state can be mutated in view logic. The view logic in iced is impure.
This impurity is necessary because iced puts the burden of widget continuity on its users. In other words, it's up to you to provide iced with the internal state of each widget every time view is called.
If we take a look at the classic counter example:
struct Counter {
    value: i32,
    increment_button: button::State,
    decrement_button: button::State,
}

// ...

impl Counter {
    pub fn view(&mut self) -> Column<Message> {
        Column::new()
            .push(
                Button::new(&mut self.increment_button, Text::new("+"))
                    .on_press(Message::IncrementPressed),
            )
            .push(Text::new(self.value.to_string()).size(50))
            .push(
                Button::new(&mut self.decrement_button, Text::new("-"))
                    .on_press(Message::DecrementPressed),
            )
    }
}

We can see how we need to keep track of the button::State of each Button in our Counter state and provide a mutable reference to the widgets in our view logic. The widgets produced by view are stateful.
While this approach forces users to keep track of widget state and causes impurity, I originally chose it because it allows iced to directly consume the widget tree produced by view. Since there is no internal state decoupled from view maintained by the runtime, iced does not need to compare (e.g. reconciliate) widget trees in order to ensure continuity.
Stateless widgets
As the library matures, the need for some kind of persistent widget data (see #553) between view calls becomes more apparent (e.g. incremental rendering, animations, accessibility, etc.).
If we are going to end up having persistent widget data anyways... There is no reason to have impure, stateful widgets anymore!
And so I started exploring and ended up creating a new subcrate called iced_pure, which introduces a completely stateless implementation for every widget in iced.
After the changes in this PR, we can now write a pure counter example:
struct Counter {
    value: i32,
}

// ...

impl Counter {
    fn view(&self) -> Column<Message> {
        Column::new()
            .push(Button::new("Increment").on_press(Message::IncrementPressed))
            .push(Text::new(self.value.to_string()).size(50))
            .push(Button::new("Decrement").on_press(Message::DecrementPressed))
    }
}

Notice how we no longer need to keep track of the button::State! The widgets in iced_pure do not take any mutable application state in view. They are stateless widgets. As a consequence, we do not need mutable access to self in view anymore. view becomes pure.
All of the widgets in iced_native, iced_graphics, and iced_lazy have a pure counterpart! In order to use any of them, you will need to enable the new pure feature. For instance:
iced = { git = "https://github.com/iced-rs/iced.git", features = ["pure"] }

Once the pure feature is enabled, you can find the new widgets in the pure module.
use iced::pure::widget::Button;

let hello_button = Button::new("Hello!");

For the optional widgets (e.g. Canvas, Image, etc.) you will still need to enable the specific widget feature, alongside the pure feature.
Additionally, I have introduced function helpers to allow you to use widgets with less verbosity:
use iced::pure::button;

let hello_button = button("Hello!");

Let me know if you have any ideas to further reduce the boilerplate in view code.
Purifying applications
The pure module also offers pure versions of the Application and Sandbox traits, so you can get started with pure iced applications right away.
The following examples have a new pure version and showcase how to use the new pure module:

component
game_of_life
pane_grid
pick_list
todos
tour

However, if you already have an existing iced application, you do not need to switch completely to the new traits in order to benefit from the pure module. Instead, you can leverage the new Pure widget to include pure widgets in your impure Application.
For instance, let's say we want to use our pure Counter in an impure application:
use iced::pure::{self, Pure};
use iced::{Sandbox, Element};

struct Impure {
    state: pure::State,
    counter: Counter,
}

impl Sandbox for Impure {
    // ...

    pub fn view(&mut self) -> Element<Self::Message> {
        Pure::new(&mut self.state, self.counter.view()).into()
    }
}

Pure acts as a bridge between pure and impure widgets. It is completely opt-in and can be used to slowly migrate your application to the new architecture.
The purification of your application may trigger a bunch of important refactors, since it's far easier to keep your data decoupled from the GUI state with stateless widgets. For this reason, I recommend starting small in the most nested views of your application and slowly expand the purity upwards.
In the long run, the plan is to make pure the default API and deprecate the impure widgets altogether.
Other changes
This PR also contains a bunch of smaller changes worth mentioning:

The glow_canvas and glow_qr_code features have been removed. Now you can simply enable canvas or qr_code together with glow.
The generic Message in the canvas::Program trait has been turned into an associated type.
iced_wgpu, iced_glow, and iced_graphics no longer re-export aliases of all the widgets. This caused a lot of unnecessary duplication. If you need widgets that are renderer-agnostic, you can depend on iced_native directly.
A bunch of widget logic in iced_native (layout, update, draw, etc.) has been isolated into functions in its respective widget module.
&'static str implements Into<Element> by turning it into pure::Text. This is very useful to avoid typing Text::new everywhere!

And I think that's all! This is maybe the biggest user-facing change since the inception of the library. Give it a shot and let me know what you think!

I'm wondering what the scrollable example would look like, where the scrollable::State::snap_to function is used in Application::update

@alex13sh Querying / modifying internal widget state is not possible in this iteration.
But there are 2 main ideas to satisfy this use case:

Exposing a Command API in every widget module.
Allowing users to explicitly track internal state when necessary.


Segmentation violation error when forbidding certain files

Describe the bug
When trying to include certain files only with a path I get a runtime error telling me that there is a segmentation violation. As a baseline I used the path_only.toml from the test data.
However, when adding a regex there is no error and gitleaks runs as expected.
To Reproduce
path_only.toml:
title = "gitleaks config"

[[rules]]
description = "Python Files"
id = "python-files-only"
path = '''.py'''

I'm using gitleaks as follows (currently being inside my repo):
gitleaks -c ./gitleaks_test.toml detect -v .

Expected behavior
Gitleaks should give me all python files in the commit history of my repo.
Actual behavior

    ○
    │╲
    │ ○
    ○ ░
    ░    gitleaks

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x10 pc=0x100466e5c]

goroutine 39 [running]:
regexp.(*Regexp).allMatches(0x0, {0x14000244600, 0x474}, {0x0, 0x0, 0x0}, 0x475, 0x1400027d650)
	regexp/regexp.go:782 +0xac
regexp.(*Regexp).FindAllStringIndex(0x140002800cd?, {0x14000244600?, 0x0?}, 0x1400021a690?)
	regexp/regexp.go:1139 +0x5c
github.com/zricethezav/gitleaks/v8/detect.(*Detector).detectRule(0x14000264000, {{0x14000244600, 0x474}, {0x140002800cd, 0x21}, {0x1400021a307, 0x28}, {0x14000260400, 0x2a, 0x2a}}, ...)
	github.com/zricethezav/gitleaks/v8/detect/detect.go:152 +0x2e8
github.com/zricethezav/gitleaks/v8/detect.(*Detector).Detect(0x14000264000, {{0x14000244600, 0x474}, {0x140002800cd, 0x21}, {0x1400021a307, 0x28}, {0x14000260400, 0x2a, 0x2a}})
	github.com/zricethezav/gitleaks/v8/detect/detect.go:371 +0x1b0
github.com/zricethezav/gitleaks/v8/detect.(*Detector).DetectGit.func1()
	github.com/zricethezav/gitleaks/v8/detect/detect.go:283 +0x134
github.com/fatih/semgroup.(*Group).Go.func1()
	github.com/fatih/semgroup@v1.2.0/semgroup.go:64 +0x8c
created by github.com/fatih/semgroup.(*Group).Go
	github.com/fatih/semgroup@v1.2.0/semgroup.go:60 +0x294

Basic Info (please complete the following information):
OS: macOS Monterey v12.3
Gitleaks Version: 8.5.2

Additional info
In a previous version I already tried this and it worked without any problem.
cc @zricethezav

Fixed with https://github.com/zricethezav/gitleaks/releases/tag/v8.5.3, reopen if you're still experiencing problems


Get the Last-Modified date from the .md files

If we can get the Last-Modified date from the md files we can use that to setup fingerprinting to dynamically enable caching in the browser.
More info:
https://developers.google.com/speed/docs/best-practices/caching?csw=1

This has been added with lastmod in front matter. I do not believe in using the content file's timestamp as an indicator for this -- that will lead to lots of surprises.


Add functionality to list StatsBomb open competitions and available matches

Hi!
While working on the docs I realized it wasn't very straightforward to see which competitions and matches are available in the StatsBomb open data repository, at least not from within Kloppy.
I have added functionality such that we can do:
from kloppy import statsbomb

statsbomb.list_open_competitions(detailed=True)
statsbomb.list_open_matches(223, 282, detailed=True)

A couple things to consider:

Both these functions return a pandas dataframe, but Kloppy has no explicit dependency on pandas. I have inserted a warning (similar to the one shown when doing dataset.to_df() if pandas has not been installed.
I have added a detailed (bool=False) parameter to both functions. Setting it to False will provide all available columns, leaving it to the default False will give us only the most relevant columns
I have moved the underlying functions to kloppy.infra.serializers.event.statsbomb.helpers. I'm not sure if this is desirable.
Because of point 1, we cannot explicitly state the return type of our functions, ie we cannot do the following:

def list_open_matches(
    competition_id: int, season_id: int, detailed: bool = False
) -> pd.DataFrame:

Instead we simply do:
def list_open_matches(
    competition_id: int, season_id: int, detailed: bool = False
):

Just to add, if the basic functionality is approved I'll add some tests

A few remarks:

I prefer the initial proposal of adding a list_open_data function that immediately retrieves all match ids for all competitions. It can have optional arguments to filter on a competition and / or season. With list_open_competitions and list_open_matches it's again a two-step operation to retrieve a certain match id.
StatsBomb has a great well-maintained Python API. Would it be an option to simply wrap their API?

def list_open_data(fmt="dataframe"):
    try:
        from statsbombpy import sb
    except ImportError:
        print("Please install the statsbombpy library to use this function.")
        return

    try:
        # Fetch all available competitions as a dictionary
        competitions = sb.competitions(fmt="dict")

        # Initialize an empty list to store DataFrames for matches
        all_matches = []

        # Loop through each competition and fetch matches using competition_id and season_id
        for competition in competitions.values():
            matches = sb.matches(
                competition_id=competition['competition_id'],
                season_id=competition['season_id'],
                fmt=fmt
            )
            all_matches.append(matches)

        # Combine all matches into a single DataFrame
        if fmt == "dataframe":
            import pandas as pd
            combined_matches = pd.concat(all_matches, ignore_index=True)
            return combined_matches
        elif fmt == "dict":
            return all_matches
        else:
            raise ValueError("Invalid format. Use 'dataframe' or 'dict'.")

    except Exception as e:
        raise RuntimeError(f"An error occurred while fetching data: {e}")

# Example usage:
df = list_open_data(fmt="dataframe")
print(df.head())

This seems fine to me too! I wasn't sure about relying on the sb package initially, but why not.

@probberechts do you have any suggestions for passing the competition / season filters? It might make sense to have this be a dict with comp / season_id value pairs, but it might also make sense to simply be able to provide a competition_id and or a competition / season_id pair?

do you have any suggestions for passing the competition / season filters?

Maybe simply allow everything? You can define a StatsBombPartitionIdentifier object and then try to parse a dict or tuple into this object.
@dataclass
class StatsBombPartitionIdentifier:
    competition_id: Optional[int] = None
    season_id: Optional[int] = None

    @classmethod
    def from_dict(cls, data: Dict):
        """Create a PartitionIdentifier from a dictionary."""
        return cls(
            competition_id=data.get('competition_id'),
            season_id=data.get('season_id')
        )

    @classmethod
    def from_tuple(cls, data: Tuple[Optional[int], Optional[int]]):
        """Create a PartitionIdentifier from a tuple."""
        if len(data) != 2:
            raise ValueError("Tuple must have exactly two elements: (competition_id, season_id)")
        return cls(
            competition_id=data[0],
            season_id=data[1]
        )

Then, the input to list_open_data can be a StatsBombPartitionIdentifier | list[StatsBombPartitionIdentifier] | dict | list[dict] | tuple | list[tuple].
Although, I don't think I would use these identifiers a lot. I can see it might be nice to have this option since it will make data retrieval more efficient (you won't have to retrieve the file with matches for each competition-season pair). However, the only ID that I know by hard is the one of the EPL and would probably rather wait an extra second rather than typing another parameter 🙃. So, maybe we don't have to add this option.

the first step is always going to be a two step process

Yes, typically it will be. But I prefer to do these two steps directly in Pandas. Below are a few use cases in which I think this functionality would be useful:
:thinking: I would like to do some analysis with 360 data, which datasets can I use?
df = list_open_data(fmt="dataframe")
df["has_360"] = df["match_status_360"] == "available"
print(df.groupby(["competition", "season"])["has_360"].sum().sort_values(ascending=False))

:thinking: What is the ID of the 2022 World Cup final?
df = list_open_data(fmt="dataframe")
print(df[df.match_date == "2022-12-18"])

:thinking: Get the metadata of a particular game.
df = list_open_data(fmt="dataframe")
print(df[df.match_id == 7584])

I've changed it to your suggested implementation. Where we allow a single combination of competition_id and season_id or we pull everything.
Some notes:

Have suppressed the NoAuthWarning in the sb.matches() for-loop because one warning is enough, and we get that warning when we grab the competitions.
I had to add the competition_id and season_id to the dataframe implementation, because for some reason statsbomb was not giving that by default.

@koenvo do we need tests for this? And if so, what would they look like?

@probberechts what do you think of putting ingestify in between? I might have broken the current statsbomb open data Source, but when it's fixed it provides all necessary parts to work with the open data.
It might need an additional "get or fetch" method to either get it directly from (local) storage, or retrieve it first.

@probberechts what do you think of putting ingestify in between? I might have broken the current statsbomb open data Source, but when it's fixed it provides all necessary parts to work with the open data.
It might need an additional "get or fetch" method to either get it directly from (local) storage, or retrieve it first.

I think adding ingestify might be overkill for our needs. We only need to download ~10 small JSON files, maybe once in a while. The main reason I proposed using the statsbombpy package is that it already parses everything neatly into dataframes. I am not very familiar with ingestify, but I guess it does not do that part.

I also don't know what ingestify does, but does indeed feel like overkill. The statsbombpy package works fine, plus it allows users to directly grab non open data too if they have access

Ok. Let’s go for this solution.
I do think it would be good to introduce some models for competition, seasons and match etc to prevent having StatsBomb specific structures in through the code.

How/where do you see this?

I do think it would be good to introduce some models for competition, seasons and match etc to prevent having StatsBomb specific structures in through the code.

Yes, this is a good point! I guess what you mean is that we should add something like a DatasetCollection entity to kloppy?
@dataclass
class Game:
    game_id: int
    home_team: Team
    away_team: Team
    date: datetime

@dataclass
class Season:
    season_year: str  # e.g., "2023-2024"
    season_id: int
    games: List[Game] = field(default_factory=list)

@dataclass
class Competition:
    name: str  # e.g., "Premier League"
    competition_id: int
    seasons: List[Season] = field(default_factory=list)

@dataclass
class DatasetCollection:
    """Represents a dataset containing games from multiple competitions."""
    competitions: List[Competition] = field(default_factory=list)

   def to_df():
       """Retrieve all games from all competitions and seasons as a dataframe."""
       raise NotImplementedException()


Use "names = F" for performance of quantile(). Fixes #107

I need a better way to benchmark performance of end-to-end runs. I know this should have improved things, but once again, the differences are so small they don't seam to change the bulk run times when comparing one method to another. Regardless, I think this is a solid change that should improve performance generally.

Coverage increased (+0.07%) to 96.16% when pulling 10a753ec0366e6a110429df78012cb6be39ff74c on dblodgett-usgs:qnames into 3ffb32e0aad706dc3317a94460263f2fdea2ff58 on USGS-R:master.

@dblodgett-usgs - Out of curiosity, how are you conducting benchmarks of different package versions?
I had put together a little code like this, but there's got to be a better way.
## Local Run
library(EflowStats)
x <- sampleData[c("date","discharge")]

z1 = vector(length=10)

for(i in 1:10){
  ptm <- proc.time()
  hitOutTest1 <- hitAllStats(x=x,yearType="water",stats="all",pref="mean",drainArea=50)
  z1[[i]] = (proc.time() - ptm)["elapsed"]
}

summary(z1)

## Master Run
detach(package:EflowStats)
devtools::install_github("USGS-R/EflowStats")

library(EflowStats)
x <- sampleData[c("date","discharge")]

z2 = vector(length=10)

for(i in 1:10){
  ptm <- proc.time()
  hitOutTest2 <- hitAllStats(x=x,yearType="water",stats="all",pref="mean",drainArea=50)
  z2[i] = (proc.time() - ptm)["elapsed"]
}

summary(z2)

I create two branches, one of the old code one of the new. I switch from branch to branch rebuilding the package and run the same code with one or the other branch built. Bruit force I guess.

It was Friday afternoon and I felt like doing something mindless so I added tests for errors.

Coverage increased (+0.6%) to 96.672% when pulling 2afd4f594e7a651b6e061596fc1f6111b23ecdd4 on dblodgett-usgs:qnames into 3ffb32e0aad706dc3317a94460263f2fdea2ff58 on USGS-R:master.

Coverage increased (+0.7%) to 96.758% when pulling 6f08f2d026141ece03b797ccd07cdc5d7458d46a on dblodgett-usgs:qnames into 3ffb32e0aad706dc3317a94460263f2fdea2ff58 on USGS-R:master.

Coverage increased (+1.2%) to 97.27% when pulling 0dfd48029b186acb6fae7f4ed94014e63efbb6eb on dblodgett-usgs:qnames into 3ffb32e0aad706dc3317a94460263f2fdea2ff58 on USGS-R:master.

Coverage increased (+3.07%) to 99.156% when pulling 7f1e365f114d8f568a9ade12dbfda4d0816c11d7 on dblodgett-usgs:qnames into 3ffb32e0aad706dc3317a94460263f2fdea2ff58 on USGS-R:master.

That was painful. Note to self, remember to pull down new changes from upstream before banging head against wall.

Bike race canceled so I finished out testing things as far as I can with the data we have on hand. There are a few edge cases of the timing stats that don't get hit... probably OK, but I wish we get get to 💯.

Coverage increased (+3.5%) to 99.578% when pulling cad9fa4fde9e4c4f986970ff0258d76ab577d402 on dblodgett-usgs:qnames into 3ffb32e0aad706dc3317a94460263f2fdea2ff58 on USGS-R:master.

Woowoo! 99.578 rounds to 💯

So did this in-fact increase performance in a substantial way?

It was a small increase in performance, but to be honest, any performance increase at this point is going to be small. The package is in pretty good shape for what it does!

OK, I don't have a strong preference but I like the naming personally, if its already been changed then OK but the named quantiles makes the code a little more readable and less prone to accidentally using the wrong quantile

Yeah. naming is bring applied as a second step: https://github.com/USGS-R/EflowStats/pull/138/files#diff-2e0de00f0bf93d86240339524ffcf2c5R180
Realizing I could have used setNames() to do this in a little more clean way, but this works.

That looks good to me.
That is really bizarre that the naming within the function slows it down so much

@tmills-usgs - Agreed, but it makes sense if you look at the source code since it runs a separate secondary function for naming.
https://github.com/SurajGupta/r-source/blob/master/src/library/stats/R/quantile.R#L102

Alright. I'm gonna :shipit: !!


Open links in private window

Hi.
I'm on ubuntu 18.04 + android.
I would like to be able to open web links in the chat in a private window.
Is there a way to do that?
I tried to add BROWSER=firefox --private-window %u in ~/.config/keybase/keybase.env but with no luck.
Thanks

It's all on your side (OS); keybase just display link, purely link. Regarding the action of using what app to open it, it's your OS that handle it.

I know that I can make my system open all links in private windows. But majority of time I prefer to have the history.
For example in my rss software (Akregator) I can specify which browser I want to use to open links.
That would be not so difficult to implement I think and a good thing for privacy.

I think it's easier if you copy the link from keybase and paste it in your browser in private mode

@yericua Are you a Keybase développer?
If yes I can understandyyou don't want to make it.
If not, I'm sure a lot of people would be interested by this feature so let me ask it please.


Fix bal command issue in "C:" and "D:"

Purpose
Fix bal command issue in "C:" and "D:" directories. (Unless it opens bal help window in the command line)
Fixes #https://github.com/ballerina-platform/ballerina-lang/issues/33841
Approach
Changed the heap-dump.hprof path from "%cd%" to "".

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.NipunaMadhushan seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


How can a  use the maven central analyser without  Internet access

All,
I have a OWASP dependency checker installation living in an environment without internet access.
The CVE database is supplied to me and updated,
Now the maven central analyser fails on accessing search.maven.com.
Also i have a nexus OSS 3 and not Pro version. How can i make use of my nexus OSS installation to provide data to the maven central analyser, or is my only option in this setup to disable this scanner ?
The nexus OSS 3 server has configured maven central as proxy repository by the way.
Thanks in advance.

Unsure about OSS3, but Nexus OSSv2 works fine for our on-premise installation... so you could just try configuring the rest-api URL of your Nexus OSSv3 instance as the Nexus URL and enable the nexusAnalyzer (which will disable the Central Analyzer automatically)

Best would be to use ODC as a build plugin (mvn, gradle, sbt, or lein) and disable the central analyzer.  All of the information gained by using the central analyzer is obtained directly from the dependency management system in the build tool.


Virtual Keyboard

Title and Issue number
Close #4084
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

@TusharKesarwani Please review this.


It would be nice to be able to see more than 50 nodes if many have high probability

need some clarification

what does is mean "many have high probability"

can we simply set a fixed upper limit and let the slider do the rest?

[ ] determine the upper limit due to performance

[ ] change how the graph is created to have all of those nodes

[ ] adjust the slider to the probabily of the 50th node and show just 50 nodes to begin with

[ ] set the slider low end to be the lowest probability of the last node to be displayed

@ChristopherMancuso let us know that 50 is enough and that's what the limit is currently, and we show 20 nodes when the graph is first loaded.   I would like to open the question again, now that we have sliders if you want to increase that upper limit to something like 100.

this is a tricky on to answer. There is two factors at play. First, is can a graph with more nodes still look good enough to give informative information (i..e have it not turn into the dreaded hairball). Second, how much data can go on the web page with out it causing loading problems (if the network is too big and it crashes or slows down looking at the gene predictions, that is not good).
This is all compounded by the fact the network density between different network types is so variable. For instance, looking at 100 nodes in BioGRID is going to be way different than looking at 100 nodes in GIANT-TN (I think). It is great that 200 nodes in GIANT-TN works on your computer Jacob.

@jacobnewsted in the current version of geneplexus, are you setting the force constants differently for each network?

this issue was something we discussed prior to submitting the manuscript for review, and we didn't revisit this as part of changes to address reviewer comments after the paper was accepted with revisions.   The reviewers did not bring this up and it's on not on the google doc of changes, so I'm taking this out of this milestone.    @ChristopherMancuso should this be closed outright, or saved as a question for the next version of geneplexus web server?

@billspat Let's save it for the next version of the web server


npm install required -f

I faced the issue that was reported on teams. Seems flaky depending on npm version.

After using -f parameter

thanks @sujitdmello


Merge master into vnext-kitematic

Describe the proposed changes
Merge master into vnext-kitematic to pick up recent fixes / changes / updates.
Project version
kitematic-next
Related issue
n/a
Related issue or PR in another project
n/a
Please take a look
@johndmulhausen @londoncalling

LGTM


[FEATURE] Add ability to check references to wash app validate

Affected project(s)

[ ] documentation
[ ] examples
[ ] wasmCloud host
[X] wasmCloud CLI (wash)
[ ] wasmCloud dashboard UI (washboard)
[ ] capability providers
[ ] provider bindgen
[ ] control interface client
[ ] other / not sure

Is your feature request related to a problem? Please describe.
It's possible today to write WADM manifests that have bad references in them. It might be nice if wash app validate took a --check-image-refs or some such flag that checked to ensure that images referenced in the manifest were valid.
Describe the solution you'd like
Add an option to wash app validate that causes checks whether image references are valid where present.
Describe alternatives you've considered
N/A
Additional context
No response

Hey @vados-cosmonic -- Wouldn't it be better to include this functionality in the wash app validate cmd itself (natively)  instead of adding a flag to specify checking the img ref, Is there any use case that could benefit from having a dedicated flag ?

I think a good benefit from having this toggleable, whether off or on by default, is that it might fail to validate simply by not having connectivity to the OCI repositories. I tend to agree that it would be nice by default to run the manifest through the whole suite of validation steps

I agree with your suggestion 😄 I'm leaning towards adding the oci reference check as a default validation step , however if connection to the oci registry isn't possible, validate continues with the rest of the suite with a warning message at the end stating something along the lines of "Validation skipped over Oci ref check, connectivity issue is highly probable"

Hey @Aditya1404Sal that sounds great -- what would we do if we wanted to make sure that OCI references failed the test? If we added it as you're suggesting now, I'm afraid that we would have to add another thing to force the check to fail (or add some sort of logic to read the warnings produced)
This kind of test is quite important, so I'd assume that if someone was adding it, they really want it to pass, and it's a bit heavier than other checks (requires outside access), so that's why having it be opt-in might be reasonable.
That said, going with it being included as a default check + warning -- what would I do to figure out that the test failed if I really cared about it?

Hey @vados-cosmonic You're right, and I see now where I was mistaken. I didn't fully consider the issues that could arise with connectivity and how critical this check is for some users. Having it as an opt-in feature with a flag makes a lot more sense. This way, users who need to ensure their OCI references are valid can do so explicitly, without the risk of missing a failed check due to connectivity issues. Thanks for clarifying!

Yeah we do certainly have some things that ARE warnings so it's not like we couldn't do it as a warning -- thanks for working on this! If you start implementing and feel like it just doesn't fit, let's re-discuss it, I'm pretty sure @brooksmtownsend is happy to go either way, and the DX/feel is so important here!

this issue can be closed!

Ah thanks again for working on this @Aditya1404Sal, closing!


Looking at an item in a container

I would expect to be able to look at the description of an item in a container.
Syntax could be something like look <item> in <container> or look <container> <item>, not sure which is more favorable.

I don't think that was actually possible in Diku/SMAUG so I'm not going to worry too much about this one

Really I'm more concerned about building the breadth of commands now more than making the basic ones super feature-full. So I'd say try to think of commands that might be missing that you're used to in other MUDs that weren't specific to that MUD's featureset. Stuff like emote, sleep, score, list/sell/buy, etc.

Yeah, I've been thinking about emote, too. I'll make issues for that.


Update release notes for 0.18.0

One question above, otherwise LGTM.

Can I ask you to edit directly? I'm unlikely to expend much effort fine
tuning the release notes line by line.
On Thu, Jun 14, 2018 at 6:01 PM, jakirkham<EMAIL_ADDRESS>wrote:

One question above, otherwise LGTM.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/3618#issuecomment-397451962, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszGy9bNEYcUGCu92ShoEHbxfEhqenks5t8t1KgaJpZM4Uoa-6
.

Merged manually.  Closing


Create command should not create configuration in case of failure

Current
The first thing the airy create command does is create the workspace configuration. If there is a subsequent failure during the provisioning and installation.
Desired
The configuration workspace is only created after all create steps are completed.

I agree with this feature, but doesn't this make the init-only option an edge case?
Because the current behaviour if this flag is true, is that we create the config directory and exit the program. If we move creating the config dir as the last part of the process it almost seems like this action needs it's own command
What do you think?

@paulodiniz There was a whole discussion about getting rid of airy init and I would not like to bring it back. So yes. init-only is a special case of the create command, because it's a part of its flow.
To keep the code simple you could also defer the creation of the workspace and return if the init only flag is set.

@chrismatix I don't think we can do that way because if we defer the function, the other operations will run and that's the opposite of init-only

To be clear on where I stand: I would remove the init-only option

As I understand it, now the init-only option makes no sense so I agree. Let's remove it (the fact it's not mentioned anywhere in the docs is also a sign) for now

Also, we do the provision of the provider using the config directory. Maybe I'm missing some context, but how can we do that if we create the config dir last?


[Flake]: Bazel builds failed while downloading http archive.

Two (otherwise unrelated) builds failed while downloading the BoringSSL archive:
https://sponge.corp.google.com/target?id=936c747b-c24b-4938-bb80-108e46618629&target=cloud-cpp%2Fspanner%2Fdocker%2Fubsan-presubmit
https://source.cloud.google.com/results/invocations/2340826a-9f4e-4277-a244-0bbacbbb84aa/targets/cloud-cpp%2Fspanner%2Fmacos%2Fbazel/log
We should consider caching the most important tarballs in GCS so the download has an alternative location. I believe the TensorFlow folks do this:
https://github.com/tensorflow/tensorflow/blob/76aa7f81ab726eb9f862c6c691ef2c76ea4e6af3/WORKSPACE#L10

Another one:
https://source.cloud.google.com/results/invocations/bac36efc-be8e-49c9-9501-5b8916d01520

And another one:
https://source.cloud.google.com/results/invocations/98f0cd7a-34df-41bd-aa77-7bdfe2b3677e
@devjgm this is the third strike on this particular sort of flakiness.

And another one:
https://source.cloud.google.com/results/invocations/4c714290-7d8b-4443-838b-bddd975afe84/targets

Here is another one of these:
https://source.cloud.google.com/results/invocations/444cb1b5-f06c-4a5e-8969-3c5ac05c8e51

Another one:
https://source.cloud.google.com/results/invocations/47f1dde4-c6bd-4847-85d2-c5466f949efe

It might be possible to fix these by downloading all the dependencies (with retries) before starting the build, something like:
while i in 1 2 3; do
  if bazel fetch //google/cloud/...:all; then break; fi
  sleep 10
done

7 days ago https://github.com/grpc/grpc/pull/21811 was merged, which I suspect will address this problem. It looks like the issue was that grpc used to be picking up boringssl without specifying a SHA256, which made it so bazel could not cache the result. The PR previously mentioned now adds a SHA and a github mirror to download the boringssl tarball.
So I think that after the next grpc release this problem should go away (note: the current release is https://github.com/grpc/grpc/releases/tag/v1.27.1).

@devjgm if only life was that "easy".
Using a SHA256 for boringssl sounds like a great idea, but it is unlikely to help, the issue wasn't so much that the download was corrupted, rather that it was interrupted or not started and Bazel just gives up.
In #1196 we started using bazel fetch with a retry loop, that may have (I would say it seems to have) reduced the problems. Except that bazel fetch does not seem to download all the dependencies (I observe more dependencies downloaded in bazel build, no idea why it works like this), so I expect failures to happen, just to be more rare.
In addition, 1.27.1 was started before grpc/grpc#21811 was merged. So probably another 6 weeks before a gRPC release including that PR.

Using a SHA256 for boringssl sounds like a great idea, but it is unlikely to help, the issue wasn't so much that the download was corrupted, rather that it was interrupted or not started and Bazel just gives up.

Right. But https://github.com/grpc/grpc/pull/21811 seems to suggest that the lack of a SHA256 prevents bazel from caching the downloaded dep, and thus adding the SHA256 would allow it to cache. If bazel caches the download, then we should download boringssl less often and I'd therefore expect to see this flake less often. Well, that was my thinking anyway.

This is blocked until we get a gRPC version with hashes for BoringSSL, so we can remove the  🚨 label. Note, however, that do not currently cache build artifacts or downloaded dependencies between CI runs.


updating entities fail to trigger render

This seems to be a bug.
When updating the contentState of the Editor it is my understanding the child entity Components should be updated with new contentState prop. This does not seem to be happening.
The specific situation is that I am updating contentState with a new result from contentState.mergeEntityData and subsequent Editor.push.
In the following fiddle, I expect the activate and deactivate buttons to update the contentState, thus re-rendering the entity's TestComponent which should resort in the toggling of a blue or yellow background. You can verify the {active} data triggers the background change by editing the initial rawData and verify that the contentState is updating with the "Log State" button.
https://jsfiddle.net/steckel/h9gd6bm0/
I am testing using Chrome 56.0.2924.87 and draft-js 0.10.0.

I agree, this is certainly annoying behavior!
The workaround that currently seems to be advised is to use EditorState.forceSelection to force an update. In your fiddle, pressing a button and then clicking to change selection does cause {active} to update.
For example, using forceSelection as workaround might look like:
_handleActiveEntityClick = () => {
  const entityKey = "1";
  const contentState = this.state.editorState.getCurrentContent();
  const entity = contentState.getEntity(entityKey);
  const newContentState = contentState.replaceEntityData(entityKey, {active: true});

  const editorState = EditorState.push(this.state.editorState, newContentState, "activate-entity-data");
  const selection = editorState.getSelection();

  this.setState({editorState: EditorState.forceSelection(editorState, selection)});
}

_handleDeactiveEntityClick = () => {
  const entityKey = "1";
  const contentState = this.state.editorState.getCurrentContent();
  const entity = contentState.getEntity(entityKey);
  const newContentState = contentState.replaceEntityData(entityKey, {active: false});
  const editorState = EditorState.push(this.state.editorState, newContentState, "deactivate-entity-data");
  const selection = editorState.getSelection();

  this.setState({editorState: EditorState.forceSelection(editorState, selection)});
}

Anyway, I certainly agree that this is undesirable and would ideally be handled better...

Thank you for the quick reply! Is it safe to consider this a bug or would that be an egregious term and this is just a misunderstanding of the design decisions?

@steckel I'm not sure! I personally feel like it is a bug -- but I also very well could just have a misunderstanding of the design decisions around this aspect.

@steckel @kedromelon I would expect this to re-render properly:
const newContentState = contentState.mergeEntityData(
    entityKey,
    data
  );

this.setState({editorState: EditorState.push(editorState, newContentState, 'apply-entity')});

I would argue that this is the expected behavior when you are dealing with immutable.js and react. Currently I need to do an applyEntity() to get this to work:
let newContentState = contentState.mergeEntityData(
    entityKey,
    data
  );

  const selection = SelectionState.createEmpty(block.getKey()).set('focusOffset', 1);

  newContentState = Modifier.applyEntity(
    newContentState,
    selection,
    entityKey
  );

this.setState({editorState: EditorState.push(editorState, newContentState, 'apply-entity')});

This seems like a hack.

As you can see in the current code 0.10 doesn't even try to provide an immutable api for entities. The same method in 0.11-alpha handles this as one would expect. I think this will work itself out in 0.11.

@asprouse interesting find! very curious to see if it does.

How can one loop over the entities and update them ?


Implement EDP Icon for Jira Weblinks in Place of Dynamic Discovery

Is your feature request related to a problem? Please describe.
The current method of dynamic discovery for Jira weblinks is causing inconsistency and broken links. It's challenging to manage and maintain, leading to reliability issues and lack of control over the weblinks' appearance.
Describe the solution you'd like
I propose using the EDP icon for Jira weblinks instead of dynamic discovery. This involves integrating a standardized icon for Jira weblinks across the platform, providing a consistent and recognizable visual representation for users. By utilizing the EDP icon, we ensure uniformity in appearance.
Describe alternatives you've considered
One alternative considered was continuing with dynamic discovery but enhancing its configuration options. However, this approach still doesn't address the consistency and control issues associated with dynamic discovery. Implementing a standardized EDP icon provides a more robust and user-friendly solution.
Additional context
This feature aligns with our efforts to streamline user experience and maintain consistency within our platform. It simplifies the management of Jira weblinks for administrators and enhances clarity for end-users, ultimately improving overall usability and reliability.

Added


fix(timer): Increasing timer to 10 minutes

:tada: This PR is included in version 1.2.2 :tada:
Your semantic-release bot :package::rocket:


taxon name cannot be deleted

In "Edit taxon name" I want to delete it, but it says there is a relationship:

This is not true, I deleted the relationship. It was a synonym (migration error), now it's valid, although the Soft Validation still thinks it is a synonym:

Is this a bug?

@typophyllum please provide the taxon name you are trying to delete.

Please visit Wednsday meeting for an assistance. It is not a bug. The name cannot be deleted if there is a related OTU (is to be deleted or reassigned to another TaxonName first). Or there are other related records, you can explore related records using this task:

All related records have to be resolved (moved to another taxon name) before a record could be deleted.

Thanks. Now I managed to destoy it.


Android release crash on version > 1.2.4

Description
1.2.5 or 1.2.6 is causing the Android release build to crash on startup.

Version with issue: 1.2.5 and 1.2.6
Last known good version: 1.2.4
Platform:  Android

Thanks

Apologies, again this https://github.com/microspaze/FFImageLoading.Maui/issues/34


fix peerctl not syncing when policy deleted

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (c51a047) 23.55% compared to head (e77de7a) 23.55%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@              Coverage Diff              @@
##           prep-release     #101   +/-   ##
=============================================
  Coverage         23.55%   23.55%
=============================================
  Files                84       84
  Lines              4819     4819
=============================================
  Hits               1135     1135
  Misses             3684     3684

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Performance problem with pyrealsense2 align.process() on Python 3.7

Required Info

Camera Model
D435

Firmware Version
<IP_ADDRESS>

Operating System & Version
Linux Ubuntu 18.04

Kernel Version (Linux Only)
4.9.140-tegra

Platform
NVIDIA Jetson

SDK Version
2.38.1

Language
python

Segment
others

Issue Description
I am trying to upgrade one of our projects from python 2.7 to python 3.7. While upgrading I noticed a significant decrease in performance. When examining the problem I found out, that the "align.process(frames)" method takes longer when running on python 3.7.
Example Code:
import pyrealsense2 as rs
from datetime import datetime

pipeline = rs.pipeline()
pipeline.start()

while True:
    frames = pipeline.wait_for_frames()
    align = rs.align(rs.stream.color)
    align_start = datetime.utcnow()
    frames = align.process(frames)
    align_end = datetime.utcnow()

    align_elapsed = int((align_end - align_start).total_seconds() * 1000)
    print("Took: " + str(align_elapsed) + " ms")

When executing the above Code with python 2.7 I get 20 ms as average for the align process. For Python 3.7 the exact same code takes 100 ms.
I have already tried to reinstall pyrealsense and librealsense but it did not help. Running on Python 3.6 has the same Problem.
I hope someone can explain this to me and has a tip what to do.
Thanks in advance

Hi @DanielBretzigheimer   When you built for Python 3, which installation method (distribution packages or source code) did you use to build librealsense on your Jetson, please?
If you used the distribution method to build from packages, CUDA support for accelerating align operations should be included in the packages by default.
If you built librealense from source using CMake though then you should enable CUDA support by including the instruction - DBUILD_WITH_CUDA=true in the CMake build statement

Hi @MartyG-RealSense, thanks for your help. That was the problem - I reinstalled with  -DBUILD_WITH_CUDA=true and now it's at 20 ms.
For others having the same issue: I had to make CUDA libs available, see this comment for instructions.

Thanks so much for the update @DanielBretzigheimer and the sharing of what worked for you!


UIServer activation graph not visible and model not shown correctly when setting pretrain true

Issue Description
Root cause for this issue seems to be that the network data becomes corrupted due to underflows or overflows.
Please describe our issue, along with:

Activation graph should be visible when setting pretrain true
Model should show correctly when setting pretrain true. Currently shows only Input -> RBM (layer0)

Code
https://gist.github.com/tlaukkan/9b137f941cff2a4e879c95f9e1b512db
Version Information
Please indicate relevant versions, including, if relevant:

Deeplearning4j 0.7.2, 0.8.0 (status of 0.8.1-SNAPSHOT is unknown)
Windows 10
CUDA 8.0

Not relevant anymore


[Cleanup] SpikeGLXRecording utility and duplicated probe setting

Currently supported SI version range supports automatic probe setting for SpikeGLX
Also moving a spare function to the nearby utilities to live with the other one-off functions

I prefer the other format with everything together and no utils somehow... but this is a weak preference.

That style makes it take much longer to navigate to scan through files looking for any particular interface classes you might be looking for (have to scroll down past a lot of lines at the top), which pretty much forces you to use an IDE or GitHub search functionality to navigate efficiently, which is only possible if you already know exactly what keywords to search for
That's one of my justifications for it
For the same reason I'd also like to splinter off some of the classes that are defined in the same file, such as NeuroScopeSorting at the bottom of the same file the NeuroScopeRecording is in. Simplifies the amount and diversity of content defined in a single file
As more modalities start to cross into both neural types and behavior types, it also may have been a mistake of mine to nest things by modality under the datainterfes submodule; might be better if that became flatter by only leading directly to the format name and collection of interfaces for it
All these things are noticed from the effort in #734 - what do you think?


support changing password

@jhadvig @mnagy ptal

Looks good, except for the nit and failing tests.

nits fixed, investigating rhel7 failure.

test succeeded, just got rate limited by github:
https://ci.openshift.redhat.com/jenkins/job/jenkins/41/console
@danmcp not sure if that was incidental or something we need to start worry about.

@bparees Making an adjustment to try and make this less likely.


uses or overrides a deprecated API.

Note: /Users/dryasbk/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/easy_pdf_viewer-1.0.0/android/src/main/java/pt/tribeiro/flutter_plugin_pdf_viewer/FlutterPluginPdfViewerPlugin.java uses or overrides a deprecated API.

Links to the other issue.


Plan first university presentation

As the project team
We have to present our progress so far
Because the course and prof are asking us to.
NOTES:

see notes by @Straczi from last stakeholder meeting for hints from last semester
only roughly plan what different sections we intend on having, presented by whom
probably outside of this repo for privacy reasons

Acceptance Criteria:

[x] Planning document exists
[x] General thoughts and plans surrounding the presentation have been notes
[x] Presentation chapters are listed
[x] For each chapter, the rough content, timespan, presentation view and possible presenters are planned

Check university-documents repo

Presented in daily, no further questions or remarks. Follow up issues will be created.


Markdown-Content-Preview Widget

Updated Dependencies (angular-chart.js, gulp-if, angular)
Refactored Naming and Charts
Added new Widget (Markdown-Content-Preview)

The widget throws an 'Possibly unhandled rejection' error, if the repository does not support branches (subversion repository).

done...


Powershell variable $env:VSCODE is gone from recent releases.

VScode used to (I'd say it disappeared in 1.31) set a Powershell environment variable: $env:VSCODE which seems to have disappeared.   I was using it to set various things when PS was loaded using the integrated terminal.  Wondering why it was removed.

VSCode Version:  1.31.1
OS Version: Windows_NT x64 10.0.17763

Steps to Reproduce:

Open VScode
Launch an integrated terminal preset to launch Powershell
Run:  $env:VSCODE

I'll be honest, I don't remember what was in this variable, I just checked that is was not null.
Does this issue occur when all extensions are disabled?: Yes

I didn't know this variable existed, but we do set TERM_PROGRAM and TERM_PROGRAM_VERSION for this very reason:
https://github.com/Microsoft/vscode/blob/73ff13f5debf91fc1d7a89a2f336543b2baa1ee5/src/vs/workbench/contrib/terminal/common/terminalEnvironment.ts#L53-L54
They are also a relatively standard thing to set across terminals.


Add Rails v5.2 support

Rails v5.2.0 has been released :tada:

Thank you! Assuming tests pass we can merge this and get a release out.


Not working in Xcode 7 GM

If I'll have some spare time I could fix it :) I love this package!!

i have the same problem

I will download Xcode7 GM to reproduce this problem

what status of this?

Use Xcode 7 instead of beta version.


Present Auth flow through modal

I'd like to be able to present the auth flow in a modal rather than bumping a user out to browser.
i.e:

I guess this is just a case of creating my own web view controller and presenting from openURL such as:
let client = GoogleDriveClient.Client.live(
  config: .init(
    clientID: "{removed}"
    authScope: "https://www.googleapis.com/auth/drive.readonly",
    redirectURI: "{removed}"
  ),
  openURL: OpenURL { url in
      let webViewController = WKWebViewController(url: url)
      UIApplication.shared.keyWindow?.rootViewController?
          .present(webViewController, animated: true)
      return
  }
)

Yes, you can customize how the library opens the sign-in URL by overwriting the openURL dependency. Default implementation delegates its job to SwiftUI's openURL environment value. The closure should return true if the URL was opened successfully, otherwise false.
let client = GoogleDriveClient.Client.live(
  /* ... */
  openURL: OpenURL { url in
    // Open the URL and return `true`
    // If the URL can't be opened, return `false`
  }
)


Added UI to sdntrace_cp

Closes #66
Closes #67
Summary
Added UI to sdntrace_cp.
Local Tests
To make sure the UI worked, I tested every feature and component as I added/made them. Then at the end, I did one final test run as described in issue #66, to make sure everything worked properly. Some of the local testing includes randomly adding inputs, clicking on UI components, and doing the trace with such inputs.

@viniarck


Option to expand one item at a time

I've met this case at work so I submit this change if you like.
Use case:

Several expandable contents
Only one has to be opened at a time
Those contents are not directly related in the source code (or I would have use accordion system instead)

Sorry for the response time, I was too busy ^^
Thanks a lot, this is great 👍

Hey @kloh-fr, could you submit your html ? I'm trying to make it work and couldn't find a way to trigger it. thx :)


Download files

Could you send the link to the input_video.webm and object_img.png files?
Because the software presents this message:
File "tfeat_demo.py", line 220
print "Not enough matches are found with TFEAT - %d/%d" % (len(good1), MIN_MATCH_COUNT)

you could just create your own template, check this OpenCV tutorial where it's explains what's needed
http://docs.opencv.org/master/d1/de0/tutorial_py_feature_homography.html


composer: allow Symfony 4

I'm using this package and after upgrade my app to Symfony 4 I could not anymore.
This should fix it :+1:

@TomasVotruba Thanks! I am curious, what are you using exactly? In a symfony 4 application?

Thanks for fast reaction!
Right here: https://github.com/TomasVotruba/rector-nai/blob/b174d74507333062fb016134b271150036669562/bin/run.php#L12
Is uses there tools to automated package upgrade to Symfony 3/4, PHPUnit 6.0, PHP 7.1 etc.

https://github.com/RectorPHP/Rector
https://github.com/Symplify/EasyCodingStandard


Build pipeline

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: lucianolio-azure sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Taskbar icon is not transparent

I build the app using it but the taskbar icon is not transparent. Even after configuring the BackgroundColor="transparent", it is showing background in the taskbar icon and start menu icon.

I got a solution using makePri so I am closing this issuue.
Reference
https://github.com/felixrieseberg/electron-windows-store/issues/93

I got a solution using makePri so I am closing this issue.
Reference
https://github.com/felixrieseberg/electron-windows-store/issues/93

@urvish-ajmerainfotech Don't work for me. Maybe need a MinVersion or a specific configuration in the appxmanifest?


fix: update links when perform "Make Doc Folder Note" and "Link to Parent Folder"

fix issue #13 : "Make Doc Folder Note" and "Link to Parent Folder" does not update links.
Does this fix look good to you?

Updated. Just realize TFile can be casted to TAbstractFile.
Does it look good now?

Everything else look good to me, I’ll push a new version about this fix after the merge. Thanks in advance!


Add environment variables for telemetry

This PR adds the environment variables to devfile community registry
Signed-off-by: Jingfu Wang<EMAIL_ADDRESS>

/retest

Thanks for making the changes Jingfu. Two more changes needed:
1. Applying the template gives the following error:

johncollier@jcollier-mac hosted-registry % oc process -f devfile-registry.yaml | oc apply -f -
error: failed to read input object (not a Template?): unable to decode "devfile-registry.yaml": v1.Template.Parameters: []v1.Parameter: v1.Parameter.Value: ReadString: expects " or n, but found f, error found in #10 byte of ...|,"value":false},{"de|..., bigger context ...|ry enablement","name":"ENABLE_TELEMETRY","value":false},{"description":"The registry name that is us|...

The env field in Kubernetes expects strings for values, so I think ENABLE_TELEMETRY being a bool is throwing it off. Surrounding the false in double quotes fixed it for me.
1. Can you update the `.ci/openshift_integration.sh` script in this repo to point to this template? It looks like this repo's tests are still using the old template in registry-support (that I should've removed)

For the second change, I assume we trigger the integration test script from this repo so I use relative path deploy/devfile-registry.yaml to point to the integration test script, also I notice we don't have route.yaml in this repo so it still use the route.yaml from registry-support repo, another alternative is that copying over route.yaml to this repo.

Yeah, use deploy/devfile-registry.yaml to refer to it.
And yeah, feel free to copy over the route.yaml as well.

@johnmcollier Comments addressed, please review again.

@GeekArthur Sorry Jingfu, looks like I was wrong about the paths. I forgot that the OpenShift CI executes in the root of the repository, so it needs to be .ci/deploy for the registry and the route yamls.

@GeekArthur Sorry Jingfu, looks like I was wrong about the paths. I forgot that the OpenShift CI executes in the root of the repository, so it needs to be .ci/deploy for the registry and the route yamls.
Otherwise it looks good!

@johnmcollier Updated, please review again

/retest


LibreNMS Installation Error

Received the following error:

Checking and verifying LibreNMS is running...
FAILED!!!

    LibreNMS returned a 000 response, indicating a possible issue.

    Please check and verify the LibreNMS container is running.

---------------------------------------------------------------------```

This is causing Oxidized to not be enabled correctly in LibreNMS and Syslog to not run.

Possibly need to increase wait timer.

Having the same issue, though slightly different error:
`Giving LibreNMS 20 seconds to finish setup... Done!
Checking and verifying LibreNMS is running...
FAILED!!!
LibreNMS returned a 000 response, indicating a possible issue.

Please check and verify the LibreNMS container is running.

Installing Oxidized

API Key Needs Updating for Oxidized to Work Properly!
-----------------------------------------------------------------`
Looking at "docker ps" several of the containers are in "init" state.
CONTAINER ID   IMAGE                                   COMMAND                  CREATED         STATUS                   PORTS                                                                                NAMES 683fcae71a92   librenms/librenms:latest                "/init"                  6 minutes ago   Up 4 minutes             162/tcp, 162/udp, 514/tcp, 8000/tcp, 514/udp                                                               librenms_dispatcher 8d150e6f5e02   librenms/librenms:latest                "/init"                  6 minutes ago   Up 5 minutes             162/tcp, 8000/tcp, 162/udp, <IP_ADDRESS>:514->514/tcp, <IP_ADDRESS>:514->514/udp, :::514->514/tcp, :::514->514/udp   librenms_syslogng 482f117684d6   librenms/librenms:latest                "/init"                  6 minutes ago   Up 5 minutes             162/tcp, 162/udp, 514/tcp, 514/udp, <IP_ADDRESS>:8000->8000/tcp, :::8000->8000/tcp                              librenms 5cfc7ea0ddff   redis:7.2-alpine                        "docker-entrypoint.s…"   6 minutes ago   Up 6 minutes             6379/tcp                                                                                librenms_redis 7b33eb6ed514   mariadb:10.8.2                          "docker-entrypoint.s…"   6 minutes ago   Up 6 minutes (healthy)   3306/tcp                                                                                librenms_db 3aaebfa657af   lscr.io/linuxserver/librespeed:latest   "/init"                  7 minutes ago   Up 7 minutes             443/tcp, <IP_ADDRESS>:8080->80/tcp, [::]:8080->80/tcp                                                           librespeed eddad796cf99   netdisco/netdisco:latest-backend        "/home/netdisco/bin/…"   8 minutes ago   Up 8 minutes                                                                                netdisco-backend 4b107b2e0d1a   netdisco/netdisco:latest-web            "/home/netdisco/bin/…"   8 minutes ago   Up 8 minutes             <IP_ADDRESS>:5000->5000/tcp, :::5000->5000/tcp                                                                  netdisco-web d76c1407bd22   netdisco/netdisco:latest-postgresql     "/usr/local/bin/netd…"   9 minutes ago   Up 8 minutes             5432/tcp                                                                                netdisco-postgresql


Fix PR #1230

The PR #1230 is broken because it contains broken change (prototype of EmbedBuilder.build method. This PR will fix it.

Update all overriden methods in all successors of EmbedBuilder.
Update flutter_quill dependency version

Its not reflecting on extensions package  i'm having error still #1238


Is any way to make a image above system keyboard?

I want to create a guide leading user switch keyboard.
So is any way to create a view or image above keyboard?
I saw some native App can do it:

Hi @jimmyrogue,
This platform is not meant for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this.
You may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue or feature request with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Add templates for better maintaining

I saw this project is open to contributions, and it doesn't have Pull request and issue templates, it makes it easier for you to maintain your projects.
Here are links for reference:
Pull Request Template
Pull Request and Issue Template

Good call! 😄 thanks for the callout, I'll look into adding these as well as the contributing doc later


[feat][*]: colorize terminal output & adjust logger format

print logo and version when is terminal
add color for log-level and module-name
split log format to 5 parts: time, log-level, module-name, logger-role, log-message

cool


Set GroupRef Type

Moved from Jira:

It looks like, that the types of a User GroupRef is not set probably.
Also the indirect Group refs. of a User are not set at all.
At least this should be checked if it is working.

Moved to https://github.com/osiam/osiam/issues/67


wordpress_compiler fails on 7.6.2

$ nikola build
[2015-08-02T22:31:47Z] ERROR: yapsy: Unable to create plugin object: /tmp/wordpress-blog/plugins/wordpress_compiler/wordpress
Traceback (most recent call last):
  File "/home/humitos/.virtualenvs/tmp-d115798aa0247311/local/lib/python2.7/site-packages/yapsy/PluginManager.py", line 512, in loadPlugins
    plugin_info.plugin_object = self.instanciateElement(element)
  File "/home/humitos/.virtualenvs/tmp-d115798aa0247311/local/lib/python2.7/site-packages/yapsy/PluginManager.py", line 531, in instanciateElement
    return element()
  File "/tmp/wordpress-blog/plugins/wordpress_compiler/wordpress/wordpress.py", line 117, in __init__
    super().__init__()
TypeError: super() takes at least 1 argument (0 given)
Scanning posts.....Cannot find 'wordpress' compiler; it might require an extra plugin -- do you have it installed?
$

@felixfontein do you know what is happening here?

That’s Python 3.x syntax, super() is a bit more complicated in Python 2.

Fixed (didn’t test though).

Thanks for looking at it and fixing it. I'm currently away with an almost non-existent internet connection...


IE Edge CSS Scoping error

When using either Internet Explorer Edge, I'm getting following error when using "scoped" attribute for style. Apparently no error on IE11, Chrome or Firefox:
Vue warn]: Failed to resolve async component: function () {
			return new Component(name).load(url)
			.then(function(component) {

				return component.normalize();
			})
			.then(function(component) {

				return component.compile();
			})
			.then(function(component) {

				var exports = component.script !== null ? component.script.module.exports : {};

				if ( component.template !== null )
					exports.template = component.template.getContent();

				if ( exports.name === undefined )
					if ( component.name !== undefined )
						exports.name = component.name;

				return exports;
			})
		}
Reason: TypeError: Unable to get property 'setAttribute' of undefined or null reference
vue.js (440,7)

Index.html

	<meta charset="UTF-8">

			<board></board>

main-component.vue
<template>

		test

</template>

I traced error back to this line:
this.template.getRootElt().setAttribute(this._scopeId, '');
Apparently getRootElt return undefined on IE Edge ?

Apparently an Edge bug:
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11342645/

edge issue 11342645, should already be handled in getRootElt(), see
getRootElt: function() {

	return (this.elt.content || this.elt).firstElementChild;
},

please check in your network tab that main-component.vue is loaded properly

Loading ok, but given return statement doesn't work due to edge-bug which I linked.
this.elt.content is filled, but doesn't fetch firstElementChild. It apparently works on edge if replace with:
return this.elt.content.childNodes[1];

Maybe(?) :
return (this.elt.content || this.elt).firstElementChild || this.elt.content.childNodes[1];

I am unable to reproduce the issue on my IE11 (Trident/7.0 rv:11.0  on win7)

what does (this.elt.content || this.elt) returns on your IE11 ?

It returns correctly an object ({component: Object {...}, elt: HTMLUnknownElement {...}}), but it's the IE Edge which returns undefined.

please test with return (this.elt.content || this.elt).children[0] instead of childNodes[1]

return (this.elt.content || this.elt).children[0];

"Unable to get property '0' of undefined or null reference"

I suppose that the following expression also fails:
var tmp = window.document.createElement('template'); tmp.innerHTML = "

"; tmp.children[0] ?

Comparison between Edge (left) & Chrome (right):

Apparently there are no firstElementChild, nor children - it's either because type of something different than in other browsers, or those methods could be inherited and hidden from tool tip. I'm not an expert on object debugging... Still, Edge find it by childNodes[1] (while node 0 was empty)

what is your exact IE version and OS ?

OS Name	Microsoft Windows 10 Pro
Version	10.0.15063 Build 15063
Microsoft Edge 40.15063.0.0
Microsoft EdgeHTML 15.15063

lunchtime, see you later

Sure - Meanwhile, I can confirm that the following works for me on every browser (IE11, Edge, latest Chrome, latest Firefox):
return (this.elt.content || this.elt).firstElementChild || this.elt.content.childNodes[1];
When using this statement, I'm able to check what this.elt.content contains (element = this.elt.content), and I get following output:

For some reason firstElement is emptyTextNode, but this is probably bug as stated on MS Edge ticket which is still unresolved.

the issue should be fixed, let me know if it is ok

Confirmed fixed, thanks!


Show message in app about using last tweet link for threads

It is not intuitive to the user that the last link of a tweet thread needs to be used to download threads.
A message should be displayed on the download modal making this clear instead of only being hidden away down in the readme.

Message included next to toggle.


MMap per module

This changes the mmap strategy used in the compiler backend.
Previously, we used mmap syscall once per function and allocated the
executable pages each time. Basically, mmap can only allocate the
boundary of the page size of the underlying os. Even if the requested
executable is smaller than the page size, the entire page is marked as
executable and won't be reused by Go runtime. Therefore, we wasted
roughly (len(body)%osPageSize)*function.
Even though we still need to align each function on 16 bytes boundary
when mmaping per module, the wasted space is much smaller than before.
The following benchmark results shows that this improves the overall
compilation performance while showing the heap usage increased.
However, the increased heap usage is totally offset by the hidden wasted
memory page which is not measured by Go's -benchmem.
Actually, when I did the experiments, I observed that roughly 20~30mb are
wasted on arm64 previously which is larger than the increased heap usage
in this result. More importantly, this increased heap usage is a target of GC
and should be ignorable in the long-running program vs the wasted page
is persistent until the CompiledModule is closed.
Not only the actual compilation time, the result indicates that this could
improve the overall Go runtime's performance maybe thanks to not abusing
runtime.Finalizer since you can see this improves the subsequent interpreter
benchmark results.
goos: darwin
goarch: arm64
pkg: github.com/tetratelabs/wazero/internal/integration_test/bench
                                   │   old.txt   │              new.txt              │
                                   │   sec/op    │   sec/op     vs base              │
Compilation_sqlite3/compiler-10      183.4m ± 0%   175.9m ± 2%  -4.10% (p=0.001 n=7)
Compilation_sqlite3/interpreter-10   61.59m ± 0%   59.57m ± 0%  -3.29% (p=0.001 n=7)
geomean                              106.3m        102.4m       -3.69%

                                   │   old.txt    │               new.txt               │
                                   │     B/op     │     B/op      vs base               │
Compilation_sqlite3/compiler-10      42.93Mi ± 0%   54.33Mi ± 0%  +26.56% (p=0.001 n=7)
Compilation_sqlite3/interpreter-10   51.75Mi ± 0%   51.75Mi ± 0%   -0.01% (p=0.001 n=7)
geomean                              47.13Mi        53.02Mi       +12.49%

                                   │   old.txt   │              new.txt              │
                                   │  allocs/op  │  allocs/op   vs base              │
Compilation_sqlite3/compiler-10      26.07k ± 0%   26.06k ± 0%       ~ (p=0.149 n=7)
Compilation_sqlite3/interpreter-10   13.90k ± 0%   13.90k ± 0%       ~ (p=0.421 n=7)
geomean                              19.03k        19.03k       -0.02%

goos: linux
goarch: amd64
pkg: github.com/tetratelabs/wazero/internal/integration_test/bench
cpu: AMD Ryzen 9 3950X 16-Core Processor
                                   │   old.txt   │              new.txt               │
                                   │   sec/op    │   sec/op     vs base               │
Compilation_sqlite3/compiler-32      384.4m ± 2%   373.0m ± 4%   -2.97% (p=0.001 n=7)
Compilation_sqlite3/interpreter-32   86.09m ± 4%   65.05m ± 2%  -24.44% (p=0.001 n=7)
geomean                              181.9m        155.8m       -14.38%

                                   │   old.txt    │               new.txt               │
                                   │     B/op     │     B/op      vs base               │
Compilation_sqlite3/compiler-32      49.40Mi ± 0%   59.91Mi ± 0%  +21.29% (p=0.001 n=7)
Compilation_sqlite3/interpreter-32   51.77Mi ± 0%   51.76Mi ± 0%   -0.02% (p=0.001 n=7)
geomean                              50.57Mi        55.69Mi       +10.12%

                                   │   old.txt   │              new.txt              │
                                   │  allocs/op  │  allocs/op   vs base              │
Compilation_sqlite3/compiler-32      28.70k ± 0%   28.70k ± 0%       ~ (p=0.925 n=7)
Compilation_sqlite3/interpreter-32   14.00k ± 0%   14.00k ± 0%  -0.04% (p=0.010 n=7)
geomean                              20.05k        20.04k       -0.02%

resolves #1060

Initial experiment shows that even though this increases the memory usage (during assembling),
this actually saves the computations. Plus this also improves the entire program's perf since this
actually improves the interpreter compilation computation times, which I guess is because we
now stop abusing the Finalizer.
goos: darwin
goarch: arm64
pkg: github.com/tetratelabs/wazero/internal/integration_test/bench
                                   │   old.txt   │              new.txt              │
                                   │   sec/op    │   sec/op     vs base              │
Compilation_sqlite3/compiler-10      191.9m ± 1%   185.7m ± 1%  -3.26% (p=0.001 n=7)
Compilation_sqlite3/interpreter-10   61.83m ± 0%   59.83m ± 1%  -3.24% (p=0.001 n=7)
geomean                              108.9m        105.4m       -3.25%

                                   │   old.txt    │               new.txt               │
                                   │     B/op     │     B/op      vs base               │
Compilation_sqlite3/compiler-10      42.93Mi ± 0%   63.75Mi ± 0%  +48.51% (p=0.001 n=7)
Compilation_sqlite3/interpreter-10   51.75Mi ± 0%   51.75Mi ± 0%   -0.01% (p=0.001 n=7)
geomean                              47.13Mi        57.44Mi       +21.86%

                                   │   old.txt   │              new.txt              │
                                   │  allocs/op  │  allocs/op   vs base              │
Compilation_sqlite3/compiler-10      26.50k ± 0%   26.49k ± 0%  -0.03% (p=0.036 n=7)
Compilation_sqlite3/interpreter-10   13.90k ± 0%   13.90k ± 0%       ~ (p=0.888 n=7)
geomean                              19.19k        19.19k       -0.01%

@mathetake since this saves execution time, maybe include a bench that shows something like that? maybe one of the vs tests, like BenchmarkAllocation?

since this saves execution time

sorry what do you mean? this doesn't affect invocation, and this is purely about compilation.

sorry I read "improves the entire program's perf" but ignored the qualifier at the end of that sentence. nm about runtime perf.

Am I correct in assuming the increased memory usage is from this doing:
append
append
append
mmap
copy

Rather than:
append
mmap
copy
reset
append
mmap
copy
reset
append
mmap
copy
reset

If so the only way to reduce memory is to somehow avoid the copy entirely.

Maybe worth calling out that there are two types of memory at play here, the heap and the mmap regions. I could be wrong but I don't think Go benchmarks will measure total RSS, they would be looking at the heap size only?
The heap usage increases here but we don't know how the total memory usage changed. Since mmap can only allocate in pages (typically 4 KiB) it's possible that a lot of memory was wasted when memory mapping the code for small functions.

good point on the actual RSS. I will get back to this after finishing the low hanging fruits on amd64 optimizations

ok all went green with the small change. Will investigate the real memory usage!

ok at least verified that mmap is not included in the alloc count in the bench

ok the memory-mapped regions are not included in the bench output. let me calculate the actual memory usage before/after!

Having said that, it's hard to measure the "wasted" area because mmap only requires the beginning of the region is on the multiple of page size while the length can be arbitrary.
I simulated the pseudo mapped region sizes, and it shows a slight increase due to the 16 bytes alignment per function
memory mapped region sizes:
- memory-map per function: 1316631 (1513 functions)
- memory-map per module: 1328160

diff: 11k bytes in total | 7 bytes per function

is the output from the following code:
m, err := binary.DecodeModule(sqliteWasm, api.CoreFeaturesV2, wasm.MemoryLimitPages,
	false, false, false)

require.NoError(t, err)
os.Getpagesize()

var perModMmappedSize int
var perFunctionMappedSize int
for _, c := range m.CodeSection {
	body, err := platform.MmapCodeSegment(len(c.Body))
	require.NoError(t, err)
	perFunctionMappedSize += len(body)
	perModMmappedSize = (perModMmappedSize + len(c.Body) + 15) &^ 15
}

fmt.Printf(`memory mapped region sizes:
- memory-map per function: %d (%d functions)
- memory-map per module: %d

diff: %d (kb)
`, perFunctionMappedSize, len(m.CodeSection), perModMmappedSize, (perFunctionMappedSize-perModMmappedSize)/1000)

I  guess in any way we should be good to go with this given that the total number of syscalls decreases and sec/op also improves while the increased heap allocations are negligible compared to the previous allocations/heap usage before the series of optimizations since 1.0.1 (back then the memory usage of hundreds of MBs vs no in a few 10MBs even with this).

@ncruces @achille-roussel need your inputs!

Having said that, it's hard to measure the "wasted" area because mmap only requires the beginning of the region is on the multiple of page size while the length can be arbitrary.

Yes, but the "remainder" of the final page not usable for anything else, so it will be wasted regardless. Right?

oh ok it seem like I misunderstood the behavior of mmapped pages. let me investigate more!

funny I started recalling the OS impl class and verified that yeah actually the entire page can be useless regardless of the size (as the permission is given per page)! Will re-calcualte the memory diff shortly!
	// Get the wx permitted page.
	body, err := platform.MmapCodeSegment(10)
	require.NoError(t, err)
	// Get a physical page anyway.
	for i := range body {
		body[i] = '?'
	}
	// Delete the write permission, and give it read one instead.
	err = platform.MprotectRX(body)
	require.NoError(t, err)
	// Try writing beyond the allocated buffer.
	b := (*byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&body[9])) + 1))
	// This results in segv due to lacking the write permission!
	*b = 10

OK modified the experiment code and got the great result now!
memory mapped region sizes:
- memory-map per function: 24952832 (1513 functions)
- memory-map per module: 1328160

diff: 23mb more used in per-function mmap

basically tens of mega bytes are reduced with this change per compilation.
func TestPrintMemoryUsageDiff(t *testing.T) {
	m, err := binary.DecodeModule(sqliteWasm, api.CoreFeaturesV2, wasm.MemoryLimitPages,
		false, false, false)

	require.NoError(t, err)

	osPageSize := os.Getpagesize() - 1

	var perModMmappedSize int
	var perFunctionMappedSize int
	for _, c := range m.CodeSection {
		body, err := platform.MmapCodeSegment(len(c.Body))
		require.NoError(t, err)

		perFunctionMappedSize += (len(body) + osPageSize) &^ osPageSize
		perModMmappedSize = (perModMmappedSize + len(c.Body) + 15) &^ 15
	}

	fmt.Printf(`memory mapped region sizes:
- memory-map per function: %d (%d functions)
- memory-map per module: %d

diff: %dmb more used in per-function mmap
`, perFunctionMappedSize, len(m.CodeSection), perModMmappedSize,
		(perFunctionMappedSize-perModMmappedSize)/1000/1000,
	)
}

so this change overall not only reduces the sec/op but also memory usage in reality!

ok ready! (updated the description in detail)


[Bug]: Excessive space is seen

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Excessive space is seen when only one page is present
Steps To Reproduce

Create an app
Notice that excessive space is seen between the listed page and the entity explorer

Public Sample App
No response
Environment
Release
Severity
Low (Inconsistent UI/UX)
Issue video log
No response
Version
Release

for internal tracking: https://www.notion.so/appsmith/Excessive-space-is-seen-below-the-pages-dropdown-5a5c7933051e48739607562b2ac33376


MTIVideoComposition not working

Hi Dear @alexiscn
Firstly Thank you for your useful repo; it makes our road easier
Actually, I'm trying to use Filters on Video with AVPlayer and MetalPetal MTIVideoComposition, but after videoComposition is exported and added to PlayerItem, Video is not working anymore and freeze.
I will appreciate it If you can help me to solve this issue.

You can have a look at MTTransition which contains a demo that using videoComposition to export video, but that project does not using MetalFilters.

Thank you for replying.
If I want to explain my current situation, I have my own videoCompoisiton that my editing instruction is added to it.
I want to add MTI's instruction, which is generated with the makeAVVideoComposition method, to my own videoComposition instruction.
How and What is the best way to merge these instructions?


Update README.md

Added, C++ to README.md along with its description alphabetically.

Thank you for contributing!

Thank you for contributing!

so I am a contributor now, for this repo?

Thank you for contributing!

so I am a contributor now, for this repo?

Yes, you are now a contributor.

okay :)
__
  Summary: :ok_hand: This code looks good  |  Tags: Efficient

okay :)
__        Summary: 👌 This code looks good  |  Tags: Efficient

You are now listed as a contributor in CONTRIBUTORS.md.

yes checked thanks a lot :)
__
  Summary: :ok_hand: This code looks good


Fix services.xserver.displayManager Warnings for VBox Appliance

Description of changes
This PR fixes all warnings when building the VirtualBox Appliance:
$ nix-instantiate ./nixos/release.nix -A ova.x86_64-linux
trace: warning: The option `services.xserver.displayManager.sddm.enable' defined in `/home/julian/src/own/nixpkgs/nixos/modules/profiles/graphical.nix' has been renamed to `services.displayManager.sddm.enable'.
trace: warning: The option `services.xserver.displayManager.sddm.autoLogin.relogin' defined in `/home/julian/src/own/nixpkgs/nixos/modules/profiles/demo.nix' has been renamed to `services.displayManager.sddm.autoLogin.relogin'.
trace: warning: The option `services.xserver.displayManager.autoLogin' defined in `/home/julian/src/own/nixpkgs/nixos/modules/profiles/demo.nix' has been renamed to `services.displayManager.autoLogin'.

Warning: you did not specify '--add-root'; the result might be removed by the garbage collector
/nix/store/lf52ldkiy0dgdxf3kpmqg81qjvnc24fm-nixos-ova-24.05pre130979.gfedcba-x86_64-linux.drv

After:
❯ nix-instantiate ./nixos/release.nix -A ova.x86_64-linux
warning: you did not specify '--add-root'; the result might be removed by the garbage collector
/nix/store/7j98z3yzjfljxgp3vm8401c244ks95w0-nixos-ova-24.05pre130979.gfedcba-x86_64-linux.drv

There are no functional changes here.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 304530 run on x86_64-linux 1

1 package blacklisted:

nixos-install-tools


new Mode names

Want new name and name synonyms you can use for the Modes trait.
I want to control home alarm system, it has four modes, On/Off/Panic/Ring?

You can take a look at all of the available modes in our reference pages. It does show "Off" as an available mode. I will make a note to add the other three requested.

So I will put in a request to add On, panic, and ring as new mode settings.

This was submitted and should be available now.


Troubleshoot/refactor listener issues

This change was introduced in order to resolve failing tests @joshforisha was encountering at /tests:
https://github.com/softlayer/sl-ember-components/blob/71ae7ee739b7f9b2d20780c6b166da781ef3857b/addon/components/sl-date-range-picker.js#L104
This is not a change that should have had to have been implemented though so any of the following things may be the cause:

either jQuery isn't cleaning something up correctly
this component isn't cleaning something up correctly
the sl-date-picker component it is relying on isn't cleaning something up correctly

This issue's work will dovetails with https://github.com/softlayer/sl-ember-components/issues/426

Just removed that line since it was not needed. Tests still pass.

https://github.com/softlayer/sl-ember-components/pull/435 intersects this same file/line

#1458 will likely close this issue as there is no longer a reliance on jquery event binding.