Working with Cairo?

Is there any way to create a window and visual type with x11rb and pass it into Cairo? It seems that by using the unsafe bindings it's at least possible to get an XCB connection, but the window and visualtypes are also required ton instantiate an surface, and I'm struggling to figure out how to get those to cairo. If there isn't a way to do this, what should I be doing instead?

Well... yes, there is a way, but the way is to basically not use x11rb for the actual cairo interaction.
Everything that is "just a number" can freely be passed around, so you can just use the window. However, the visualtype is more complicated. The visualid is just a number and can be passed around. Based on this visualid, one would then have to look up the visualtype in an xcb-y-way.
I can try coming up with something. Hopefully tomorrow. If I want to add this as an example to this repo, I'd have to add xcb and cairo to dev-dependencies, I guess... that's not really nice. Sounds like a job for an extra repo or perhaps even a cargo workspace.

This issue is now about "how do we get this example into examples/"?
The following is a port of examples/simple_window.rs to use cairo for drawing.
Relevant part of Cargo.toml:
[dependencies]
x11rb = "0.4"
xcb = "0.9"

[dependencies.cairo-rs]
version = "0.8"
features = ["xcb"]

main.rs:
extern crate cairo;
extern crate x11rb;
extern crate xcb;

use std::convert::TryFrom;

use x11rb::connection::Connection;
use x11rb::generated::xproto::*;
use x11rb::wrapper::ConnectionExt as _;
use x11rb::x11_utils::{Event, GenericError};
use x11rb::xcb_ffi::XCBConnection;

fn find_xcb_visualtype(conn: &xcb::Connection, visual_id: u32) -> Option<xcb::Visualtype> {
    for root in conn.get_setup().roots() {
        for depth in root.allowed_depths() {
            for visual in depth.visuals() {
                if visual.visual_id() == visual_id {
                    return Some(visual)
                }
            }
        }
    }
    None
}

fn main() {
    // x11rb allows constructing an x11rb::XCBConnection from a raw pointer without assuming
    // ownership. xcb always wants to assume ownership. Thus, set up the connection with the xcb
    // crate and then construct an x11rb::XCBConnection from the raw connection.
    let (xcb_conn, screen_num) = xcb::Connection::connect(None).unwrap();
    let screen_num = screen_num as usize; // Sigh...
    // SAFETY: The returned XCBConnection may not live longer than the passed-in xcb connection.
    let conn = unsafe { XCBConnection::from_raw_xcb_connection(xcb_conn.get_raw_conn() as _, false).unwrap() };

    let screen = &conn.setup().roots[screen_num];
    let win_id = conn.generate_id().unwrap();

    let wm_protocols = conn.intern_atom(false, b"WM_PROTOCOLS").unwrap();
    let wm_delete_window = conn.intern_atom(false, b"WM_DELETE_WINDOW").unwrap();
    let wm_protocols = wm_protocols.reply().unwrap().atom;
    let wm_delete_window = wm_delete_window.reply().unwrap().atom;

    let win_aux = CreateWindowAux::new()
        .event_mask(EventMask::Exposure | EventMask::StructureNotify | EventMask::NoEvent)
        .win_gravity(Gravity::NorthWest);

    let (mut width, mut height) = (100, 100);

    conn.create_window(
        screen.root_depth,
        win_id,
        screen.root,
        0,
        0,
        width,
        height,
        0,
        WindowClass::InputOutput,
        0,
        &win_aux,
    )
    .unwrap();
    // SAFETY: Well... cairo-rs just passes the pointer to C code and the C code treats it as a
    // pointer to an xcb_connection_t, so the cast does not actually do anything. The result may
    // not live longer than the actual xcb connection.
    let cairo_conn = unsafe { cairo::XCBConnection::from_raw_none(xcb_conn.get_raw_conn() as _) };
    let mut visual = find_xcb_visualtype(&xcb_conn, screen.root_visual).unwrap();
    // SAFETY: This is basically just a pointer type cast because everyone invents their own
    // wrappers around xcb's C types. The result may not live longer than the passed in pointer
    let visual = unsafe { cairo::XCBVisualType::from_raw_none(&mut visual.base as *mut _ as _) };
    // The following line should be unsafe, but isn't. Well... creating a cairo XCB surface creates
    // a cairo XCB device. This device must be .finish()d before the xcb connection is destroyed.
    // It is implicitly finished when the last surface for it is finished (which happens implicitly
    // when the last reference to the surface is destroyed). Drop order does the right thing here.
    let surface = cairo::XCBSurface::create(
        &cairo_conn,
        &cairo::XCBDrawable(win_id),
        &visual,
        width.into(),
        height.into()).unwrap();

    let title = "Simple Window";
    conn.change_property8(
        PropMode::Replace,
        win_id,
        Atom::WM_NAME.into(),
        Atom::STRING.into(),
        title.as_bytes(),
    )
    .unwrap();
    conn.change_property32(
        PropMode::Replace,
        win_id,
        wm_protocols,
        Atom::ATOM.into(),
        &[wm_delete_window],
    )
    .unwrap();

    let reply = conn
        .get_property(
            false,
            win_id,
            Atom::WM_NAME.into(),
            Atom::STRING.into(),
            0,
            1024,
        )
        .unwrap();
    let reply = reply.reply().unwrap();
    assert_eq!(reply.value, title.as_bytes());

    conn.map_window(win_id).unwrap();

    conn.flush().unwrap();

    loop {
        let event = conn.wait_for_event().unwrap();
        match event.response_type() {
            EXPOSE_EVENT => {
                let event = ExposeEvent::from(event);
                println!("{:?})", event);
                if event.count == 0 {
                    let cr = cairo::Context::new(&surface);
                    // Push a group for double-buffering. It does not really matter here, but is
                    // still the right thing to do.
                    cr.push_group_with_content(cairo::Content::Color);

                    // Draw some background
                    cr.set_source_rgb(0.9, 1.0, 0.9);
                    cr.paint();

                    // Draw a cross
                    cr.move_to(0.0, 0.0);
                    cr.line_to(width as _, height as _);
                    cr.move_to(width as _, 0.0);
                    cr.line_to(0.0, height as _);

                    cr.set_source_rgb(0.0, 0.0, 0.0);
                    cr.stroke();

                    // Draw to the target
                    cr.pop_group_to_source();
                    cr.set_operator(cairo::Operator::Source);
                    cr.paint();

                    surface.flush();
                    xcb_conn.flush();
                }
            }
            CONFIGURE_NOTIFY_EVENT => {
                let event = ConfigureNotifyEvent::from(event);
                width = event.width;
                height = event.height;
                surface.set_size(event.width as _, event.height as _).unwrap();
            }
            CLIENT_MESSAGE_EVENT => {
                let event = ClientMessageEvent::from(event);
                println!("{:?})", event);
                let data = event.data.as_data32();
                if event.format == 32 && event.window == win_id && data[0] == wm_delete_window {
                    println!("Window was asked to close");
                    return;
                }
            }
            0 => {
                println!("Unknown error {:?}", GenericError::try_from(event));
            }
            _ => {
                println!("Unknown event {:?}", event);
            }
        }
    }
}

I just noticed that I forgot to ask: @jjbarr does this help you? Did you get your code working or is there something more that you need help with?

Yeah, this is exactly what I needed.
The extra dependency on xcb is a bit of a hassle but it's unavoidable given the need to actually use xcb itself (which is beyond x11rb's scope). So I'm perfectly happy with it.
Thank you for all the help.

Well... if you want to get rid of the xcb-rs dependency, you could cover the necessary #[repr(C)] struct definition for Visualtype to your code. Actually, I will try to do an xcb-free version of this, it should not really be needed.

Version without xcb as a diff and the full version at https://gist.github.com/psychon/6da3a376ec3fedb956e1477a90c48dce:
diff --git a/src/main.rs b/src/main.rs
index 0d7aa79..4b1b54d 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,6 +1,5 @@
 extern crate cairo;
 extern crate x11rb;
-extern crate xcb;

 use std::convert::TryFrom;

@@ -10,12 +9,41 @@ use x11rb::wrapper::ConnectionExt as _;
 use x11rb::x11_utils::{Event, GenericError};
 use x11rb::xcb_ffi::XCBConnection;

-fn find_xcb_visualtype(conn: &xcb::Connection, visual_id: u32) -> Option<xcb::Visualtype> {
-    for root in conn.get_setup().roots() {
-        for depth in root.allowed_depths() {
-            for visual in depth.visuals() {
-                if visual.visual_id() == visual_id {
-                    return Some(visual)
+
+#[derive(Debug, Clone, Copy)]
+#[repr(C)]
+pub struct xcb_visualtype_t {
+    pub visual_id:          u32,
+    pub class:              u8,
+    pub bits_per_rgb_value: u8,
+    pub colormap_entries:   u16,
+    pub red_mask:           u32,
+    pub green_mask:         u32,
+    pub blue_mask:          u32,
+    pub pad0:               [u8; 4],
+}
+
+impl From<Visualtype> for xcb_visualtype_t {
+    fn from(value: Visualtype) -> xcb_visualtype_t {
+        xcb_visualtype_t {
+            visual_id: value.visual_id,
+            class: value.class,
+            bits_per_rgb_value: value.bits_per_rgb_value,
+            colormap_entries: value.colormap_entries,
+            red_mask: value.red_mask,
+            green_mask: value.green_mask,
+            blue_mask: value.blue_mask,
+            pad0: [0; 4],
+        }
+    }
+}
+
+fn find_xcb_visualtype(conn: &impl Connection, visual_id: u32) -> Option<xcb_visualtype_t> {
+    for root in &conn.setup().roots {
+        for depth in &root.allowed_depths {
+            for visual in &depth.visuals {
+                if visual.visual_id == visual_id {
+                    return Some((*visual).into())
                 }
             }
         }
@@ -24,13 +52,7 @@ fn find_xcb_visualtype(conn: &xcb::Connection, visual_id: u32) -> Option<xcb::Vi
 }

 fn main() {
-    // x11rb allows constructing an x11rb::XCBConnection from a raw pointer without assuming
-    // ownership. xcb always wants to assume ownership. Thus, set up the connection with the xcb
-    // crate and then construct an x11rb::XCBConnection from the raw connection.
-    let (xcb_conn, screen_num) = xcb::Connection::connect(None).unwrap();
-    let screen_num = screen_num as usize; // Sigh...
-    // SAFETY: The returned XCBConnection may not live longer than the passed-in xcb connection.
-    let conn = unsafe { XCBConnection::from_raw_xcb_connection(xcb_conn.get_raw_conn() as _, false).unwrap() };
+    let (conn, screen_num) = XCBConnection::connect(None).unwrap();

     let screen = &conn.setup().roots[screen_num];
     let win_id = conn.generate_id().unwrap();
@@ -63,11 +85,11 @@ fn main() {
     // SAFETY: Well... cairo-rs just passes the pointer to C code and the C code treats it as a
     // pointer to an xcb_connection_t, so the cast does not actually do anything. The result may
     // not live longer than the actual xcb connection.
-    let cairo_conn = unsafe { cairo::XCBConnection::from_raw_none(xcb_conn.get_raw_conn() as _) };
-    let mut visual = find_xcb_visualtype(&xcb_conn, screen.root_visual).unwrap();
+    let cairo_conn = unsafe { cairo::XCBConnection::from_raw_none(conn.get_raw_xcb_connection() as _) };
+    let mut visual = find_xcb_visualtype(&conn, screen.root_visual).unwrap();
     // SAFETY: This is basically just a pointer type cast because everyone invents their own
     // wrappers around xcb's C types. The result may not live longer than the passed in pointer
-    let visual = unsafe { cairo::XCBVisualType::from_raw_none(&mut visual.base as *mut _ as _) };
+    let visual = unsafe { cairo::XCBVisualType::from_raw_none(&mut visual as *mut _ as _) };
     // The following line should be unsafe, but isn't. Well... creating a cairo XCB surface creates
     // a cairo XCB device. This device must be .finish()d before the xcb connection is destroyed.
     // It is implicitly finished when the last surface for it is finished (which happens implicitly
@@ -146,7 +168,7 @@ fn main() {
                     cr.paint();

                     surface.flush();
-                    xcb_conn.flush();
+                    conn.flush().unwrap();
                 }
             }
             CONFIGURE_NOTIFY_EVENT => {

Alright! Thanks a lot.


Added missing integration tests for the pow and power functions

Description
Add integration tests for the pow and power functions which were previously missing it
Issues Resolved
https://github.com/opensearch-project/sql/issues/1190
Check List

[x] All tests pass, including unit test, integration test and doctest
[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Can you also add a test where the result would be null

Can you also add a test where the result would be null

Is there a mathematical equation that would cause pow/power to output a null or do you want me to force a null value by giving it invalid data?

Can you also add a test where the result would be null

Is there a mathematical equation that would cause pow/power to output a null or do you want me to force a null value by giving it invalid data?

Some examples here https://stackoverflow.com/questions/20250453/why-math-powa-b-is-nan-when-a-is-a-negative-number-and-b-is-a-non-integer

Can you also add a test where the result would be null

Is there a mathematical equation that would cause pow/power to output a null or do you want me to force a null value by giving it invalid data?

Some examples here https://stackoverflow.com/questions/20250453/why-math-powa-b-is-nan-when-a-is-a-negative-number-and-b-is-a-non-integer

From what I have seen with the other tests IT don't actually ever test for null or invalid values, those are testing in the unit tests. Also if you try to input data that would cause an invalid outcome the tests returns an IllegalArgumentException


Hyphenation does not work. It cant download new languages

I tried multiple different songs and forcing them to use English, Italian and German as a language for transcription.
Every single time they had an error while hyphenating unless the language was set to German.
Everything else works properly (except for torch throwing warnings that my kernel does not support NUMA, which seems to be a common issue for WSL users but apparantly can be ignored).
I am running UltraSinger on WSL Ubuntu. The Host-System is WIndows 11 Pro 23H2. My system language for Windows is German but the VM is in English. Its running Ubuntu 22.0.4 LTS.
I have tried reinstalling the models and python modules and still got the same results.
These are my locale settings for Ubuntu
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=

Hyphenation is not working for me neither on Windows using english, while my computer language is spanish, so it seems that is not only related to WSL.

@LanceAkaLance can you post you log pls

Ran it on my laptop using WSL, same result
(.venv) root@Laptop-G10:~/UltraSinger# python3.10 ./src/UltraSinger.py -i https://www.youtube.com/watch?v=9PNCVVrs7gk --
whisper small

[UltraSinger] *****************************
[UltraSinger] UltraSinger Version: 0.0.11-dev4
[UltraSinger] *****************************
[UltraSinger] Checking GPU support for tensorflow and pytorch.
2024-06-20 10:54:15.514527: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2024-06-20 10:54:15.514563: W tensorflow/stream_executor/cuda/cuda_driver.cc:269] failed call to cuInit: UNKNOWN ERROR (303)
2024-06-20 10:54:15.514657: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (Laptop-G10): /proc/driver/nvidia/version does not exist
[UltraSinger] tensorflow - there are no cuda devices available -> Using cpu.
[UltraSinger] pytorch - there are no cuda devices available -> Using cpu.
[UltraSinger] full automatic mode
[youtube] Extracting URL: https://www.youtube.com/watch?v=9PNCVVrs7gk
[youtube] 9PNCVVrs7gk: Downloading webpage
[youtube] 9PNCVVrs7gk: Downloading ios player API JSON
[youtube] 9PNCVVrs7gk: Downloading tv embedded player API JSON
[youtube] 9PNCVVrs7gk: Downloading web embedded client config
[youtube] 9PNCVVrs7gk: Downloading player 84314bef
[youtube] 9PNCVVrs7gk: Downloading web embedded player API JSON
[UltraSinger] Searching song in musicbrainz
[UltraSinger] cant find title everything is a lot in will wood and the tapeworms  dr sunshine is dead official video
[UltraSinger] No match found
[UltraSinger] Creating output folder. -> /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)
[UltraSinger] Downloading Audio
[youtube] Extracting URL: https://www.youtube.com/watch?v=9PNCVVrs7gk
[youtube] 9PNCVVrs7gk: Downloading webpage
[youtube] 9PNCVVrs7gk: Downloading ios player API JSON
[youtube] 9PNCVVrs7gk: Downloading tv embedded player API JSON
[youtube] 9PNCVVrs7gk: Downloading web embedded client config
[youtube] 9PNCVVrs7gk: Downloading player 84314bef
[youtube] 9PNCVVrs7gk: Downloading web embedded player API JSON
[info] 9PNCVVrs7gk: Downloading 1 format(s): 251
[download] Destination: /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video)
[download] 100% of    4.98MiB in 00:00:00 at 7.49MiB/s
[ExtractAudio] Destination: /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video).mp3
Deleting original file /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (pass -k to keep)
[UltraSinger] Downloading Video
[youtube] Extracting URL: https://www.youtube.com/watch?v=9PNCVVrs7gk
[youtube] 9PNCVVrs7gk: Downloading webpage
[youtube] 9PNCVVrs7gk: Downloading ios player API JSON
[youtube] 9PNCVVrs7gk: Downloading tv embedded player API JSON
[youtube] 9PNCVVrs7gk: Downloading web embedded client config
[youtube] 9PNCVVrs7gk: Downloading player 84314bef
[youtube] 9PNCVVrs7gk: Downloading web embedded player API JSON
[info] 9PNCVVrs7gk: Downloading 1 format(s): 137
[download] Destination: /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video).mp4
[download] 100% of  113.63MiB in 00:00:11 at 9.53MiB/s
[UltraSinger] Downloading thumbnail
[youtube] Extracting URL: https://www.youtube.com/watch?v=9PNCVVrs7gk
[youtube] 9PNCVVrs7gk: Downloading webpage
[youtube] 9PNCVVrs7gk: Downloading ios player API JSON
[youtube] 9PNCVVrs7gk: Downloading tv embedded player API JSON
[youtube] 9PNCVVrs7gk: Downloading web embedded client config
[youtube] 9PNCVVrs7gk: Downloading player 84314bef
[youtube] 9PNCVVrs7gk: Downloading web embedded player API JSON
[UltraSinger] Creating output folder. -> /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)/cache
[UltraSinger] Separating vocals from audio with demucs and cpu as worker.
Important: the default model was recently changed to `htdemucs` the latest Hybrid Transformer Demucs model. In some cases, this model can actually perform worse than previous models. To get back the old default model use `-n mdx_extra_q`.
Selected model is a bag of 1 models. You will see that many progress bars per track.
Separated tracks will be stored in /root/UltraSinger/separated/htdemucs
Separating track /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video).mp3
100%|██████████████████████████████████████████████|<PHONE_NUMBER>9999997/327.59999999999997 [04:02<00:00,  1.35seconds/s]
[UltraSinger] Converting wav to mp3
[UltraSinger] Reduce noise from vocal audio with ffmpeg.
[UltraSinger] Converting audio for AI
[UltraSinger] Mute audio parts with no singing
[UltraSinger] Loading whisper with model small and cpu as worker
vocabulary.txt: 100%|████████████████████████████████████████████████████████████████| 460k/460k [00:00<00:00, 4.28MB/s]
config.json: 100%|█████████████████████████████████████████████████████████████████| 2.37k/2.37k [00:00<00:00, 10.1MB/s]
tokenizer.json: 100%|██████████████████████████████████████████████████████████████| 2.20M/2.20M [00:00<00:00, 6.88MB/s]
model.bin: 100%|█████████████████████████████████████████████████████████████████████| 484M/484M [00:49<00:00, 9.76MB/s]
No language specified, language will be first be detected for each audio file (increases inference time).
Lightning automatically upgraded your loaded checkpoint from v1.5.4 to v2.3.0. To apply the upgrade to your files permanently, run `python -m pytorch_lightning.utilities.upgrade_checkpoint ../.cache/torch/whisperx-vad-segmentation.bin`
Model was trained with pyannote.audio 0.0.1, yours is 3.1.1. Bad things might happen unless you revert pyannote.audio to 0.x.
Model was trained with torch 1.10.0+cu102, yours is 2.0.1+cu117. Bad things might happen unless you revert torch to 1.x.
[UltraSinger] Transcribing /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)/cache/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video)_mute.wav
Detected language: en (0.80) in first 30s of audio...
[UltraSinger] Hyphenate using language code: en
[UltraSinger] Error in hyphenation for language  en, maybe you want to disable it?
[UltraSinger] Removing silent parts from transcription data
[UltraSinger] Pitching with crepe and model full and cpu as worker
2024-06-20 11:01:11.515026: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
1007/1007 [==============================] - 279s 277ms/step
[UltraSinger] Creating midi notes from pitched data
[UltraSinger] Creating Ultrastar notes from midi data
[UltraSinger] BPM is 130.81
[UltraSinger] Creating /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video).txt from transcription.
[UltraSinger] Calculating silence parts for linebreaks.
[UltraSinger] Creating /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) [Karaoke].txt from transcription.
[UltraSinger] Calculating silence parts for linebreaks.
[UltraSinger] Parse ultrastar txt -> /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video).txt
[UltraSinger] Calculating Ultrastar Points
[UltraSinger] Simple (octave high ignored) points
[UltraSinger] Total: 5709, notes: 5233, line bonus: 476, golden notes: 0
[UltraSinger] Accurate (octave high matches) points:
[UltraSinger] Total: 5695, notes: 5219, line bonus: 476, golden notes: 0
[UltraSinger] Creating Midi with pretty_midi
[UltraSinger] Creating midi instrument from Ultrastar txt
[UltraSinger] Creating midi file -> /root/UltraSinger/output/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video) (1)/Will Wood and the Tapeworms - Dr. Sunshine is Dead (Official Video).mid

Seems i have the same Problem.
I use the "run on windows".bat, german Windows 11 and convert german Songs. Work flawlessly. Then i tried english songs - and the Tool get stuck on "hypenation eng".
Any possible Solution?

Cnat find it on Windows.
I added a print for the exception. Maybe we can find it then.
Please update the your main to "0.0.12-dev1" and show the log again.

Okay so I found a fix for hyphenation crashing instantly.
For some reason WSL does not come with any locales installed. Thats why my locales were "C.UTF-8".
This can be fixed by running sudo apt update && sudo apt install language-pack-en.
However I am now running into the same issue as @Aydonger
The process never continues. There is no cpu activity coming from the hyphenation process. I also made sure that it does not run out of memory to rule that out as a cause.
Note that the version that is displayed in the log is inaccurate. I double checked the version in the Settings.py file and also removed and rebuilt the docker.
UltraSingerLog.txt

Grabbed the new Version ("0.0.12-dev1") and tried an english Song on my german Windows 11. Same result:
...
Detected language: en (0.76) in first 30s of audio...
[UltraSinger] Hyphenate using language code: en

The Tool stucks at this message, no CPU / GPU activity. When i try a german Song, even after this "crash" - it runs perfect.
I even tried to convert the english song with the "--language de Flag" and it worked. Well, the Result are bad, cause its an english song, but the tool convert it without any errors.

[UltraSinger] Error in hyphenation for language  en, maybe you want to disable it?
        ->504 Server Error: Gateway Timeout for url: https://cgit.freedesktop.org/libreoffice/dictionaries/plain//en/hyph_en.dic

I used the last main version and after a lot of time I got this error.

Maybe we should use this https://github.com/LibreOffice/dictionaries

ok PyHyphen is just broken, outdated and unmanaged.
I forked it and try to fix this.
Any help is welcome 😄

the CI is currently broken

https://github.com/rakuri255/PyHyphen

ok PyHyphen is just broken, outdated and unmanaged. I forked it and try to fix this. Any help is welcome 😄
* the CI is currently broken

https://github.com/rakuri255/PyHyphen

I don't know anything about this, but maybe https://github.com/Kozea/Pyphen could make the same trick?

@BanCrash I tried this library back then. I looked over it again and I don't think it can do syllables. The standard hypenation is not suitable for karaoke but more for text reading. It must be separated by syllables.
Or can Pyphen do that?

Pyphen uses the same source for the dictionaries so hyphenation behaviour should be the same. Though also apparantly you can just change the download source in PyHyphen to achieve the same result.
(Which it appears you are already working on so good luck!)

@LanceAkaLance Yes, but as I understand it, the hyphenation is different. The hyphenation info is available in libreoffice but has to be used (syllables vs hyphens).
I will probably try the package later. Because I'm not satisfied with the current solution anyway.
So i done my fix, CI builds again, the packages are ready. Need to register to PyPI and upload it. And than add it to UltraSinger.
Sorry for the long wait 😭

Ok guys. Lets try UltraSinger 0.0.12-dev2 🗡
You need to reinstall it!
Or manually uninstall PyHyphen and install PyHyphen-Reloaded..

For the discussion syllables vs Hyphen:
This is what we want:
h_en.syllables('beautiful')
['beau', 'ti', 'ful']

This is what the most "Hyphens" do:
h_en.pairs('beautiful'
[['beau', 'tiful'], ['beauti', 'ful']]

h_en.wrap('beautiful', 6)
['beau-', 'tiful']

h_en.wrap('beautiful', 7)
['beauti-', 'ful']

I delete my Ultrasinger Folder, dl the new Version from github. Run the "Install CUDA" script, then "run on windows" bat.
The following error occour:
[UltraSinger] Loading whisper with model large-v2 and cuda as worker
No language specified, language will be first be detected for each audio file (increases inference time).
Traceback (most recent call last):
  File "G:\ultrastarsinger\src\ultrasinger.py", line 992, in <module>
    main(sys.argv[1:])
  File "G:\ultrastarsinger\src\ultrasinger.py", line 884, in main
    run()
  File "G:\ultrastarsinger\src\ultrasinger.py", line 380, in run
    detected_language, transcribed_data = transcribe_audio()
  File "G:\ultrastarsinger\src\ultrasinger.py", line 510, in transcribe_audio
    transcribed_data, detected_language = transcribe_with_whisper(
  File "G:\ultrastarsinger\src\modules\Speech_Recognition\Whisper.py", line 35, in transcribe_with_whisper
    loaded_whisper_model = whisperx.load_model(
  File "G:\ultrastarsinger\.venv\lib\site-packages\whisperx\asr.py", line 347, in load_model
    vad_model = load_vad_model(torch.device(device), use_auth_token=None, **default_vad_options)
  File "G:\ultrastarsinger\.venv\lib\site-packages\whisperx\vad.py", line 47, in load_vad_model
    raise RuntimeError(
RuntimeError: Model has been downloaded but the SHA256 checksum does not not match. Please retry loading the model.

I delete my Ultrasinger Folder, dl the new Version from github. Run the "Install CUDA" script, then "run on windows" bat.
The following error occour:
[UltraSinger] Loading whisper with model large-v2 and cuda as worker
No language specified, language will be first be detected for each audio file (increases inference time).
Traceback (most recent call last):
  File "G:\ultrastarsinger\src\ultrasinger.py", line 992, in <module>
    main(sys.argv[1:])
  File "G:\ultrastarsinger\src\ultrasinger.py", line 884, in main
    run()
  File "G:\ultrastarsinger\src\ultrasinger.py", line 380, in run
    detected_language, transcribed_data = transcribe_audio()
  File "G:\ultrastarsinger\src\ultrasinger.py", line 510, in transcribe_audio
    transcribed_data, detected_language = transcribe_with_whisper(
  File "G:\ultrastarsinger\src\modules\Speech_Recognition\Whisper.py", line 35, in transcribe_with_whisper
    loaded_whisper_model = whisperx.load_model(
  File "G:\ultrastarsinger\.venv\lib\site-packages\whisperx\asr.py", line 347, in load_model
    vad_model = load_vad_model(torch.device(device), use_auth_token=None, **default_vad_options)
  File "G:\ultrastarsinger\.venv\lib\site-packages\whisperx\vad.py", line 47, in load_vad_model
    raise RuntimeError(
RuntimeError: Model has been downloaded but the SHA256 checksum does not not match. Please retry loading the model.

This error is related to whisper and is before the hyphen occures. Can you make a new issue?

@LanceAkaLance @BanCrash @Aydonger does it work now?

Yes, i can confirm, that (after the Hyphenation AND the WhisperX Error) the UltraSinger Script works again. Thanks!

Yes, me too.

Ok thanks for the help to find this issue!


Add enhanced skeleton state storybook examples

Update the storybook for all skeleton states to show how the related component would load in after ~3 seconds.

@alisonjoseph What are skeleton states?

You can read through the docs for our skeleton states here http://carbondesignsystem.com/utilities/loading#skeleton-states
Then you can view some examples here
http://react.carbondesignsystem.com/?knob-The title (title)=Section 1 title&selectedKind=DataTableSkeleton&selectedStory=default&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel


rootfs: disable all builtins from gcc

Fixed issue #12: Failed to build rootfs under Ubuntu 18.04
Add -fno-builtin-malloc to CFLAGS is enough, but it's better
to disable all builtins, while the rootfs is an independent
routine which has nothing depends on gcc/libc.

fixed


support private keys from new google developer console

The new Google Developer Console provides two kind of private keys.
the first one is a json file which contains all the information that is necessary to authenticate with a service account. this file gets downloaded when you create a new service account in the Google Developer Console.
it's structure is as follows:
{
  "private_key_id": "...",
  "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
  "client_email"<EMAIL_ADDRESS>  "client_id": "...apps.googleusercontent.com",
  "type": "service_account"
}

the second type of private key is a .p12 file. it can be also downloaded in the Google Developer Console. this file is a PKCS12 keystore and contains a private key that can be used to authenticate a service account. the keystore password and key password is "notasecret". the key alias is "privatekey".
it would be nice to let the user choose between this two options when creating google oauth credentials in jenkins.

Migrated from: https://issues.jenkins-ci.org/browse/JENKINS-24571


Nothing showing for d3-grouped-area

I'm trying to use the above component with data that looks like this:
[
{ "group": "group1", "key": "2018-09-12 13:02", "value": "1.0" },
{ "group": "group2", "key": "2018-09-12 14:02", "value": "2.0" },
]

...etc
All I get is an empty div element for the component. The Chrome tools Vue extension shows the props are there. There are no errors in the console.
Incidentally, when i switch to d3-multi-line with the same data, it shows up just fine.

Keys must be of type Date. So you need to parse it.

Great thanks that sorted it


How to run administrator ?

Please show me how to run administrator to input new goods ?

Here is the answer https://github.com/pararell/eshop_mean/issues/2


Add default permissions for the Lumo zip

This patch solves a problem in Unix systems where unzipping would preserve the
permissions set in the zip. Because we were not setting them, permissions were
644 for both and therefore folders could not be opened (no +x).
Now the code defaults to 755 for folders and 644 for files, still allowing
client code to override it.

Hold on, this one apparently does not do what I want, not working recursively. I am digging.

So this was the problem in #24

So this one should be good now, I addressed your valid point.


🐛(front) force xapi initialized action for a live video

Purpose
For a live video, no event to detect when the video is fully initialized is
triggered before the first "play" action. To mitigate this, we can call
"initialize" on the first "interact" action and abort the interact itself.
The first interact action is when the first quality to play is chosen, the
default one. To choose it, all quality available must be read in the HLS
manifest. So we can consider at this time that the video is initialized.
Proposal

[x] force xapi initialized action for a live video

Closes #1065

Too bad we don't have tests for live.

Tests about live xapi events I mean.


fix: unescape target URL

For URLs in non-ascii, the target name should un-escaped to be shown properly.
For example, before this commit, target written in Arabic "/البرمجة" is shown as /%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9.
After this fix (last link at bottom right):

This is really weird, do you know if this page still shows up correctly? I remember running into the exact opposite issue and leaving it escaped was the only way to get it to render properly

This is really weird, do you know if this page still shows up correctly? I remember running into the exact opposite issue and leaving it escaped was the only way to get it to render properly

It does.

This is what I see on upstream, some links seem to be lost


Syndicate pAI's

Description
Feature request. Tint the pAI's red and give them access to see and speak on Syndicate radio instead of Common.
Willing to work on this if I have the chance

Maybe draft up basic Silicon laws?

Theoretically speaking, Syndicate pAIs could just be regular pAIs but emagged or something like that. Once activated, whatever method we decide for that, they could get access to some abilities so they can help the syndie achieve their objectives. I think it'd add an interesting avenue of gameplay.

Theoretically speaking, Syndicate pAIs could just be regular pAIs but emagged or something like that. Once activated, whatever method we decide for that, they could get access to some abilities so they can help the syndie achieve their objectives. I think it'd add an interesting avenue of gameplay.

What COULD we add to pAI gameplay to make it better? Right now it's a talking MP3 player and the MP3 player part doesn't even work. I guess I could try adding a pAI shop where you can health scan your owner or something? Could be like /tg/'s system with apps. Shrug.

What COULD we add to pAI gameplay to make it better?

It's a ghost role, does it need to do everything.

Yeah but right now it just feels so bare

It can play music and talk which is arguably more than what a mouse can do.

in 13 they can choose holoforms to walk around as, i have all the rsi's for this

I think the PAI should be able to play music in a variety of instruments.
But I can't code that, so this is a WYCI moment

shrug, guess im wrong. i'll try to fix it tommorow alongside some other pAI qol additions

Fixed by #18625 and #18674


[Question]: ModuleNotFoundError: No module named 'llama_index.core'

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
I have been using llama index for quite a while, when i tried to load my environment today i get the error. I have the lastest verion v0.10.15
ModuleNotFoundError: No module named 'llama_index.core'
I tried to downgrade the version , still get the same error.

@Vishu611 Seems your env is a tad corrupted, v0.10.x had some major changes, any remnants of a previous install in your env will cause issues.
Start with a fresh venv. In a new terminal
pip uninstall llama-index  # remove any global
python -m venv venv
source venv/bin/activate
pip install llama-index

@logan-markewich , Thanks this worked now! Not sure why it failed when i did the exact same thing the last time.
I was also wondering can we use the llama index cli  like below on the .ipynb files? :
llamaindex-cli upgrade-file <file_path>

I am getting this 'ModuleNotFoundError' when using the code ´from llama_index.output_parsers.guardrails import GuardrailsOutputParser´
ModuleNotFoundError: No module named 'llama_index.output_parsers'


Create a report of "issues to be solved" (general feedback)

No specifics beyond that. Could be done through using Individual Checks?

Also:

prioritize problems
add where/how to fix in metadata editor


Enabling Street Labels disables existing popups

Describe the bug
When I enable Streets Labels on a layer that has a Lealfet popup, the popup no longer appears after clicking the popup.
To Reproduce
Steps to reproduce the behavior:

Open a map that has a Leaflet popup. Click the layer and the popup window appears over the layer.
Enable Street Labels.
Open the same map as in 1 and notice that the popup window no longer appears when you click the layer.

Expected behavior
I expected that the existing popup window would not be affected by enabling Street Labels.
Screenshots
Screenshot showing the popup window

Screenshot showing Street Labels working

Desktop:

OS: MacOS Ventura 13.1
Browser: Safari 16.2

Additional context
My code (I've tried this with interactive set to true and with interactive set to false):
var zoneClassRenderer = new L.StreetLabels({
		collisionFlg: false,
		propertyName: 'zone_class',
		showLabelIf: function (layer) {
			return typeof layer.properties.zone_class != "undefined";
		},
		interactive: true,
		fontStyle: {
			dynamicFontSize: false,
			fontSize: 12,
			fontSizeUnit: "px",
			lineWidth: 4.0,
			fillStyle: "black",
			strokeStyle: "white",
		},
	});

update on the issue:
layer.bindTooltip() works but layer.bindPopup() still doesn't work.


Left side of text is cut off when maximizing windows terminal on non-primary monitor

Environment
Windows build number: [run "ver" at a command prompt]
Windows Terminal version (if applicable):

Any other software?

Microsoft Windows [Version 10.0.18892.1001]
Steps to reproduce
Press the maximize button when the terminal is on a non-primary monitor
Expected behavior
All text should be visible
Actual behavior
A portion of the leftmost column of cells is cut off.
The text is fine when maximized on the primary monitor.

I hope I can provide more information.
For me, this happens when using it on the second display on a dual monitor setup of primary 2560×1440 and secondary 1920x1080. When using two equal displays with 1920x1080, it doesn't happen at all.
Also, it seems that when using it in the first setup, the + button on the titlebar is cut off at the top (possibly the entire titlebar). But in the second setup, it's totally fine.

I can reproduce this only with the showTabsInTitlebar setting enabled. It looks like about 10px from the top and left are being cut off.

I can reproduce on Surface Pro with 19" external monitor (with or without showTabsInTitlebar setting enabled) with all terminal types,

1920x1080 primary display and 3840x2160 non-primary monitor, each has a high DPI scaling factor of 150%.
Terminal on non-primary monitor, left and top is cut off.

Terminal on primary monitor, everything is good.

Seeing this issue on Dell Precision 5520 with Intel and Nvidia GPUs. Internal screen 1920x1080, external screen one 1920x1080, external screen two 3840x2160. Internal screen is set as primary.
Only see this issue on the 3840x2160 (4K) display. Scaling factor doesn't seem to affect it (tried 100%, 150%, 175%).
Orientation of the screens doesn't obviously make a difference. Normally I have Left (scr two) - Middle (Internal) - Right (scr one). Switched the external screens around so that Windows thinks screen two is on the right, and the issue stays with screen two (the 4K one).
Occurs with PowerShell, PowerShell Core, Windows Cmd, and Ubuntu sessions, including those started after the window is maximised.

After my initial post on Friday, when I first noticed the problem, I tried again on Sunday (yesterday) and it was working fine. I don't know why it changed, and I don't think there was an update. However, I am glad it is now working. The external monitor is an older 1280x1024 while the main Surface Pro display is 2736x1824. I give those details for context.

Still seeing the issue here.

I am also suffering with this issue. All of my monitors are the same size and scale. (The only difference is the colour profile of the monitor.

I am also seeing the bottom of the terminal cut off by taskbar as well as the left side

Just FYI, I tried this locally.
It is working fine on my non-primary monitors.
When I change the DPI/scaling of my monitors, it's still OK.
I still will have to go get the 4K monitor and test that way.
And then I'll try with a Surface device and an external monitor after that.

@miniksa Is there any information we can provide to help track down the cause?

Windows 10.0.18362.207
Terminal 0.2.1715.0 from the Store
My setup is a 1920×1080 main screen and a 1600×900 screen to the left, both at 100% scaling. In the main screen there is no problem, but the problem described in this issue happens in the secondary monitor, at the top, left, and bottom of the window.

@gmckeown, that's a catch-22. If I knew what could help, I'd probably know what was going wrong. Right now, it's just a mystery to me so I need to see it happening and get a debugger on it, or find someone with this issue externally who has the confidence to debug it themselves and tell us what's going wrong.

OK, it does repro on the 4K monitor I found around here. I'll debug it.

I believe it has to do with this block where the _maximizedMargins is calculated. This check
if (rcMaximum.left == 0)
{
    offset = windowPos->x;
}
else if (rcMaximum.top == 0)
{
    offset = windowPos->y;
}

does not work for non primary monitors that are positioned with an offset where left and top won't be 0.
What I mean by not monitors aligned.

I can reproduce the issue with an arrangement like in the above example. If I change it so that they are arranged side-by-side, then rcMaximum.top becomes 0 and it maximizes properly on the second monitor.

@dsafa I think that fits with my issue. Normally I use:

With this, I get the alignment issue. If I change to:

The problem isn't seen.

Can confirm this also happens if the monitor alignment in display settings is not aligned to the top or bottom of the main monitor exactly. Thanks for the fix @dsafa

Confirmed. This is my setup, and the issue happens when the window is in monitor 2. If I align the screen to the top of the other, then the issue disappears once I restore and maximize the window again. Notice that this happens to me even when the bottom of the secondary screen is aligned with the bottom of the main screen (it only disappears when the tops of both screens are aligned).

If its not picked up, I can try and get a PR done later.


[TextField]: How to style error label without inline styles?

Description
Need to change error label style without inline or css classes. Can't find anything in docs about it
Something like that:
<TextField
	id="standard-textarea"
	placeholder="Email"
	margin="normal"
	className={textInputAndLabel}
	error={true}
	label="Error message (this one)"
/>

How can I do that?

Need to change error label style without inline or css classes.

What do you want to use then?


Better Variable.repr

Closes #6539

Can one of the admins verify this patch?

Looks good to me, thanks!
@tensorflow-jenkins test this please.


Stand up rancher on DO

Might be useful: https://www.digitalocean.com/community/tutorials/how-to-manage-your-multi-node-deployments-with-rancher-and-docker-machine-on-ubuntu-14-04

Tested this out. @rickr - any opinions on docker-machine vs kubernetes?
Still waiting for DO's accounts credits to come in before moving too much further.

This is up. Need to determine whether we want a separate rancher-server-dev and rancher-server-test or not.

Single server for now, MVP.


prog: mutate length of output buffers

Update #480

Before sending a pull request, please review Contribution Guidelines:
https://github.com/google/syzkaller/blob/master/docs/contributing.md

Codecov Report

Merging #1453 into master will decrease coverage by 0.07%.
The diff coverage is 75%.

@@            Coverage Diff             @@
##           master    #1453      +/-   ##
==========================================
- Coverage   56.49%   56.41%   -0.08%
==========================================
  Files         135      135
  Lines       25777    25798      +21
==========================================
- Hits        14562    14555       -7
- Misses      10544    10570      +26
- Partials      671      673       +2

Impacted Files
Coverage Δ

prog/mutation.go
94.17% <75%> (-1.92%)
:arrow_down:

prog/target.go
55% <0%> (-7.15%)
:arrow_down:

prog/prog.go
80% <0%> (-3.5%)
:arrow_down:

prog/any.go
88.69% <0%> (-0.71%)
:arrow_down:

prog/rand.go
88.36% <0%> (+0.36%)
:arrow_up:

Continue to review full report at Codecov.

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

PTAL @dvyukov


Release notes changes scroll position when switched tabs

Issue Type: Bug
When reviewing release notes and switched to another tab (i.e. settings), then switching back to release notes tab, it scrolls to totally different position, making it difficult to follow.

VS Code version: Code 1.69.0 (92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9, 2022-07-07T05:28:36.503Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz (16 x 3600)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
63.95GB (37.73GB free)

Process Argv
--verbose

Screen Reader
no

VM
67%

Extensions (65)
(2 theme extensions excluded)

duplicate of #120322

/duplicate

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


combines filter chains into a single node

THIS

INSTEAD OF

LGTM, but r? @ms705

Ok -- I think there are some possible improvements, but it's correct and in the interest of expedience and other merges, we should merge this. Thanks @larat7!


ugraded dartx and path version

I run "pub run test -p chrome" locally and I have all green.

Is this different from #277 and #287?

Sorry, I did check the diff and is the same solutions

Thanks! Should be fixed by #277 and #287.


Support passing a AbortSignal to cache.match

Because of how Cloudflare is tracing async executions (https://zuplo.com/blog/2022/03/04/the-script-will-never-generate-a-response), when implementing concurrent logic with Promise.race or similar, it's prefered to use a signal to abort any underlying fetch.
For example in my case I want to read from multiple caches in parallel, and one of them is the caches.default. But in theory the script might respond before all the caches finished responding.
It'd be great if we could pass a AbortSignal to cache.match:
const abort = new AbortController();
const response = await cache.match(request, { signal: abort.signal });

fyi ... @irvinebroque

While we do already have some variances from the standard Cache API (https://developer.mozilla.org/en-US/docs/Web/API/Cache/match) I would be hesitant adding a non-standard option for a signal here.  My preference would be to try to have the standard options updated to include a signal option that would parallel the option in fetch.
On a technical level, implementing this would not be difficult, however, and I think it would be a valuable addition.


qute templating not working anymore

In the triage application:
2023-12-13 08:50:25,350 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /review failed, error id: 96d58d36-8cfc-436a-9a57-9058e5151e4a-2: io.quarkus.qute.TemplateException: Rendering error: Entry "review" not found in the data map in expression {review}

code:
@SystemMessage("""
            You are working for a bank.  You need to triage the reviews into positive and negative ones.
            You will always answer with a JSON document, and only this JSON document.
            """)
    @UserMessage("""
            Your task is to process the review delimited by ---.
            Apply a sentiment analysis to the passed review to determine if it is positive or negative.
            The review can be in any language. So, you will need to identify the language.

            For example:
            - "I love your bank, you are the best!", this is a 'POSITIVE' review
            - "J'adore votre banque", this is a 'POSITIVE' review
            - "I hate your bank, you are the worst!", this is a 'NEGATIVE' review

             Answer with a JSON document containing:
            - the 'evaluation' key set to 'POSITIVE' if the review is positive, 'NEGATIVE' otherwise, depending if the review is positive or negative
            - the 'message' key set to a message thanking the customer in the case of a positive review, or an apology and a note that the bank is going to contact the customer in the case of a negative review. These messages must be polite and use the same language as the passed review.

            ---
            {review}
            ---
            """)
    @Retry(maxRetries = 2)
    @Fallback(fallbackMethod = "fallback")
    TriagedReview triage(String review);

    static TriagedReview fallback(String review) {
        return new TriagedReview(Evaluation.NEGATIVE, "Sorry, we are unable to process your review at the moment. Please try again later.");
    }

I cannot reproduce this unfortunately

My best guess is that in your example, <maven.compiler.parameters>true</maven.compiler.parameters> has not been set

hum... weird,
it's just a copy of the triage app using the last release.

Seems to comes from fault tolerance. As soon as I added that extension, it happened (even if I removed the annotation)

I added FT and didn't see the problem. But let me try again

ok, the issue only happens in dev mode.

well, it's a combination of things.... I need to find the proper scenario (because users will do it)

I still can't reproduce it...

ok, forget about it, found the issue:
you cannot reconfigure the maven compiler plugin when FT is used.


Example tests for Solid Notifications and WebSocketSubscription2021 specifications

This is some provisional work on testing these notifications related specs. Of note:

All tests are disabled by default for all test subjects by skipping tests with the @notifications tag.
The tests in protocol don't specify a subscription type as they are meant to test the protocol, not a particular subscription type. Since the discovery mechanism is not yet specified subscription-endpoint.feature uses an alternative implementation and defaults to WebSocketSubscription2021. It also contains code which should allow it to pick the first available subscription type after notification channel discovery but this is untested as there are no implementations available.
It is not clear to me what https://solid.github.io/notifications/protocol#server-subscription-access-controls is supposed to test so, for now, this test contains an example of getting a notification from a container. Although it doesn't specify a subscriptionType the actual code is using a WebSocket.
There needs to be a lot more testing on notification events but we are waiting for requirements to be defined.
This is not built to test the solid-0.1 protocol since that is insecure and will not be retained in the Solid specification.

Comments on this would be very welcome.

See https://github.com/solid/notifications/issues/141 re implementations


[OTHER]: typo in sidebar item

What would you like to share or ask?
A typo in sidebar item: Ai Tools.
It should be AI Tools.

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[ ] I am willing to work on this issue (optional)

Hi, Please assign #2430 to me.

Hi, Please assign #2430 to me.

@tusharpasricha You're assigned. Please let us know if you need any assistance.


1st try pdf multipage fail

1st try, converted my code using PdfPages to MultiPage, but got this:
  File "./plot_results_vs_esno2.py", line 317, in <module>
    pdf.savefig (fig)
  File "/home/nbecker/.local/lib/python3.6/site-packages/mplcairo/multipage.py", line 41, in savefig
    self._renderer._set_size(*figure.canvas.get_width_height(),
AttributeError: 'MultiPage' object has no attribute '_renderer'

It's not at all a minimal test case I can upload, but does anyone know what might be the problem?

from matplotlib import pyplot as plt
from mplcairo.multipage import MultiPage

fig1, _ = plt.subplots(2)
fig2, _ = plt.subplots(3)
with MultiPage("/tmp/test.pdf") as mp:
    mp.savefig(fig1)
    mp.savefig(fig2)

works for me.  You definitely need to use the contextmanager form though.
Does this help?

Adapting the existing code to use a contextmanager seems difficult, the structure is
if PDF:
        pdf = PdfPages(args.output)
... do something to produce a fig
        if PDF:
            pdf.savefig (fig)
            plt.close()

if PDF:
    pdf.close()
else:
    plt.show()

I would need ...do something to produce fig to be inside contextmanager when producing PDF, but not when PDF is false.  Not sure how to code that.

The context manager only needs to wrap the savefig (just like one would use open() for normal files), e.g.
# produce the figs first
if PDF:
    with MultiPage(...) as pdf:
        pdf.savefig(...)
else:
    plt.show()

(or you can do various tricks with ExitStack and nullcontext, see https://docs.python.org/3/library/contextlib.html#contextlib.ExitStack and https://docs.python.org/3/library/contextlib.html#contextlib.nullcontext).

OK, works using context manager as you showed.
py3.6 doesn't have nullcontext, but can be simulated using contextlib.suppress().
The fact that it only works with cm needs to be documented.

I fixed it on master: the old pattern (with close()) now works too.
I haven't made a new wheel but you can get away with copy-pasting multipage.py.

Closing as fixed on master, feel free to request a reopen if there are more issues.


Update for MKL 2025

MKL single argument release_matrix_handle was deprecated in 2023 and removed in 2025
https://github.com/ginkgo-project/ginkgo/blob/568a75946d09218e57492da18da552267ab8b3da/dpcpp/matrix/csr_kernels.dp.cpp#L1420
https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-dpcpp/2025-0/oneapi-mkl-sparse-release-matrix-handle.html
We are trying to release oneapi 2025 on Spack, but e4s build is failing:
https://github.com/spack/spack/pull/47264
with this error
/tmp/root/spack-stage/spack-stage-ginkgo-1.8.0-bqbygy3vpm73xu5bswwd4eo7ekitjsrm/spack-src/dpcpp/matrix/csr_kernels.dp.cpp:1424:63: error: too few arguments to function call, expected at least 2, have 1
 1424 |         oneapi::mkl::sparse::release_matrix_handle(&mat_handle);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            ^
/home/software/spack/[padded-to-256-chars]/linux-ubuntu22.04-x86_64_v3/oneapi-2024.2.1/intel-oneapi-mkl-2025.0.0-trzhgb6lg67dxvpj47qoycibohcjnzus/mkl/latest/include/oneapi/mkl/spblas/sparse_structures.hpp:41:1: note: 'release_matrix_handle' declared here
   41 | release_matrix_handle(sycl::queue &queue,
      | ^                     ~~~~~~~~~~~~~~~~~~~
   42 |                       matrix_handle_t *p_spMat,
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~
   43 |                       const std::vector<sycl::event> &dependencies = {});

There might be more deprecation/removal issues. Would it be possible to update Ginkgo?

This seems easy to fix on our side. I created a PR for that, but we have to wait a bit until our intel CI is running again.

@rscohn2 the spack issue should now be resolved.

Thanks!
@eugeneswalker
@piotrsacharuk


fix dimension mismatch in DownsamplerBlock

Hi ,thanks you suggestion!
I have a problem. In the downsampling unit, one branch uses an average pool of stride=2 and kernel_size=2, and the other branch uses a kernel_size=2 convolution(stride=2), due to the resolution and number of channels of the two branches all same, why do you say that the sampling unit dimensions do not match? I am looking forward to your reply.

I think it is because different kernel size of convolution and pooling lead to a different result of output resolution.
I'm glad to provide my test code for you. Just change patch_size to 31 make the error occur.
from __future__ import division
from __future__ import print_function
import os, time, scipy.io, shutil
import torch
import torch.nn as nn
from torch.autograd import Variable
import torch.nn.functional as F
import numpy as np

class DownsamplerBlock (nn.Module):
    def __init__(self, in_channel, out_channel):
        super().__init__()

        self.conv = nn.Conv2d(in_channel, out_channel-in_channel, (3, 3), stride=2, padding=1, bias=True)
        self.pool = nn.MaxPool2d(2, stride=2)
        self.bn = nn.BatchNorm2d(out_channel, epatch_size=1e-3)
        self.relu = nn.ReLU(inplace=True)

    def forward(self, input):
        output = torch.cat([self.conv(input), self.pool(input)], 1)
        output = self.bn(output)
        output = self.relu(output)
        return output

patch_size = 32                 # right when patch size is 32 but wrong when patch size is 31

inch = 16
outch = 32

test_img = np.random.rand(inch, patch_size, patch_size)

input_var = torch.autograd.Variable(
        torch.from_numpy(test_img.copy()).type(torch.FloatTensor).unsqueeze(0)
    )

model = DownsamplerBlock(inch, outch)

output = model(input_var)

Thank you for your reply. I don't quite understand, is there a necessity to do this? Because no errors are found at runtime, if you are not sure if the resolution is the same of the two branch, just print the size of the tensor to see if there is a problem.   Since Pytorch is very flexible, if you want to achieve downsampling by convolution, such as convolution kernel kernel_size=K, we only need to set stride=2, padding=(K-1)/2
As follows：
class DownsamplerBlock (nn.Module):
def init(self, in_channel, out_channel):
super().init()
    self.conv = nn.Conv2d(in_channel, out_channel-in_channel, (3, 3), stride=2, padding=1, bias=True)
    self.pool = nn.MaxPool2d(2, stride=2)
    self.bn = nn.BatchNorm2d(out_channel, epatch_size=1e-3)
    self.relu = nn.ReLU(inplace=True)

def forward(self, input):
    ##
    print(self.conv(input).shape)
    print(self.pool(input).shape)
    ##
    output = torch.cat([self.conv(input), self.pool(input)], 1)
    output = self.bn(output)
    output = self.relu(output)
    return output

yes, it's no need to do this for task.
I just think it will be easier to apply the network module to other datasets or tasks.
Thank you for your reply.


[Feat]: organize scrub per media-type

Is your feature request related to a problem? Please describe.
No response
Describe the solution you'd like
Image Manifest
Image Index
Artifact Manifest
Artifact Reference
Describe alternatives you've considered
No response
Additional context
No response

Covered in https://github.com/project-zot/zot/pull/1845


errors after installing the plugin and restarting nvim

Are you using neovim 0.5?

Are you using neovim 0.5?

No, I'm using neovim 0.4.4, the latest release on github.

No, I'm using neovim 0.4.4, the latest release on github.

That is why. This plugin requires neovim nightly because of the Lua API it uses.

That is why. This plugin requires neovim nightly because of the Lua API it uses.

Where can I download the nightly version ?

Where can I download the nightly version ?

It depends on you OS. I can see you are using Windows. Currently I am using the WSL 2 in Windows 10, and I build neovim from source. Here there is some documentation about how to do it in Debian/Ubuntu from within the WSL 2: https://github.com/datwaft/nvim/blob/master/doc/neovim-installation-guide.md
If you want it in Windows without WSL I haven't ever tried so I wouldn't be able to help you. Good luck!
Remember that nightly is the latest cutting-edge development version, so it isn't completely stable.

It depends on you OS. I can see you are using Windows. Currently I am using the WSL 2 in Windows 10, and I build neovim from source. Here there is some documentation about how to do it in Debian/Ubuntu from within the WSL 2: https://github.com/datwaft/nvim/blob/master/doc/neovim-installation-guide.md
If you want it in Windows without WSL I haven't ever tried so I wouldn't be able to help you. Good luck!
Remember that nightly is the latest cutting-edge development version, so it isn't completely stable.

Here, you can install it with chocolatey: https://github.com/neovim/neovim/wiki/Installing-Neovim#chocolatey

Here, you can install it with chocolatey: https://github.com/neovim/neovim/wiki/Installing-Neovim#chocolatey

ok now that I installed the nightly version I have an other issue.

Translation of the french sentence : "the path was not found".

ok now that I installed the nightly version I have an other issue.

Translation of the french sentence : "the path was not found".

Interesting, that seems to be because you don't have git installed on your computer. I will add a fix so that if you don't have git installed the bubble doesn't appear.

Interesting, that seems to be because you don't have git installed on your computer. I will add a fix so that if you don't have git installed the bubble doesn't appear.

I have git installed

I have git installed

It seems to be the redirection I use to silence the erroneous output.

It seems to be the redirection I use to silence the erroneous output.

I don't know much about Windows, but it seems that powershell and cmd.exe use different syntax for the error redirection. I am using command 2> $null that is the syntax for powershell.
Try the development branch and tell me if it works.

I don't know much about Windows, but it seems that powershell and cmd.exe use different syntax for the error redirection. I am using command 2> $null that is the syntax for powershell.
Try the development branch and tell me if it works.

The development branch doesn't work either.

The development branch doesn't work either.

Then it might be something else related to Windows. I will do some tests and in a few days may have some fix.

Then it might be something else related to Windows. I will do some tests and in a few days may have some fix.

Testing the development branch, it seems to be partially working.

But the error output goes to a file called $null instead and I don't know how to fix that.

Testing the development branch, it seems to be partially working.

But the error output goes to a file called $null instead and I don't know how to fix that.

This issue will be absorbed by #67.


Upgrade versions of 3rd party database drivers in VM base images

Most recent available drivers

PostgreSQL  42.3.6.
MSSQL 10.2.1.

Base image offer ids
Oracle tests

weblogic-122130-jdk8-ol73
weblogic-122130-jdk8-ol74
weblogic-122140-jdk8-ol76
weblogic-122140-jdk8-rhel76

Microsoft tests

weblogic-141100-jdk11-ol76
weblogic-141100-jdk11-rhel76
weblogic-141100-jdk8-ol76
weblogic-141100-jdk8-rhel76

@jacobt123 , I propose that once the base images are available for testing, we split the testing work between Microsoft and Oracle to minimize the time to mitigation.  I suggest Oracle take the first four in the above list and Microsoft the next four.  What do you think?

@edburns Yes, we'll test the first four once the preview images are available

Work is in progress. Submitted jobs for creating base VM images.
Following version database drivers were used.

postgresql-42.3.6.jar
mssql-jdbc-10.2.1.jre8.jar

Testing objectives
Verify the base images all have the correct versions of the jars (see parent issue and related child task)
Do a checksum (UNIX sum(1)) on the jars to verify they are the correct bits as downloaded from maven central.

Preview images are available

WebLogic <IP_ADDRESS>.0 Base Image on JDK 11/OL 7.6 (preview)
WebLogic Server <IP_ADDRESS>.0 Base Image on JDK8/OL76 (preview)
WebLogic <IP_ADDRESS>.0 Base Image and JDK 8 on OL 7.6 (preview)
WebLogic <IP_ADDRESS>.0 Base Image and JDK 8 on OL 7.4 (preview)
WebLogic <IP_ADDRESS>.0 Base Image and JDK 8 on OL 7.3 (preview)
WebLogic <IP_ADDRESS>.0 Base Image on JDK 11/RHEL 7.6 (preview)
WebLogic <IP_ADDRESS>.0 Base Image on JDK 8/RHEL 7.6 (preview)
WebLogic <IP_ADDRESS>.0 Base Image on JDK 8/RHEL 7.6 (preview)

Submitted for admin, cluster and dynamic cluster offer changes to publish at marketplace.

Admin,cluster and dynamic cluster offer preview images are available at marketplace.

Azure application offers admin,cluster and dynamic cluster are made live at marketplace.
Azure virtual machine images are also made live at marketplace


Breakpionts lost.

I am using rr as a gdb backend.
$ rr --version
rr version 5.3.0
Config:
      {
        "type": "gdb",
        "request": "attach",
        "name": "Attach to gdbserver",
        "executable": "${workspaceFolder}/x264",
        "target": ":50505",
        "remote": true,
        "cwd": "${workspaceRoot}",
        "valuesFormatting": "parseText"
      },

Steps to reproduce:
Step 1: rr replay x264-2 -s 50505 -k
Step 3: Attach to rr and add some breakpionts. It works fine.
Step 4: Disabling any breakpoint causes all breakpoints lost.

Does rr offer a MI backend?
I use the break-delete MI command to remove a breakpoint, see https://github.com/WebFreak001/code-debug/blob/f2923480e45874324ca94badbe35c7ed80a5e172/src/backend/mi2/mi2.ts#L576
However in older GDB versions break-delete didn't take an argument and instead just cleared all breakpoints, which might be happening here. Can you check what happens if you manually run -break-delete <num> first on some breakpoint from the i b list to see if it properly deletes? If you enter an invalid number it might be possible that it could clear all breakpoints, you should check for this behavior.
Try enabling debug output ("showDevDebugOutput": true, "printCalls": true) and check if it actually runs break-delete on the correct breakpoint IDs.

-break-delete <num> can properly delete it.
-break-delete 2
{"token":28,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}}
i b
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   <MULTIPLE>
1.1                         y     0x000055bad7a20d6a in x264_8_macroblock_analyse at encoder/analyse.c:3038
1.2                         y     0x000055bad7b4e186 in x264_10_macroblock_analyse at encoder/analyse.c:3038
3       breakpoint     keep y   <MULTIPLE>
3.1                         y     0x000055bad79318c5 in x264_8_encoder_encode at encoder/encoder.c:3763
3.2                         y     0x000055bad79536c7 in x264_10_encoder_encode at encoder/encoder.c:3763
4       breakpoint     keep y   <MULTIPLE>
4.1                         y     0x000055bad7936e61 in x264_8_lookahead_get_frames at encoder/lookahead.c:234
4.2                         y     0x000055bad7958c4c in x264_10_lookahead_get_frames at encoder/lookahead.c:234
5       breakpoint     keep y   <MULTIPLE>
5.1                         y     0x000055bad7a4ff45 in clip_qscale at encoder/ratecontrol.c:2234
5.2                         y     0x000055bad7b7d58b in clip_qscale at encoder/ratecontrol.c:2234
6       breakpoint     keep y   <MULTIPLE>
	stop only if h->sh.i_type == 2 (target evals)
6.1                         y     0x000055bad7a506ca in clip_qscale at encoder/ratecontrol.c:2317
6.2                         y     0x000055bad7b7dd10 in clip_qscale at encoder/ratecontrol.c:2317
7       breakpoint     keep y   0x000055bad78fc591 in main at x264.c:378
	breakpoint already hit 1 time

Try enabling debug output ("showDevDebugOutput": true, "printCalls": true) and check if it actually runs break-delete on the correct breakpoint IDs.

Could you explain how i can enable this?

ah I see it sends break-delete without any ID, probably because the breakpoint is undefined at that code.
It's a severe bug that there is no validation for undefined but it's also important to find out why it's undefined in the first place for you.

Actually, the clearBreakPoints is called instead of removeBreakPoint.


Problem with assets-manager

Hi. If you install jodit and use assets-plugin (not npm-assets) then you application after install showing exception:
"The file or directory to be published does not exist: /.../vendor/npm-asset/jodit/build"

Solution of this issue on https://github.com/jodit/yii2-jodit/issues/1


Port simulation code to Julia

This is a very nice simulation framework!
But using a closed source language like Matlab/Simulink for an open source project is not a good choice.
Only academics in rich western countries can use it.
So I suggest to port this code to Julia (see: https://julialang.org/ )
Example for a generic flight simulation framework in Julia: https://github.com/JinraeKim/FlightSims.jl
Example for a kite power system model in Julia: https://github.com/ufechner7/KiteViewer/tree/sim/src
Porting Matlab to Julia should be easy, porting Simulink to Julia is more involved. But Julia has differential equation solvers that are orders of magnitude faster and more stable than Simulink.

You are welcome to contribute a port of this code to Julia!

I did an inhouse sim for Kitemill using Julia. The DifferentialEquations package could replace the integration part of Simulink.
I agree one should not create Matlab open source when Julia exists and is so good. I guess Python may also be a nice option though I dont like it much.
Even in Norway, we cant afford a €4k license for every user, making the Matlab users involuntary «priests» in charge of running code.
As a teaser my Julia sim runs a full loop in a few ms. It would be interesting to compare benchmarks. In my opinion this is important because a simulation run often must be run multiple times to automatically determine eg C_L and reel out speed to match tether max tension requirements. One these things are added, processing time adds up. I can generate a full power curve in seconds. My experience with simulink tells me this may not be possible with MegAWES.

I guess Python may also be a nice option though I dont like it much.

I implemented FreeKiteSim in Python/ Numba, and it was not a very pleasant experiance.
Advantages of Julia compared to Python/ Numba:

better readability of the code
one language instead of two (Numba is a subset of Python which is really different from normal Python)
much better package manager; a lot less C/C++/Fortran libraries required, and those that are required exists in compiled for for Windows/ Linux/ Mac
StaticArrays.jl, a library that makes small arrays (up to about 100 elements) much faster and non-allocating while allowing the same linear algebra operations as for conventional arrays...

You are welcome to contribute a port of this code to Julia!

I consider to port at least the controllers from Sebastian Rapp to Julia later this year. But I can work on this only during my spare time, and it might be more effective if I support a researcher or student do do this port than doing it all myself...

My Julia code for soft kites is working fine now (see: https://github.com/aenarete/KiteSimulators.jl) and is also used by two researchers in Belgium and one company in the US... And I am now able to run this code using Matlab home...
Next step: Adding a fixed wing model to KiteModels.jl ...

Great to hear the Julia code for soft kites is working fine now.
Of course there is a big advantage of using free languages over Matlab but this work was based on different projects performed in advance (in Matlab). Therefore, it was not possible in the given time to port everything and do my own work, forcing me to stick with Matlab and Simulink.
There is one big advantage though in my opinion using simulink in open-source projects which is the graphical representation of connections between simulation modules. This is much easier to read than code itself.
Nevertheless, a Julia (or Python) version is definitely a great addition to the community. Having the controllers from Sebastian Rapp in Julia would be a great first step to have the entire framework in a more accessible language.


Error Domain=VZErrorDomain Code=1 "The virtual machine failed to start." UserInfo={NSLocalizedFailure=Internal Virtualization error., NSLocalizedFailureReason=The virtual machine failed to start.}

Tried all the steps mentioned in README and getting
.build/TinyLinux.xcarchive/Products/usr/local/bin/TinyLinux --vmlinux ubuntu/vmlinux --initrd ubuntu/initrd --commandline "console=hvc0 root=/dev/vda1" --image ubuntu/ubuntu-20.04.3-live-server-arm64.iso
Error Domain=VZErrorDomain Code=1 "The virtual machine failed to start." UserInfo={NSLocalizedFailure=Internal Virtualization error., NSLocalizedFailureReason=The virtual machine failed to start.}

Try without ubuntu/ to kernel and ramdisk path.
.build/TinyLinux.xcarchive/Products/usr/local/bin/TinyLinux --vmlinux vmlinux --initrd initrd --commandline "console=hvc0 root=/dev/vda1" --image ubuntu/ubuntu-20.04.3-live-server-arm64.iso

As the pervious instructions described, ./ubuntu directory is a temporary one, just a mounting point to extract kernel and ramdisk to ./, and after umount, it doesn't hold anything.
I also updated README.md as 59d342a to clarify it.

I mounted on test folder and placed them under ubuntu folder and gave the path from there. So that doesn't seem to be the issue.The paths are correct and still getting the above error. I am on macOS x86_64 does that matter in this case ?

Things are discussed here. https://github.com/evansm7/vftool/issues/2 But its not clear. I just want to boot ubuntu desktop iso file using virtualization.framework.

Please read the instruction carefully, the one written in README is for Apple Silicon (M1, arm64) mac.
You need to modify it for your x64 mac.

Do, I need to download the x86_64 image of ubuntu and try the same steps will it work ?

Yes, it may not be exactly same, but mostly same. Download x64 version of iso like normal Ubuntu Desktop iso and follow same steps. You don't need to ungzip, and can use vmlinuz bzImage file as-is.

@niw thanks a lot mate. I was able to boot amd64 ubuntu desktop from the advice you gave me. Thanks, much appreciated!!

Glad to hear that you could boot Ubuntu up. I also updated README to mention about x64 mac usage.
I will close this issue now.

Hi @niw , thats great that you mentioned about x64 as well. I was trying to boot up android as well but after mounting the structure seems to be different. I am little bit confused how I can specify all these files in the tool. Can you help me. Just curious to try out different OS with virtualization.framework.


Docs/readme

Update the readme / documentation on how to use this plugin.
I used the readme tiddler to construct the main repo README in the same way the main TiddlyWiki repo does.
Run npm install first then npm run readme to rebuild the README from atomfeed/readme.tid. You can also run npm start to preview the output in a browser at http://localhost:8080/.

This PR fixes Issue #9


Creating and running a shell task results in errors in output

Type: Bug
I believe this is a resurface of https://github.com/microsoft/vscode/issues/95876
Again, the task runs to completion it just pollutes the Tasks Output. Am I missing something?
For me it triggers with the relatively simple snippet
export async function shellTask(command: string, args: string[], name: string) {
  const task = new vscode.Task(
    { type: 'shell' },
    vscode.TaskScope.Workspace,
    name,
    'Modern Fortran',
    new vscode.ShellExecution(command, args)
  );
  // (<vscode.Task>task).definition = { type: 'shell', command: command };
  const execution = await vscode.tasks.executeTask(task);
  return await new Promise<void>((resolve, reject) => {
    const disposable = vscode.tasks.onDidEndTask(e => {
      if (e.execution === execution) {
        disposable.dispose();
        resolve();
      } else reject();
    });
  });
}

The only way to supress the Tasks output is by uncommenting the (<vscode.Task>task)... line
Tasks output is again similar to issue 95876
Error: the task 'Modern Fortran: pip' neither specifies a command nor a dependsOn property. The task will be ignored. Its definition is:
{
    "type": "shell",
    "id": "shell,python3,-m,pip,install,--user,--upgrade,fortls,",
    "problemMatcher": [],
    "label": "Modern Fortran: pip"
}

VS Code version: Code - Insiders 1.71.0-insider (b0895f9fcc5b49587a2b187a92bbe6d7efae35fa, 2022-08-08T05:19:04.908Z)
OS version: Linux x64 5.4.0-122-generic
Modes:
Sandboxed: Yes

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 x 3447)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
2, 1, 1

Memory (System)
31.21GB (20.56GB free)

Process Argv
--unity-launch --crash-reporter-id 6298fe7a-017f-49f3-97ec-87f419e63426

Screen Reader
no

VM
0%

DESKTOP_SESSION
cinnamon

XDG_CURRENT_DESKTOP
X-Cinnamon

XDG_SESSION_DESKTOP
cinnamon

XDG_SESSION_TYPE
x11

A/B Experiments
vsliv695:30137379
vsins829:30139715
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30422396
pythontb:30258533
pythonvspyt551:30291412
pythonptprofiler:30281269
vsdfh931cf:30280410
vshan820:30294714
pythondataviewer:30285072
vscod805cf:30301675
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30404738
wslgetstarted:30449409
cppdebug:30492333
pylanb8912:30522163
vsclangdf:30492506
c4g48928:30535728
dsvsc012cf:30540253

Same problem:

VSCode Version: 1.72.2

My Code:
const task = new vscode.Task({ type: 'shell', command: commandLine }, vscode.TaskScope.Workspace,
                title, 'eide', new vscode.ShellExecution(commandLine, shellOption), []);
task.group = vscode.TaskGroup.Build;
task.isBackground = false;
task.presentationOptions = { echo: true, focus: false, clear: true };
vscode.tasks.executeTask(task);

Task works but have output tell me error:
Error: the task 'eide: build:Release' neither specifies a command nor a dependsOn property. The task will be ignored. Its definition is:
{
    "type": "shell",
    "id": "shell,\"unify_builder -p xxxxxxx",",
    "group": "build",
    "problemMatcher": [],
    "label": "eide: build:Release"
}

The Docker extension uses tasks built on-the-fly like this extensively and we see these error messages too.

VS Code Version:

1.77.1
b7886d7461186a5eac768481578c1d7ca80e2d21
x64

This affects me as well, the following snippet produces similar errors to the ones described above:
await tasks.executeTask(
        new Task(
            { type: 'shell' },
            TaskScope.Workspace,
            'Start GDB server',
            'debugger',
             new ShellExecution(
                `\"${resolveGdbExecutable(profile, 'gdbserver').fsPath}\"`.concat(
                    ` localhost:${port} --attach ${processId}`
                ), {
                    executable: 'cmd',
                    shellArgs: ['/d', '/c'],
                }
    )));

Error: the task 'debugger: Start GDB server' neither specifies a command nor a dependsOn property. The task will be ignored. Its definition is:
{
    "type": "shell",
    "id": "shell,\"c:\\Users\\adrian\\common\\tools\\mingw32\\bin\\gdbserver.exe\" localhost:2002 --attach 19360,",
    "problemMatcher": [],
    "label": "debugger: Start GDB server"
}
Error: the task 'debugger: Start GDB server' neither specifies a command nor a dependsOn property. The task will be ignored. Its definition is:
{
    "type": "shell",
    "id": "shell,\"c:\\Users\\adrian\\common\\tools\\mingw32\\bin\\gdbserver.exe\" localhost:2002 --attach 19360,",
    "problemMatcher": [],
    "label": "debugger: Start GDB server"
}

As you can see, in this case the errors double up, further cluttering the "Output " window. Would appreciate this bug being addressed. Let me know if I can help :)

As someone who's not a developer by profession this issue cost me a lot of time trying to find out if it was my error or something else. It would be helpful if the error message could at least be changed to clarify the cause for those who aren't advanced enough to track it down to a bug with the Docker extension.

/duplicate #176670


Feature/git artifact linking support

Supersedes https://github.com/solidify/jira-azuredevops-migrator/pull/818
Smoke tests: https://dev.azure.com/solidify/Internal/_build/results?buildId=13318&view=results

@NWaterbury, I have written the necessary unit tests and additionally made a few changes to ensure compatibility with older config files:

the repository-map token in the config.json is not mandatory
check if the repository-map token exists when deserializing the config.json. If not, do not add any repos.

Can you please go through my changes and ensure that the tool still functions as you had intended?

Hey @Alexander-Hjelm
Thanks for making those updates! The changes look good to me.

@NWaterbury Perfect, let me merge after fixing the code smells :)


How to connect to your own Hub or Server in game?

I have downloaded ServerHub_win-64.zip, changed the setting file and it runs well on my second PC. How to find my own Hub in Beat Saber(mod already installed) ?

You need to put the IP address of the second PC in UserData/BeatSaberMultiplayer.json like this:


wrap as.POSIXct around strptime call in format_date()?

I am getting an error with a date-time column even after running it through rcaaqs::format_date() [error..unsupported class POSIXlt, POSIXt]. I wonder if wrapping strptime() in the format_date() function with as.POSIXct would fix this?

There is an lt (TRUE/FALSE) argument to lubridate::fast_strptime (used in format_date) that tells whether or not the returned date object should be POSIXlt (default TRUE). Setting to FALSE in format_date should fix it.

Closed by 3e9b819a77517d84087c68241842384c944e6961


Working guide / Config edits

Made a working guide
Edited the base.py file

@mrbusysky I'd suggest you participate here https://github.com/thenewboston-developers/Website/issues
there are plenty of docs adjustments ticket, including, deployment

@mrbusysky I'd suggest you participate here https://github.com/thenewboston-developers/Website/issues
there are plenty of docs adjustment tickets, including, deployment

Okay ill check it out.


Add support for website config on origin

This code is heavily inspired by https://github.com/cloudposse/terraform-aws-s3-website
This is in response to https://github.com/cloudposse/terraform-aws-cloudfront-s3-cdn/issues/14

Thanks for the review @aknysh, I rebuilt the README.md and formatted the code

@dmattia  please rebase

@dmattia please rebase

Just rebased @aknysh, thanks!

@dmattia  please rebase again and rebuild README, thanks

@aknysh just rebased and rebuilt

/codefresh run test


Fix types

Description
Updates type definitions
Motivation and Context
The setValueByChoice -> setChoiceByValue rename was not reflected
How Has This Been Tested?
n/a
Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Thanks 👍

Thank you!


Update the UpdateAppModal for easier visibility

If you haven’t already, check out our contributing guidelines for onboarding!

Expected Result:
When a new update happens, the modal that appears should be non-invasive and modern looking, like this:

Actual Result:
The current modal is clunky and hard to digest, and the button looks humungous:

Action Performed:

Log into Expensify.cash
Wait for an update to be deployed
Observe the modal that appears

Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Yes, this is a style update that does not majorly impact the functionality of the site.
Platform:
Where is this issue occurring?

[x] Web
[x] iOS
[x] Android
[x] Desktop App
[x] Mobile Web

Version Number: Not applicable
Logs: Not Applicable
Notes/Photos/Videos: Not applicable

Upwork post:
https://www.upwork.com/jobs/~01b6adc982355988c0

The issue is with the width of modal and also need to add the cancel button to again hide and cancel the popup.

The issue is with the width of the modal we need to reduce the width based on dimensions of window and also need to add the cancel button to again hide and cancel the popup.

Proposal:
The width of the modal is not correct we need to reduce the width based on dimensions of window and also need to add the cancel button to again hide and cancel the popup.
First import this
import { Dimensions } from 'react-native'
then give this to the width of modal
width: Dimensions.get('window').width/3,
and also add the cancel btn

Hi @kadiealexander, I would love to work on this issue!
I propose to do the following:

Discard HeaderWithClose component currently used, and use Header component instead (this also removes the border underneath).
Add a Cancel button below the Update App button.
Increase the border radius of the modal container using modelContainerStyle.
Use existing props from withDimensions to figure out the height and width - we have to decrease the width primarily as per the new design.

Questions:

Do we have a Figma file or specification already available for the height and width of the modal? Like the percentage of the total screen width?

Working on this proposal

@SameeraMadushan, your proposal looks good. My only early piece of feedback is that the new generic modal type should just be called CONFIRM rather than CENTER_MIDDLE.

@roryabraham Sure. I will change the type to CONFIRM 🙂

@kadiealexander  Let me know if I'm good to go with the PR.

Hey @SameeraMadushan! Sorry, we had an internal hiccup that prevented me from moving forward before the weekend. I've just accepted your proposal in Upwork, please go ahead!

That's fine @kadiealexander. I will start working on it. Thanks.


[explore]ad hoc filter dropdown for IN and NOT IN

ad-hoc filter dropdown is below the modal for IN and NOT IN operators, but not for equals, not equals and other operators

fixed, thanks again @maloun96!
cc: @villebro


cleanup audio context on unmount

Close audio context on unmount.
We ran into issues with the library leaving audio contexts open, eventually causing other audio contexts on the page to stop working properly. The current logic around closing the audio context did not kick off for us as we pause, then stop the media recorder.

@samhirtarif Need this merged in 🙏🏾


Change one liners into multiple line commands

Pull Request
What does this PR do?
Fixes #327
PR checklist
Please check if your PR fulfills the following requirements:

[x] Does this PR fix an existing issue?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

Hey @sokratisvas
My bad, I forgot to specify that I had to first merge this PR: https://github.com/meilisearch/meilisearch-rust/pull/297 as there are a LOT of changes on the code-samples.
I'll update the issue with this specification, I wasn't expecting someone to contribute before I merged it!

The changes are pushed to main, you can pull are adapt your changes. If you prefer not you can close this PR.


docs: remove module-metadata.json and commitlint.config.js

/run pipeline

/run pipeline

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


miniflare caching implementation differs from actual

When looking into leveraging miniflare for our worker script, we noticed that the caching implemented within miniflare is different from the cache api in workers. Because miniflare leverages "http-cache-semantics" (which cloudworker also uses for its cache implementation), 429s are explicitly not cacheable. This stems from the storable call here, which is defined here. The check against understoodStatuses here and defined here will decide that a 429 is not storable and not cacheable, when the actual worker does allow caching of 429s.
Since http-cache-semantics is adhering to the RFC (and based on https://github.com/kornelski/http-cache-semantics/issues/31 they aren't very open to changing which status codes are cacheable), it seems like if miniflare is going to use http-cache-semantics it might need to override the storable method?

Rewriting it on the way in would certainly make it cacheable, but I'm not sure how to go about ensuring that the response when matched/retrieved from the cache was a 429 again (or maybe that would just work?).

Sweet, then it sounds like that should do the right thing.

We also just hit this when writing tests. Cloudflare is able to cache 401 responses, while miniflare will refuse to cache those calls, which makes it not possible to test this use case. Is there a workaround available?


Streamline tutorial

In the README, specify the GitHub App path as the default path for all people who want to get started. Works for personal and organization use cases alike.
Refactor the rest of the README to account for the fact that the GitHub App path is now the default one.

/cc @julienrf, your feedback would be also appreciated.

This is great! Thank you very much @anatoliykmetyuk!


Upgrade to Electron v3

Before submitting, please confirm you've

[x] read and understood our Contributing Guidelines
[x] completed Mattermost Contributor Agreement
[x] executed npm run lint:js for proper code formatting

Please provide the following information:
Summary
Upgrade Electron to v3.0.9.
Sadly I could not fix all of tests now. They passed on my PC, but it seems that the app can't start randomly in CircleCI (or docker) environment.
Issue link
N/A
Test Cases
A. General usecases should work.
B. Deep linking should work. (There is a breaking change in Electron v3)
Additional Notes
https://circleci.com/gh/yuya-oc/desktop/1137#artifacts

Bumped to v3.0.10 and changed version restriction due to https://github.com/mattermost/desktop/pull/903#pullrequestreview-180526503


removeAllFiles Doesn't work

I have managed to add files manually...
for(let i=0; i <= response.data.images.length - 1; i++){

              var img = new Image();
              img.onload = function() {}
              img.src = vm.windowLocation + response.data.images[i].path;

               var mockFile = {
                  id: response.data.images[i].id,
                  name: response.data.images[i].name,
                  size: response.data.images[i].size
                };

              var fileUrl = img.src
              vm.$refs.myVueDropzone.manuallyAddFile(mockFile, fileUrl)
            }

My Html for removing looks like this...
<button @click="ClearExample($event)">Clear</button>
My methods:
ClearExample(e){
         e.preventDefault()
         console.log('asdf');
         console.log(this.$refs.myVueDropzone)
         this.$refs.myVueDropzone.removeAllFiles();
      }

I can console log the asdf and myVueDropzone . I can also see the .removeAllFiles function see screenshot but it doesn't work. Any idea? Thanks..

The method removeAllFIles() doesn't work, but, watching the dropzone documentation you can use the removeFIle() method. I've achieved to remove the files:
this.$refs.fileUploadZone.dropzone.getAcceptedFiles().forEach((file) =>                 {                     this.$refs.fileUploadZone.removeFile(file);                 });

@bobbygerez @ecuation Strange! Which version are you guyz using? Just tested it works fine with me.

version 2.3.4

ah good clarification thanks @bobbygerez . The way dropzone handles those manually added files isn't the same as ones added by users, it's causing a fair bit of grief and has a number of related issues unfortunantly.

@rowanwins anyway I just used  this.$refs.myVueDropzone.$el.innerHTML='' it works but no other choice. Thanks...

Also just hit this :(
@ecuation's suggestion didn't seem to work for me, but building on @bobbygerez solution...
let elements = this.$refs.dropzone.$el.getElementsByClassName('dz-preview')
while(elements.length > 0) {
	elements[0].parentNode.removeChild(elements[0])
}

...so it doesn't wipe out the upload prompt or any other html or hidden fields you've inserted (like the laravel csrf token)

@oldskool73 use props  :headers="headers" and the data headers: {'X-CSRF-TOKEN': Laravel.csrfToken} I have tried looping the child and deleted it but it seems only one child is removed per events. I don't know why...

@bobbygerez : appears to be working for me. If I try calling the removeFile as @ecuation suggested before I loop over the children it does only clear one, then mysteriously puts the rest back after!
Thanks for the headers tip.

@bobbygerez @oldskool73 It's really weired! I have vue2-dropzone updated to latest version in this demo, You can test it in demo. Everything is working as expected in demo as per documentation.

@vrajroham the removeAllFiles  doesn't work if you will use manuallyAddFile @version2.3.4 other than that it works.  According to @rowanwins "The way dropzone handles those manually added files isn't the same as ones added by users, it's causing a fair bit of grief and has a number of related issues unfortunantly."

Hi folks,
Version 3 is now released. Check out the new docs for more info.


Merge upstream

Merged latest development from webglstudio
@kalwalt can you please have a look. Thx

I hope to have a bit of time in the next days, very busy at the moment... 😌

@ThorstenBux tested the preview Netlify build ( i think it's not needed to test it locally). I think it's ok only a small issue i receive a:
Failed to load resource: the server responded with a status of 404 ()
but i can not understand what is failing to load. I can not see in the network console what resource is not loaded. Did you get the same error?
I noticed also that the video is slower to respond, but maybe is mine issue with my old pc...


getRect coordinate for CropWindowHandler

getCropRect we can get from the cropImageView is actually the Rect of cropping window relative to the bitmap/image.
Is there a public function so we can get the rect from the CropImageHandler (the rectangle coordinate relative to the screen)

thanks for adding this


Add constraints to scheduling specifications

Tickets addressed: Closes #471
Review: By commit
Merge strategy: Merge (no squash)

Description

After consulting with users, we determined that for the present state of the product, sharing goals across specifications, and specifications across plans, would do more harm than good.
These constraints will help avoid those scenarios. We can remove these constraints at a later date if we deem them unnecessary. It is easier from a database migration perspective to remove constraints than it is to add them later.
Verification

Still working on verification...
Documentation

We should mention that this is
Future work

No future work

Can't muster the brainpower to update the tests 😅 Closing for now


Html5 to add new elements.

What steps will reproduce the problem?
1.https://github.com/mrclay/minify/blob/master/min/lib/Minify/HTML.php#L134
Essential elements of HTML5.
2.http://www.w3schools.com/tags/default.asp Add new HTML5 elements.
3.
https://github.com/mrclay/minify/blob/master/min/lib/Minify/HTML.php#L148

Find

$1\n$2

Change

$1 $2

So you will have better compression.

What is the expected output? What do you see instead?

Html5 infrastructure system is established.

Please use labels and text to provide additional information.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 23 Jul 2013 at 11:51

Duplicate of #285

Original comment by<EMAIL_ADDRESS>on 24 Jul 2013 at 6:00

Changed state: Duplicate