Allow running build script separately

Describe the problem you are trying to solve

It seems now the build scripts like build.rs are not necessarily run before checking all codes in the project. That leads to a potential dependency issue. The problem I encountered is that in my code, a macro tries to load a file statically, which is generated in build.rs, then since build.rs is not run at the very beginning, rustc complains, when dealing with this macro, that it cannot find the need file.
The macro I used in main is wgpu::include_spirv!("shaders/shader.spv"), which is to "load a SPIR-V module statically" according to its doc. And in the build script, basically I just compile shader files(like shader.vert) into spv files. The workaround I used is to clean all compile cache and run cargo run directly. In this case, the build script seems to be run first, then everything is fine. But, if I run cargo build without the presence of the needed file, rustc will complain.
I didn't find out any methods that can run build scripts separately or at very least make sure build scripts are run before everything else starts in the cargo book nor on the web nor in the community(see this). Correct me if you know any methods to do so and thanks in advance.
Describe the solution you'd like

Give us a cargo command to run build scripts separately or a cargo flag that ensures build scripts will run first before anything starts.
Notes

Build script for a library are supposed to run before that library is built. If you are seeing a different behaver, please make a minimal reproducible example that we can run.

Oh my fault, sorry......... My build script keeps track of the changes of targets but not the built artifacts, so when the built artifacts are accidentally deleted, since the targets haven't been changed, the build script won't run again, then the macro cannot find the artifacts so rustc complains.
But besides that, it seems now we cannot run the build script separately. Can you provide such feature? so that, like in my case, I can run the build script separately to generate the needed artifacts again.

I am a little confused, what is the advantage of a manual way to run build scripts over the existing ways to get cargo to run it when needed rerun-if-changed directives?

Well..... In the link I referred, the one who wanted to run build script separately wanted to do so for CI purpose. In my case, the automatic way is good but I also want to run it separately sometimes when build targets are not changed but some dependencies or artifacts have change for some reasons. I'm not proposing discarding the automatic way but giving us a manual way.

Any updates?
I can find another case in which we definitely should have build.rs run manually.
Say I have a program that needs compiled shader bytecodes.
// main.rs
fn main() {
    let s1 = &wgpu::include_spirv!("shaders/1.frag.spv");
    let s2 = &wgpu::include_spirv!("shaders/2.frag.spv");
    // first comment out below, then add a new shader file then uncomment this
    // let s3 = &wgpu::include_spirv!("shaders/3.frag.spv");
    println!("Hello, world!");
}

At first I need two compiled shaders, then I decided to use one more by uncommenting let s3 = ...
And my build.rs finds out recursively shader files and compiles them.
// build.rs
use anyhow::*;
use glob::glob;
use std::fs::{read_to_string, write};
use std::path::PathBuf;

struct ShaderData {
    src: String,
    src_path: PathBuf,
    spv_path: PathBuf,
    kind: shaderc::ShaderKind,
}

impl ShaderData {
    pub fn load(src_path: PathBuf) -> Result<Self> {
        let extension = src_path
            .extension()
            .context("File has no extension")?
            .to_str()
            .context("Extension cannot be converted to &str")?;
        let kind = match extension {
            "vert" => shaderc::ShaderKind::Vertex,
            "frag" => shaderc::ShaderKind::Fragment,
            "comp" => shaderc::ShaderKind::Compute,
            _ => bail!("Unsupported shader {}", src_path.display()), // returns an error
        };
        let src = read_to_string(src_path.clone())?;
        let spv_path = src_path.with_extension(format!("{}.spv", extension));
        Ok(Self {
            src,
            src_path,
            spv_path,
            kind,
        })
    }
}

fn main() -> Result<()> {
    let mut shader_paths = [
        glob("./src/**/*.vert")?,
        glob("./src/**/*.frag")?,
        glob("./src/**/*.comp")?,
    ];
    let shaders = shader_paths
        .iter_mut()
        .flatten()
        .map(|glob_result| ShaderData::load(glob_result?))
        .collect::<Vec<Result<_>>>()
        .into_iter()
        .collect::<Result<Vec<_>>>()?;

    let mut compiler = shaderc::Compiler::new().context("Unable to create shader compiler")?;

    for ref shader in shaders {
        // This tells cargo to rerun this script if something in /src/ changes.
        println!(
            "cargo:rerun-if-changed={}",
            shader.src_path.as_os_str().to_str().unwrap()
        );
        let compiled = compiler.compile_into_spirv(
            &shader.src,
            shader.kind.clone(),
            &shader.src_path.to_str().unwrap(),
            "main",
            None,
        )?;
        write(&shader.spv_path, compiled.as_binary_u8());
    }
    Ok(())
}

And the cargo.toml is
[package]
name = "temp_rust"
version = "0.1.0"
authors = ["ifsheldon<EMAIL_ADDRESS>edition = "2018"

[dependencies]
wgpu = "0.8"

[build-dependencies]
anyhow = "1.0"
fs_extra = "1.1"
glob = "0.3"
shaderc = "0.7"

Now I run the main with 1.frag and 2.frag in my src folder, everything goes fine. Then I add one more shader file, which is 3.frag, and uncomment the mentioned line above. Then, rustc will complain about something like cannot find 3.frag.spv because none of the two registered shader files have been modified so build.rs won't be rerun to register and compile new files.
So, now I have two workarounds:

Rewrite the build.rs and make it register the folder so then any new contents will trigger rerunning build.rs
Delete ./target and rebuild everything
Or, you can just provide us with a manual run on build.rs, which is much simpler and faster for us developer than the above two workarounds when dealing with complex and many build dependencies.

is not hard to do. shader.src_path => shader.src_path.parent(). to quote the doc linked above "If the path points to a directory, it will scan the entire directory for any modifications."

Cargo makes changes very slowly even when we agree on the design. Don't expect a quick fix.
In the mean time you can use touch build.rs && build. You can even make an alias for it, so that it is available to tows using your project.

touch build.rs && build and aliasing together seem to be a good quick fix for now and thanks!
The quick fix to 1. also works for me, but I think this should not be considered ideal, because maybe developers only cares about changes in (maybe certain types of) files but not the folder, like we may add some temp files to a folder but we don't intend to trigger rerunning build.rs at all.
Or, sometimes, like my shader example, I don't want to trigger rerunning build.rs even when I did changed the registered shader files, maybe I just added some comments or maybe it just a temp change that is not staged yet.
What I meant is change-based rerunning build.rs is a good default but it is not enough for more complicated scenarios.

I'm going to close this, as it is mostly intended behavior, and this is somewhat a duplicate of #7178.  I would encourage you to work with making rerun-if-changed handle the cases you want.  Another alternative is to set up a separate command to rebuild the shaders using a workflow similar to how xtask works, and the build script can share the same code with that. Otherwise, I suggest maybe following #7178 for any updates there.


Adding expandPaths options for queryWithCurrentUser and `restrict…

…ToOwner`
Referencing feathersjs/feathers-authentication-hooks/pull/30

Thank you! Released as v0.1.5


Feature request: show installments on order print outs, confirmation emails and admin panel

Greetings. Our client is requesting that (for the Adyen CC payment method) instead of just the method name, the chosen number of installments be included in the following three places: i) in the file when the customer is printing out the order, ii) in the confirmation email sent to the customer, and iii) in the admin panel, when viewing order details (not the order grid). Would you please advise? Thanks in advance.

Hi LemosT,
The number of installments is already shown in the order details page. We can add it to the confimation email and pdf.
Regards,
Rik
Adyen

Hi LemosT,
See commit above this will add it to pdf and confirmation email.
Regards,
Rik
Adyen

Forgot to commit this see below


Snapshots autodeploy

Coverage decreased (-100.0%) to 0.0% when pulling ae2c31a73d22ccd8fed60e4b5159ba67d8f7c032 on snapshots-autodeploy into a5d02dbbbfd4160c1b5b7a852220b6cb070c402e on master.

Coverage decreased (-100.0%) to 0.0% when pulling 5ee1f9da9302fddfae0333c8b905f782ee32faff on snapshots-autodeploy into a5d02dbbbfd4160c1b5b7a852220b6cb070c402e on master.


White blank page after deploy

Hi,
first of all - great Tutorial :)
After deployment I can't access to web gui, I have only white blank page. What should I check ?

on system everything looks ok:

What am I missing ? :) thanks for your help

@halobolah
Try this: https://github.com/ansible/awx/issues/13756#issuecomment-1488786986


Issues when using bulkDownload

Hi. I've been using this module for a little bit. It used to work alright. Now somethin weird is happening.
The files get downloaded no problem. After that I used to rewrite their names and be done with them.
Now, even after removing all of my custom code, the callback never gets called, even tho the files are downloaded.
I changed the whole callback to the documentation one. Yet no callback.
Any ideas?
remote.require("electron-download-manager").bulkDownload({
urls: offline_playlist_url,
}, function (error, finished, errors) {
if (error) {
console.log("finished: " + finished);
console.log("errors: " + errors);
return;
}
                        console.log("all finished");
                    })

Returns no console.log

I just published a new version of npm package 1.3.1, please update it, it should fix your problem.
Recently we've rolled out a new feature which allows electron-download-manager to resume failed downloads, but the first PR didn't include a finished download callback for if a file already existed on the disk, I didn't realized it, and I (unknowingly) published an update to NPM with this flaw, later, the original author of this feature sent another PR adding the callback, and I forgot to publish it to NPM so, version 1.3.0 is flawed.
Please update your NPM package to latest version (1.3.1) and let me know if your issue is solved


[SC] Local call log serialization

See #661.

@mrtpain would appreciate your input into whether this resolves #661!

@rowandh it looks good. Just need @mrtpain to comment 👍
Also, I see the windows build was cancelled?

Strange, looks like the build died. Will kick it off again.

@mrtpain the return value should be fixed now, could you please check once more and confirm?

@rowandh 🥳 thanks all is good now 👍

Actually, seems Addresses are returning {} from the return property.

@mrtpain should be fixed now

Thanks @rowandh all good now.
Somewhat related: recent versions of FN output the event in logs. This is helpful to have so clients don't need to deserialize topics, but I wonder, what would happen if I output a contract log that had an Event property already?
"log": {
    "event": "CollectMiningRewardsLog",
    "miner": "PPQdeXdjWDBzVLUjgWwi4mFP4Y1mhuNcRu",
    "amount": "2541009128850074"
}

Currently we are deserializing the first topic to get our event names. We can remove a package dependency if we can rely on the log.event property but wondering about the potential conflict outlined above.

Thanks @rowandh all good now.
Somewhat related: recent versions of FN output the event in logs. This is helpful to have so clients don't need to deserialize topics, but I wonder, what would happen if I output a contract log that had an Event property already?
"log": {
    "event": "CollectMiningRewardsLog",
    "miner": "PPQdeXdjWDBzVLUjgWwi4mFP4Y1mhuNcRu",
    "amount": "2541009128850074"
}

Currently we are deserializing the first topic to get our event names. We can remove a package dependency if we can rely on the log.event property but wondering about the potential conflict outlined above.

Good point, a log property named Event would replace the event name. We should be nesting the actual log data, something like this:
"log": {
    "event": "CollectMiningRewardsLog",
    "data": {
        "miner": "PPQdeXdjWDBzVLUjgWwi4mFP4Y1mhuNcRu",
        "amount": "2541009128850074"
   }
}

On another note, @rowandh, transactions with internal CRS transfers I believe either aren't implemented fully (intentionally) or may have a bug.
We are able to successfully broadcast transactions that return errors during a local call. These errors are pointing to a 0 CRS amount in Message.Value.
https://github.com/Opdex/opdex-v1-core/blob/main/src/Contracts/Routers/OpdexRouter.cs#L228
That line is throwing during local calls but the same payload sent for an actual transaction is successful. (Note that is a public method but in our scenario of calling Router.AddLiquidity it is being called from within other methods).
Along with the error that we receive in the local call response, we can also see the list of internal transfers showing a 0 amount.

@rowandh We're getting a 500 response making a local call to this method, when running the full node built from this branch. The request body is below.
{
  "walletName": "{{wallet_name}}",
  "accountName": "{{wallet_account}}",
  "contractAddress": "{{market_deployer}}",
  "methodName": "CreateStandardMarket",
  "amount": "0",
  "feeAmount": ".001",
  "password": "{{wallet_password}}",
  "gasPrice": 100,
  "gasLimit": 250000,
  "sender": "{{wallet_address}}",
  "parameters": [
    "9#{{wallet_address}}", // market owner
    "5#3", // fee
    "1#True", // authPoolCreators
    "1#True", // authProviders
    "1#False", // authTraders
    "1#True" // enableMarketFee
  ]
}

Had a go at debugging locally and it seems to be failing to map the log responses.

@rowandh We're getting a 500 response making a local call to this method, when running the full node built from this branch. The request body is below.
{
  "walletName": "{{wallet_name}}",
  "accountName": "{{wallet_account}}",
  "contractAddress": "{{market_deployer}}",
  "methodName": "CreateStandardMarket",
  "amount": "0",
  "feeAmount": ".001",
  "password": "{{wallet_password}}",
  "gasPrice": 100,
  "gasLimit": 250000,
  "sender": "{{wallet_address}}",
  "parameters": [
    "9#{{wallet_address}}", // market owner
    "5#3", // fee
    "1#True", // authPoolCreators
    "1#True", // authProviders
    "1#False", // authTraders
    "1#True" // enableMarketFee
  ]
}

Had a go at debugging locally and it seems to be failing to map the log responses.

Is this on testnet, mainnet or in localchain(devmode) ? Can you be sure that wallet_address is belong to one of your wallet addresses ?

@rowandh We're getting a 500 response making a local call to this method, when running the full node built from this branch. The request body is below.
{
  "walletName": "{{wallet_name}}",
  "accountName": "{{wallet_account}}",
  "contractAddress": "{{market_deployer}}",
  "methodName": "CreateStandardMarket",
  "amount": "0",
  "feeAmount": ".001",
  "password": "{{wallet_password}}",
  "gasPrice": 100,
  "gasLimit": 250000,
  "sender": "{{wallet_address}}",
  "parameters": [
    "9#{{wallet_address}}", // market owner
    "5#3", // fee
    "1#True", // authPoolCreators
    "1#True", // authProviders
    "1#False", // authTraders
    "1#True" // enableMarketFee
  ]
}

Had a go at debugging locally and it seems to be failing to map the log responses.

Is this on testnet, mainnet or in localchain(devmode) ? Can you be sure that wallet_address is belong to one of your wallet addresses ?

This is our local network (devnet) running from this branch. Our payload is all correct.
We can switch the endooint from smartcontracts/local-call to smartcontractwallet/call and it works fine. Also we can change just the parameters and method to CreateStakingMarket method with a local call and it works as expected.
So far it seems that it's a problem with something happening in this method specifically that is uncaught as the FN returns 500 error with no body, I do not think the error is getting caught but throwing all the way out.
Also local calls that involve CRS transfers and use of Message.Value in contract always have it as 0 and the local call tx returns failures due to it.

Will merge these changes in to release/<IP_ADDRESS> and address the new issues with separate PRs.

f9b3e80 resolves zero amount local calls (https://github.com/stratisproject/StratisFullNode/pull/662#issuecomment-902379004)
ae7099c resolves the issue deserializing addresses (https://github.com/stratisproject/StratisFullNode/pull/662#issuecomment-907840219)
f7f278a resolves nesting event data (https://github.com/stratisproject/StratisFullNode/pull/662#issuecomment-899937736)

@rowandh I believe this fix was merged to release/<IP_ADDRESS>... can you confirm? If so it was also then merge to 1.2 already.


Add functionality to generate random password

This PR addresses #4364, generating a random password for now if one is not provided to encrypt sensitive config files

I think we should close this PR and just build it in the UI repo. See my reasoning above. Thoughts? @justinmoon @Kodylow

Agree


Drillhole.merge has bugs

Drillhole.merge function has bugs, not always work OK.

Drillhole.merge is now deprecated, use Drillhole.merge_table

i am beginner learning with your tutorials, and downloaded all pygslib, but when running tutorial , got this message . can you assist.
AttributeError                            Traceback (most recent call last)
 in
1 # create drillhole object
----> 2 mydholes = pygslib.drillhole.Drillhole(collar, survey)
3
4 # add intervall table
5 mydholes.addtable(table = assay, table_name = 'assay')
AttributeError: module 'pygslib' has no attribute 'drillhole'

how to create domain (domain.stl)


Fixed KeyError in characterrule list

No review needed.

coverage: 37.06%. remained the same
when pulling dae68bb4efb0719d86529136206dccaf61ba532d on andy/fix-characterrule-list
into f2be0ff2f40ee93512ce1a5d2ada790d23bc1916 on master.


all menu toolbars are hidden in ubuntu 16.04

Issue Template
This section covers general topics related to all issues, regardless of their subject.
Note that issues for this repo are for bugs with or feature requests for LightTable itself. Bugs or features for a specific language or other plugin should be submitted to their respective GitHub repo e.g. Clojure, JavaScript, or Vim.
Questions should generally be asked on the Light Table Google Groups group or in the Gitter room for the main GitHub repo.
Please check for an existing or similar issue that covers or is related to your issue before submitting a new issue.
Remove any sections in this template that aren't pertinent. Remove the instructions text too (including this section), please, before submitting this issue.
There are separate sections below for requesting a feature or reporting a bug. Edit the relevant sectiont to include the information requested. If you fail to include pertinent info, we're probably going to close your issue. But we'll gladly re-open it once you include the info we need to help you.
Request a Feature
Start with a brief description of what behavior or capability you hope to achieve were the requested feature implemented. It's possible an existing feature, or a plugin, satisfies your requirements.
Include details about the feature.
Note whether you can contribute, and in what capacities, e.g. writing code, writing documentation, testing. Depending on the value you place on your own time, you may want to wait for feedback from the core contributors before beginning any work on adding or changing code.
Keep in mind that Light Table is developed and maintained by a small group of part-time volunteers so it's unlikely your request will be a high priority. Contributing pull requests with (working) code greatly increase the chances your feature will be implemented.
Report a Bug
Steps to Reproduce

_
_

In general, you cannot be too detailed. You don't need to include steps to start the computer, but it's fine to start with starting Light Table itself (unless, e.g. the bug is only observed when Light Table has already been open for some period of time), and it's fantastic for you to include every action or command, or even individual clicks or keypresses.
It's very difficult to fix a bug that we can't reproduce.
Ideally, include the minimal file or files for which you can reproduce the bug. If that's not feasible, including an (appropriately redacted) version of your actual file(s) is great too. If the bug isn't specific to any particular file, note that in this section.
Environment

Info
Details

Light Table version

Operating system

Relevant Plugins

Plugin
Version

Relevant Settings in your user.keymap and user.behaviors Files
user.keymap:
Paste relevant settings here

user.behaviors:
Paste relevant settings here

Error Messages
Include all error messages shown in the Light Table console.
To access the console, open the command bar (by pressing Ctrl+Space or by opening the View menu and selecting Commands) and then search for and execute the Console: Open the console in a tab command. Go to the console tab and copy and paste any errors or other messages below.
Paste error messages here

Why did you ignore the entire issue template and just include it verbatim ? (hint: it's not very helpful)
Anyone else experiencing the same issue. As in is it reproducible ?


TTS Does not handle numbers in text

I tried testing the TTS using a generated text response from my HA instance as follows:
Currently, the weather is 55 degrees with partly cloudy skies. Under present weather conditions, the temperature feels like 55 degrees. In the next few hours you can expect more of the same, with a temperature of 55 degrees.
What I noticed is the TTS generated silence for the number 55, but spoke all the other text. Seems it does not know how to handle numeric values?
I also noticed it did similar when trying to report time, such as 8:55AM. I also didn't yet try it, but I imagine it may have similar trouble handling date strings as well. Maybe there's a way to have it handle these specific numeric formats?
EDIT: just tried the string "Today is Thursday, June 01 2023." and it was silent on all the numbers. Also tried "Today is Thursday, June 1st 2023." and it says "st" on the 1st part, silence on all other numbers.

This is a known limitation of the Speech T5 model we're using. We have an open issue to use a completely different model that would be superior in every regard (including something as basic as speaking numbers):
https://github.com/toverainc/willow-inference-server/issues/60
We have a wisng branch that will be merged shortly with a new TTS engine. We're still evaluating them but this issue will be addressed then.

While I've implemented many of them I'm a little frozen by "paradox of choice" at this point. There are so many options in terms of voices I'm trying to determine what is most pleasing to the community generally. If you have any input on the various options and voices I'd love to hear it!

Guess that depends on the engine 🤣 I find it interesting that Coqui seems to let you clone a voice based on an audio sample, which could be useful for the community to sort of forge their own voices. Barring that, I imagine the community would probably want something like Jarvis ala a british sounding male voice, or on the female spectrum (which I think studies show female voices tend to sound better due to the way their tonalities are processed) probably something akin to the Alexa/Google female voices. Personally I'm trying to find a voice that has an Irish accent (something F.R.I.D.A.Y from the Marvel movies 😄 ) as my wife is Irish and likes the idea of our voice assistant having that kind of accent.
The other side of things is of course multi-language, which then makes the desire for choices even more grand as I imagine people will want the voice to sound good while also pronouncing the words correctly in their native languages.
Are we trying to settle on a general voice for now, and later give people the ability to pick or even create their own?

The good (and bad news) is Speech T5 is so poor we almost can't go wrong with ANYTHING else. I selected it because the other contender projects are significantly more involved. SpeechT5 in total was a few lines for a HF Transformers model. The other projects are... Not.
At this point I'd be fine with input from another engaged community member as well as the internal team on selecting voice. It just needs to get done and if we don't nail it this go around we'll revisit again (or make it modular, etc). My strong preference is for a the highest quality generic American Female voice as the priority/default. As you note this is a fairly well researched field and generally speaking studies show that people tend to prefer it.
Custom voices is actually fairly straightforward and even supported with SpeechT5 now. Look at /docs (or /api/docs with wisng) for the speaker management APIs. Be advised though, much like the rest of SpeechT5 the results aren't fantastic.
We still primarily target GPGPU for all of the reasons noted in the README and elsewhere, with the ability to also run CPU-only with speed tradeoffs.
Coqui is really easy to spin up locally - integrating it in WIS is another story, but it's certainly something we can do. If you want to install it locally (their docker implementation is solid) and provide feedback that would be great!

I actually played with some of the Coqui voices last night on Huggingface, and found the Jenny tts voice to be really good! I'm going to try to spin up a local instance and see how it does on my GTX 1070. 😃

Great! You can also try some of the tortoise voices, they are generally pretty highly regarded.

Just spun up the docker image with CUDA enabled, performance on the GTX 1070 seems really good, getting RTF of .15, really fast! I'm also running this at the same time as WIS, and both are sharing the GPU just fine. Here's a screenshot of nvidia-smi:

Plenty of space even with all of the WIS models loaded as well as TTS.
I'm quite pleased with the Jenny voice personally, exactly what I was looking for. I'll play around with some of the other voices as well just to see how those are as well. S

Another positive for Jenny
TLDR - There is initial support for ONNX export of VITS models. With the ONNX CUDA execution provider this speeds up VITS by 20% (or so) and with newer GPUs with tensor cores and the ONNX Tensor RT Execution Provider it (likely) speeds up dramatically (as tends to be the case with tensor cores).

Is there somewhere to listen to the voice options? I'd be happy to add another vote to the mix.
Just got my 1070 added to the server, so I should have a WIS instance spun up soon.

I personally just spun up their cuda based docker container and played around with the voices on that. They detail how to do that here: https://tts.readthedocs.io/en/latest/docker_images.html
Make sure to use the GPU version. 😊

I added support in wisng to convert numbers to words with SpeechT5.
I've also used the TTS docker containers extensively. My general take/sense is that TTS would be fairly difficult to integrate directly in WIS, it has a TON of python dependencies pinned to specific versions and it would be tough to integrate them cleanly.
I spent some time getting CPU, CUDA, and TensorRT working with an ONNX export of the VITS TTS model. With TensorRT on my 3090 it can do TTS at approximately 10x realtime (as a first pass). That's a substantial boost with TensorRT and will only work on newer GPUs but even with CUDA runtime it's still a bit faster than the default GPU implementation with pytorch.
With an OONX export it should also be fairly straightforward to extract the relevant onnxruntime support for VITS from TTS and use it directly with minimal additional dependencies.
Still needs more work to even validate the approach but I like what I'm seeing so far.

Sounds promising! One other thing I noticed, the Coqui docker server exposes a few API endpoints, one of which is API/tts which takes a text parameter argument. It appears to work pretty much the same as the wis tts endpoint currently exposed. I know that's not the same as a direct, wis-integrated implementation, but figured it was worth mentioning. 🙂

wisng already uses nginx to cache TTS responses, so there is a specific route match for TTS requests. I'm just not very keen on managing yet another Docker container that exists completely outside of the current inference support in WIS today - it will have a different container base, potentially with different versions of CUDA that depend on different drivers. Their TTS today is also quite slow compared to even SpeechT5 and we'd have to either maintain a fork of TTS or attempt to upstream a bunch of Willow specific changes that they'd likely be reluctant to accept (I know I would be).
We're also working towards a concept of full conversational flow management - with support for things like audio in -> STT -> do something -> TTS. This would get pretty messy (not to mention be slower) with an additional API call to what would be an external endpoint for TTS.
I only just started on getting Coqui (in some form or fashion) into WIS. It's not impossible, it will just take a little bit of creativity because as I mentioned the dependency management as-is would make WIS a mess (and nightmare to maintain).

Fair points, totally get it. Between the dependency nightmare and the architectural components (risk of some API changing down the line or some other shift) I can understand the difficulty there. I'll give Coqui a rest for now and play around with the ST5 stuff once my S3 box finally arrives in a couple weeks 😂
Thanks for the insight!

Any testing of wisng would be great! BTW there is a WebRTC endpoint that loads a page to do ASR directly in your browser that you can test with.

Did some testing on the number handling, works now! I used this text:
Currently the weather is rainy, with a temperature of 52 degrees. Under present weather conditions the temperature feels like 51 degrees. In the next few hours the weather will be more of the same, with a temperature of 52 degrees.
One thing I notice, it has a slight pause when speaking compound numbers like 52. For instance instead of saying "fifty two" it says "fifty [pause] two". Not sure if there's a way to improve that? Otherwise working great! 😃

Was just about to comment, I looked at the library being used (num2words) and I think the issue is when it converts a number like 52 you end up with "fifty-two", and the hyphen seems to make T5 pause for a moment. I tested this directly on the TTS server and saw that same behavior. I then went in and removed the hyphen so the text was like "fiftytwo" and it spoke the number correctly without a pause. Maybe possible to do a string replace to remove the hyphen on the num2word generation to make that faster?

@nikito With the latest commit and your example.

Great!


Vulnerabilities fix - iotagent-mqtt (snyk)

Upgrade on libs and added snyk check on npm intall

Ticket analysis meeting (Oct, 24th 2019): Decision -Iot-agent mosca won't be evolved.


Added support for literate scripts

I added another grammar file for literate miranda scripts. Have a look and let me know if anything needs to be changed.

Looks great, although I think a few small changes to the lines below:
5: The first line doesn't have to start "> ||" - it can just be ">" - so the regex can be '^>.*'.
9-13: The first line should get highlighted normally, so I think this is unnecessary.
18: I think this can just be '\n'.
91: name should be something like 'comment.line.literate.miranda' to conform with the rules here: https://manual.macromates.com/en/language_grammars
One issue I'm having at the moment is that this is being selected with priority over regular Miranda highlighting, and I can't figure out a way to mess with firstLineMatch in the two grammars to avoid it.

Hey Zak!
5, 9-13: Yeah, you’re right, I haven’t properly read the according part of the book apparently. I somehow thought that the first line must be a comment.
91: Yep, should be. Thanks for the link.
I’ll change these and create another pull request!
Regarding the other issue:
Plain miranda won’t be auto detected at all on my system because the firstLineMatch is missing. If I add something like 'firstLineMatch': '(^[^>]).*(->|::)‘ for plain miranda, it will be detected if patterns like -> or :: are used in the first line, otherwise it won’t be detected as a specific language. So I can’t recreate the problem.


feat: add options to overrive response body on startup & and allow to…

… serve response body as text
So an html content can be served when on maintenance

Hi @fbaldo31 !
I'm sorry for the long response
Thanks for your contribution!


[FEATURE] Support multi datasources in the "Audit Logs" tab

Is your feature request related to a problem?
Support multiple datasources functionality in the "Audit Logs" tab. This one seems relatively straightforward as it is simply displaying information and optionally allowing users to allow the audit log configurations. We simply need to add support to edit/view another datasource's audit log configurations.
Acceptance criteria

Data source picker shared component is present on the page with a sensible UX
Data source selections that should be persisted across tabs is accurately persisted
Selected datasource prior to landing on this page is correctly populated (if applicable), and defaults are selected if not applicable
User is able to "view" the audit log configurations for a given data source
User is able to "edit" the audit log configurations for a given data source

OPEN QUESTIONS
What solution would you like?
Support multiple datasources in the "Tenants" tab.
What alternatives have you considered?
None
Do you have any additional context?
Depends on #1795 to have data source picker available.

[Triage] This is part of the meta of supporting multi datasources in the security plugin.

Merged into feature branch


finding providers "conditionally" or by "priority"

I think it would be nice to have the ability in findProvider  method:
findProvider({ rdns }) {
  return providerDetails.find(
    (providerDetail) => providerDetail.info.rdns === rdns,
  )
},

that would allow us to search for providers by "priority" or "conditionally".
I would suggest something like this:
const provider = store.findProvider({
  rdns: 'io.metamask' || 'io.metamask.mmi' || 'io.metamask.flask' || 'com.enkrypt'
});

This way the dapps would be able to pick their "preferred" provider which in some cases would be great to have. E.g. we are developing a MetaMask Snap and therefore our preferred wallet is MetaMask since others don't even support Snaps.
Thanks for reply!

You can do this manually right now:
const providers = store.getProviders()
const provider = providers.find(provider => provider.info.rdns === 'io.metamask' || 'io.metamask.mmi' || 'io.metamask.flask' || 'com.enkrypt')


MDE Module - Update the IP section of the comments

Adding a 'No IP found' message when needed.

My bad,forgot that in the previous. But I don't PR just yet. I'll review the entire look and feel with a table to address #221 too.

We should discuss look and feel on comments more, especially since we're getting more characters to work with soon.  Some of them are just quite different in the content they produce so I think there's going to be some deltas but we can try to minimize


feat: validate url as a Lemmy instance before making API requests

Closes #14. This checks that a getSite call returns without error before allowing Api queries to the URL. This ensures credentials are only sent to Lemmy instances and prevents simple attempts at stealing credentials by typosquatting.

main
this PR

Fails after sending username / password to URL, even though it's not a lemmy instance
Fails before sending username / password, since the URL isn't a lemmy instance

Creation of an Api now returns a Result, as the Api will fail to be created if the url does not return successfully from a getSite query.
I opted against checking the data returned from the getSite query  - I figure any malicious actors who would spoof a getSite query to seem like a Lemmy instance would just spin up a full Lemmy instance so any validation like that wouldn't be useful, let me know if I'm thinking about that the wrong way. I have ideas for providing a dropdown of common Lemmy instances to really try to mitigate typosquatting, but that's a future issue/PR.
Let me know if you have alternate solutions in mind or anything else you'd like me to change!

This looks great, thanks for picking it up!
You're right though, it's a half-measure that isn't going to stop a sophisticated hacker.
In a perfect world you're right that we'd have some kind of drop-down or auto-complete on the instance names to fill-in the most popular instances. Slint seems pretty limited though, so I'm not sure we can make it "look nice".
Even a simple green "check-mark" to the right of the instance field when it's recognized from a popular list (that we could store in LASIM) would probably be a good measure against fat-fingering an instance. If we wanted to get really fancy you could even save off instances that users successfully log in to and give them the green check-mark treatment.
But yes, an enhancement for another day :)


Schedule API Review meeting disabled after I scheduled a meeting

See:

Is this intentional until the meeting is not completed?
I will like to still access the information of the meeting but because the panel is disabled, I can't. I need to go to Generate SDKs and APIView and hit Next

@maririos We should not be blocking teams from "looking ahead".  I don't see this behavior in the current implementation of the API readiness power app.

Oh good. Maybe this is not present anymore. Praveen also confirme this. I am going to clsoe the issue then


first approach

First approach, work in progress... a lot of work to do and some placeholders...
The logic:
A new driver 'DriverDynamic" that is created and add to the driver manager if there is a specific C library somewhere.
This driver and derived Mesh had methods that use symbol loaded from the C library. This C library allows access to the mesh data (file(s) or what we want).
For tests and implementation work, a dummy external driver is implemented. It is based on a common header file in the API folder (good place?). This header file will have to be used to implement new external driver compatible with MDAL.
For tests, the implementation if the dummy driver use MDAL API to access to the different mesh files.

i am thinking of best strategy... I think for the testing purposes, you can implement the support for "QGIS Memory Mesh" format as described here: https://github.com/qgis/QGIS/blob/60836b7724b2dfb91c0bd60437ff0dcf26db7a36/src/core/providers/meshmemory/qgsmeshmemorydataprovider.h#L58

i believe this one can be closed?


upgrade kubernetes version to v1.15

Hello Simon.
How's going, We discussed in the past about some issue with K8S via terraform at  vmware..
I'm going now to install from scratch K8S single , (1 master & 1 worker).
First question is if I can to install single without haproxy vm ?
Second question, What is required to change in the terraform installation in order to support  kubernetes 1.15.x version?
Your assistance will be very appreciated.
Thanks

Hello Simon.
I hope u already see my questions?
Because I think I accidentally closed the issue.
Thanks

Hello Simon,
I finished to install the K8S single with below version:
k8s_kubespray_version = "v2.10.3"
k8s_version = "v1.14.3"
I did change them to new version for kubernetes upgrade:
k8s_kubespray_version = "v2.10.4"
k8s_version = "v1.15.0"
and I upgrade failed, My question is , The terraform is support to new below version?
Thanks

Hi,
You don't need the HAProxy VMs as you will have only one master, but for this you will have to modify the Terraform script slightly.
Kubespray doesn't support Kubernetes 1.15.0. As this Terraform script depends on Kubespray, you will have to wait for a new Kubespray release.
Regards,
Simon.

Hello,
Thanks for reply and updating.
But If I remove HAProxy parameters from terraform.tfvars file the installation failed .
How can I install without HAProxy VM?
Thanks

Hello Simon,
Following your statement:
"You don't need the HAProxy VMs as you will have only one master, but for this you will have to modify the Terraform script slightly"
Is there a single on/off flag that controls the usage of HAProxy instead of going and changing the installation scripts in many places?
Thanks a lot
Zion


jumps not working

sometimes it only jumps a little (every other jump)
more info: it started happening after importing the new model and scaling it down

Uuuuummmm

Closed with #30


Release 1.0.0

Codecov Report

Merging #36 (20f83a7) into main (f654e7c) will decrease coverage by 24.24%.
The diff coverage is 79.09%.

@@             Coverage Diff             @@
##             main      #36       +/-   ##
===========================================
- Coverage   92.18%   67.94%   -24.24%
===========================================
  Files           7        8        +1
  Lines         614      574       -40
  Branches       69       84       +15
===========================================
- Hits          566      390      -176
- Misses         31      160      +129
- Partials       17       24        +7

Impacted Files
Coverage Δ

esparto/_adaptors.py
42.86% <ø> (-57.14%)
:arrow_down:

esparto/_publish.py
35.82% <0.00%> (-50.94%)
:arrow_down:

esparto/_content.py
55.17% <38.24%> (-37.28%)
:arrow_down:

esparto/_utils.py
55.56% <55.56%> (ø)

esparto/_layout.py
90.31% <93.38%> (-1.91%)
:arrow_down:

esparto/__init__.py
100.00% <100.00%> (ø)

esparto/_contentdeps.py
73.33% <100.00%> (-26.67%)
:arrow_down:

esparto/_options.py
100.00% <100.00%> (+35.29%)
:arrow_up:

... and 5 more

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 f654e7c...20f83a7. Read the comment docs.


fix: Change the log message to use right param

Bumped into a small mistake in the rustimport command output: the command-line parameter for forcing rebuilds is --force, not --force-rebuild.

Good catch, thanks :pray:


[certificates] Retirement certificates via api

Description
Bye jspdf 👋🥹

Retirement certificate pdfs are now generated via a nextjs api endpoint
/api/retirements/<beneficiary_address>/<retirement_index>
Removes jspdf and assets from /public that were only used for pdf generation
Base64 encode all assets required for pdf generation (fonts & images)

Related Ticket
Resolves #802
Resolves #603
Checklist

[x] Building the site with npm run build-site works without errors
[x] Building the app with npm run build-app works without errors
[x] I formatted JS and TS files with running npm run format-all

@0xAeterno first attempt worked for me! (PDF renders)
The only issue I noticed was we are not wrapping text on long content entries, such as this project name:

@0xAeterno now I am wondering if maybe the issue is that the pdf should be in landscape versus portrait orientation. See the big gap between the description and beneficiary address,

Closing in favor of #1080


Feature request: Support uuid representation

Hi @pcorpet!
I need to update pymongo to a new version 4.2.0. However, as I can see mongomock does not support custom uuid representations yet. Consequently, unit test are failing with UNSPECIFIED representation error. This feature will be really handy and it will unblock a lot of people.
Thanks for your work!

I think this is a dupe of #745


Height is changing while scrolling.

The height of the bar is changing while scrolling. It is bit distracting to the users. Can I keep it in the same height?

Even though I think while a user is scrolling an article they aren't actively reading there is probably a situation where it could be distracting, so it is a viable option to add. I'll add this to the roadmap, thanks so much for your feedback!
I've added an issue for the feature request: https://github.com/Wixel/readingbar/issues/5

Great thanks for the great work!


Driver makes Windows BSOD right after loading.

My computer crashes right after loading the driver.sys file using the sc commnad in cmd.

Please post WinDbg debugging output to further diagnose the bugcheck.

Please post WinDbg debugging output to further diagnose the bugcheck.

got that in only Win11

New Text Document.txt
here is all the context of windbg about bsod, please help sir

Your debug output indicates that the bugcheck occured in https://github.com/VollRagm/KernelBypassSharp/blob/69a4ef22176b418ec1d808212f0ea10d27e04fb1/KernelBypassSharp/Program.cs#L81.
This likely is due to the signature in Line 77 of Program.cs not being updated. You are going to have to reverse engineer win32kbase.sys to retrieve a new signature for Windows 11.
This only is a PoC, hence I don't keep it updated for newer Windows versions.


added download apps popup to tutorial

added 'Download apps' button which opens the same popup

removed button and modified the link


Add error handling to x509_v3_set_ctx and x509_v3_set_nconf

These two commits:

X509V3_set_nconf(): Improve error handling using this function, mostly in apps/
X509V3_set_ctx(): Improve error handling mostly in apps/ ~and documentation~

have been carved out from #16342 to simplify the latter.
They bring minor improvements to the mentioned lib functions and their use in apps/,
where two further auxiliary functions are added to apps.c in order to reduce redundancy.
Checklist

[x] documentation is added or updated
[ ] tests are added or updated

Does this make sense also for openssl-3.0?

Does this make sense also for openssl-3.0?

I am not sure this will qualify as pure bug fix so IMO no.

I am not sure this will qualify as pure bug fix so IMO no.

And to make it even stronger changing the return value of functions from void to int is something that is definitely not acceptable for a stable release branch.

BTW, I added today further clarifications to the documentation and the code regarding the use of thesubject and req parameters of X509V3_set_ctx.
Also documented the email:move config option value, which so far was missing from x509v3_config.pod.

Does this make sense also for openssl-3.0?

I am not sure this will qualify as pure bug fix so IMO no.

And to make it even stronger changing the return value of functions from void to int is something that is definitely not acceptable for a stable release branch.

Now, the question is whether changing return value from void to int is an acceptable change for a minor release.

From the type safety perspective it is not a problem to add a return type (or to make the return type more specific in case there was already a return type).

IMO OTC will have to decide.

Since the error handling additions to x509_v3_set_ctx() and x509_v3_set_nconf() are on the one hand a (minor) bug fix but on the other hand require adding a return value, which according to the quoted answers cannot be done for openssl-3.0, it seems this PR can only be merged for master.
Does inclusion in 3.1(-dev) require an OTC decision?
If so, how about approving this now while adding the labels master and hold: need OTC decision?

Summary of what are the things to decide here by OTC:
This PR changes return value of public API calls X509V3_set_nconf() and X509V3_set_ctx() from void to int. This is necessary (unless we want to add _ex calls with the only difference being the return type) to be able to properly report errors from these calls. (This PR adds that reporting in apps, which is the uncontroversial part of the PR.)
The question is - is such change acceptable for the next minor release or not?
(I do not expect such change being acceptable for 3.0.)

OTC: such a change would be for a major release.

Thanks @t8m and @paulidale for the clarification when this PR can be merged.
Consequently, this PR will be on hold for quite a while.
So I carved out two rather independent non-critical commits to #17145.

This PR is in a state where it requires action by @openssl/otc but the last update was 30 days ago

Carved out the general doc improvements to #17358 such that they are made available earlier and potential further merge conflicts are avoided for them.

This PR is in a state where it requires action by @openssl/otc but the last update was 30 days ago

This PR is in a state where it requires action by @openssl/otc but the last update was 61 days ago

This PR is in a state where it requires action by @openssl/otc but the last update was 92 days ago

This PR is in a state where it requires action by @openssl/otc but the last update was 123 days ago

This PR is in a state where it requires action by @openssl/otc but the last update was 154 days ago

This PR is in a state where it requires action by @openssl/otc but the last update was 185 days ago

This PR is in a state where it requires action by @openssl/otc but the last update was 216 days ago

How best to deal for now with PRs that are targeted for 4.0?
Remove the 'pending' flags to avoid reminders to pop up regularly?


Private pip registries not working

I have an issue with dependencies that are located in a private Azure artifact feed. I raised an issue in the Dependabot project and they correctly pointed out that the issue is localized in this project. Please take a look at the issue-description here.
As you can see in the comments of the issue the Dependabot-team seems willing to cooperate on a solution as well, so you can reach out to them if that sounds helpful.

A new release is now available, you can try and report back. Updates should be applied automatically in your organization unless otherwise configured.


Update CHANGELOG.md to reflect v2 and v3

I hope I got the technical details right. I'm not a native speaker.

Thanks!


Allowing editing list of syndici given a building

Title says it all, the list of syndici for a building can now be edited using a PATCH request, just like the other way around.

I'll be looking into whether I can solve this problem.


Shpalan/bpf lookup delete batch

Description
Describe the purpose of and changes within this Pull Request.
Testing
Do any existing tests cover this change? Are new tests needed?
Documentation
Is there any documentation impact for this change?
Installation
Is there any installer impact for this change?

Summary by CodeRabbit

New Features

Introduced a document outlining the compatibility of the bpf() syscall with the Linux ABI for eBPF support on Windows.
Added logging enhancements to socket address classification functions, including compartment identification.
New functions for kernel dump generation and utility functions for tool location and drive space checking.

Bug Fixes

Improved error handling across various scripts and functions to ensure better debugging and management.

Documentation

Added a new document detailing BPF syscall compatibility and challenges in cross-platform support.

Chores

Removed obsolete scripts and streamlined installation processes by eliminating unnecessary dependencies.

@coderabbitai review

It looks like coderabbitai broke due to the initial large delta.
@coderabbitai full review


Edit party list description in ElectionMapTooltip

ref #214
From seat no.
,
to the number of seats of each party
.
NB there might be a faster way to query the numbers, instead of nationwidePartyStatsFromSummaryJSON(), that I'm unaware of.

Thanks for the PR.  What do you think if we adjust the description slightly?
For example,
พรรคอนาคตใหม่
ได้ 56 ที่นั่ง

Thank you for the suggestion and the merge.
IMHO, I feel 'ได้' would be repetitive across the parties. Since it can be assumed that parties receive (ได้) the seats, I think the viewer should understand what the numbers mean and they can have faster access to the information (the number) without the need to read anything else, see Data-Ink ratio.
With the same reason, I was tempted to remove 'พรรค' in front of the party name, but I don't know whether that would go against the design proposal or not.
Anyway, if user research suggests otherwise, feel free to edit my commit krub. 😉

agreed, I'm going to merge anyway.  Thank you very much for your contribution, although the election has already finished.

FY: the feature is on prod now.


Delete .github/ISSUE_TEMPLATE/improvement.md

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


Curious why OIDN_FORMAT_FLOAT4 is not supported?

Hi! I love the mission of this library and would love to use it with Metal. Currently, I'm using a RGBA32Float texture backed by metal buffers and I'd love to use OIDN to denoise the output of my path tracer.
So I'm curious what would be involved to support OIDN_FORMAT_FLOAT4? I'm happy to help extend Oidn, but I need guidance whether its even possible.
Thank you again!
Reza

Hi! I think there's a misunderstanding here. The format OIDN_FORMAT_FLOAT4 indeed isn't supported but that doesn't mean you cannot denoise RGBA images. RGBA isn't a single 4-channel feature but is composed of a 3-channel color feature (OIDN_FORMAT_FLOAT3) and a 1-channel alpha feature (OIDN_FORMAT_FLOAT1), which are significantly different. Because of this, the RGB and A features need to be denoised separately, using two denoising invocations. This can be done even if these features as physically stored in a RGBA buffer by passing the right pixel strides and offsets to the filter. So there's no need to change the memory layout or do any additional copies. I hope this helps.

Thanks for getting back to me and the information. I ended up writing compute shaders to convert my rgba texture to a rgb buffer (MTLBuffer) and use that as input to oidn. The results were promising, but I ran into other issues with synchronization.
I'm using metal and I'm curious if there is a way to synchronize the work that an oidn filter does. i.e. pass it the MTLCommandBuffer it should encode its work to?.

Yes, you can pass your MTLCommandBuffer to OIDN by using oidnNewMetalDevice. Please see the documentation for details.


High memory usage

I'm trying to use PyGMMis with 5 clusters on a dataset with about 20k samples of 7 dimensions. The result is that the fit method eats up all the available memory on the machine (almost 60GB). I wasn't able to call fit on a dataset with more than 6000 samples.
Is this a known problem? Is PyGMMis capable of processing somewhat larger datasets? Is there a configuration option I am missing?
I am running this on Python 3.7.6. with something like:
def selcallback(smpls):
            return np.all(np.all([smpls <= maxs, smpls >= mins], axis=0), axis=1)

gmm = GMM(K=5, D=7)
fit(gmm, samples, sel_callback=selcallback, maxiter=20, tol=0.001)

Thanks!

Hi Petar. I'm a surprised by such a large memory allocation. I have run more than 100k samples in 3D on a laptop a while back, so not sure your problem explodes. The only thing that scales with dimensionality is the covariance matrix of the component (or the data, but you don't use those).
So, my best guess form afar is that multiprocessing does something nasty. How many cores do you use on your machine? I have created a way that allows the cores to share the data without copying, but that piece of code hasn't been tested since python 2.7 times. If it fails on a machine with lots of cores, you'd quickly run out of memory.

Hi Petar. I'm a surprised by such a large memory allocation. I have run more than 100k samples in 3D on a laptop a while back, so not sure your problem explodes. The only thing that scales with dimensionality is the covariance matrix of the component (or the data, but you don't use those).
So, my best guess form afar is that multiprocessing does something nasty. How many cores do you use on your machine? I have created a way that allows the cores to share the data without copying, but that piece of code hasn't been tested since python 2.7 times. If it fails on a machine with lots of cores, you'd quickly run out of memory.

Hi, thanks for the quick reply. I'm using 12 cores. I can try fixing the number of cores to 1. I can also try running the code on Python 2.7. Any other ideas how to work around or debug this?

First try with one core. If that helps, it's at least clear where the problem lies.

Hi, setting one core didn't help. I modified the _mp_chunksize like this:
        # find how many components to distribute over available threads
        # cpu_count = multiprocessing.cpu_count()
        cpu_count = 1
        chunksize = max(1, self.K//cpu_count)
        n_chunks = min(cpu_count, self.K//chunksize)
        return n_chunks, chunksize

Is that the proper way to do it?

This is just one of the cases where there problem arises. The better option is to set the CPU count for the multiprocessing pool here. With that and your modification to mp_chunksize, this should avoid the data copying (at least for the fit method)

Unfortunately, initializing the pool with Pool(1) doesn't help either. That single process takes all the memory in the system.

I think I have found the problem. The imputation sample is generated internally and by default has 10 times as many samples as the original data. That reduces the noise on logL, but it's overkill here. If managed to get the code to run on 8 cores with as much data as you're using by setting oversampling=1 as argument to fit.

That fixed it! Brilliant, thanks so much.


mark views as csrf_exempt

Since the views expect POST requests, they had to be marked as csrf_exempt.

The views are meant to be called by Google API (Task, Scheduler or PubSub), and the library itself that makes prepares GCP for the request.
We should not have any issues with CSRF.
Did you have any?

yes. google tasks sends a POST request, and it doesn't send the CSRF token. so the view should be exempt from this requirement

@joaodaher perhaps you haven't suffered this, if you have the route(s) marked as CSRF exempt already? Perhaps you could share your csrf exemption and ALLOWED_HOSTS settings?
As an alternative to this broad brush solution (which opens up an attack surface), perhaps let's find out what the origin of the request is, and allow it specifically in the settings.

@thclark  feel free to use my fork https://github.com/valyagolev/django-cloud-tasks


[improve] Trigger pending fetches when producing messages

Fixes #1419
Motivation
When the Kafka client issues a Fetch and sets a max wait time we are already scheduling a DelayedFetch, but there is no way to trigger that Fetch and it is deemed to wait for the full timeout.
This adds latency spikes to the Kafka Consumer.
Modifications
Logic

Refactor the existing fetch logic to make the delayed fetch easier to implement.
Implement the DelayedFetch:
The delayed fetch can be triggered by the produce operation but there are three cases:

When trying to complete the operation triggered, get the last position failed(PositionImpl.EARLIEST), the delay fetch will complete immediately with the previous fetch result.
When the previous last position is last then the current last position, try to adjust the max read entries num, and try to read the records again.
On expiration happened, complete immediately with the previous fetch result.

Metrics
Add WAITING_FETCHES_TRIGGERED stats.
Benchmark Result
Here is some benchmark result with the following workloads in standalone env:
Workloads

topics: 1
partitionsPerTopic: 10
messageSize: 100
#payloadFile: "payload/payload-100b.data"
useRandomizedPayloads: true
randomBytesRatio: 0.5
randomizedPayloadPoolSize: 1000

subscriptionsPerTopic: 1
consumerPerSubscription: 10
producersPerTopic: 10

# Discover max-sustainable rate
producerRate: 200000

consumerBacklogSizeGB: 0
testDurationMinutes: 5

End To End Latency 95pct:

End To End Latency Avg:

End To End Latency Quantiles:

Documentation
Check the box below.
Need to update docs?

[ ] doc-required
(If you need help on updating docs, create a doc issue)

[ ] no-need-doc
(Please explain why)

[x] doc
(If this PR contains doc changes)

Here is some benchmark result with the following workloads in standalone env:
Workloads
topics: 1
partitionsPerTopic: 10
messageSize: 100
#payloadFile: "payload/payload-100b.data"
useRandomizedPayloads: true
randomBytesRatio: 0.5
randomizedPayloadPoolSize: 1000

subscriptionsPerTopic: 1
consumerPerSubscription: 10
producersPerTopic: 10

# Discover max-sustainable rate
producerRate: 200000

consumerBacklogSizeGB: 0
testDurationMinutes: 5

End To End Latency 95pct:

End To End Latency Avg:

End To End Latency Quantiles:

@BewareMyPower @eolivelli This PR is ready to get a quick review for earlier feedback.

@Demogorgon314  Do we have test can reproduce the error Unexpected error code 7 while fetching data before applying this pr?

@gaozhangmin No, the error code 7 is caused by a timeout error when handling the fetch request.
If you check the Kafka code, you can see when the fetch request timeout, it will return an empty recodes. And it will never return the timeout error response.
As you mention, adding a test to cover this case is better. I'll add it later.

@Demogorgon314 @BewareMyPower
what's the status of this patch ?

@eolivelli This patch is still in review.

@eolivelli @Demogorgon314 Sorry for the delayed review on this PR. I will review it ASAP.

@Demogorgon314 FYI I and @dave2wave are going to run performance tests over this patch and we will provide feedback.
It seems that this patch has a good chance to solve p9X latency issues.

@eolivelli @dave2wave Thanks you all for providing feedback!

Overall LGTM.

Could this PR be cherry-picked into release branches?

Oh, this commit just fixed your review comments. https://github.com/streamnative/kop/pull/1423#discussion_r974220673

Could this PR be cherry-picked into release branches?

@BewareMyPower I'll try to cherry-pick it to 2.9.x and 2.10.x, but I think we can wait for the performance test feedback before cherry-picking.

@eolivelli Oh, this commit just fixed your review comments. #1423 (comment)

thanks

@eolivelli It looks like commit https://github.com/streamnative/kop/commit/b172d3e0855a5fe7acf68f9aedd00839047d8e04 triggered the codecov check, It looks like forced push,  but it only changed one line.

I ran OMB testing of DataStax's fork of KoP including this patch today from a build provided by @eolivelli .
TL/DR - The results can be summarized as follows:

The end to end latency is remarkably improved. Excellent work!
The publishing latency is slightly slower, but that is not surprising considering the "delayed fetch" in the new code.
There seems to be a resource leak given that later runs had worse end to end latency.

The tests were run on pretty robust cluster that is capable of 1 million messages per second of 100 byte payloads. We used an enhanced OMB based on the DS fork which allows for the produceRate to be stepped up incrementally. All test are 10 topics with 3 partitions.
A. Incremental Pulsar OMB from 20,000 to 400,000 mps of 1K payloads.
B. Incremental KoP OMB from 20,000 to 400,000 mps of 1K payloads.

C. KoP OMB at 400,000 mps of 1K payloads. One would expect that the performance would look similar to the last 5 minutes of the incremental KoP, but the latency is worse across the board.

D. KoP OMB at 1 million mps of 100 byte payloads.

Later I ran another test B which was not as good as the first. My theory is that there is a resource leak happening.
Here is some OMB output which should give you a comparison.

@dave2wave Thanks for sharing the benchmark results! I'll check if there are any resource leaks.

@Demogorgon314 @BewareMyPower after analysing the dumps of the JVMs of @dave2wave 's tests I have come to this small improvement
https://github.com/streamnative/kop/pull/1563
let's follow up there the discussion


ADS-B decoder example

I implemented an ADS-B decoder with FutureSDR, and thought it could be nice to include as an example.
It also contains a simple web-based map that uses the ctrl_port to interact with the flowgraph.
It relies on adsb_deku for decoding the packets. While it supports a lot of formats, I have only implemented the most common ones, and the ones that were easiest to integrate.
I have not performed any actual comparison to other ADS-B implementations, but it seems to perform quite well on my recordings and with an RTL-SDR with the stock telescopic antenna.
Considering that many people are likely to use this example (along with the others) as an example of how to implement a decoder with FutureSDR, I think it should be as close as possible to "idiomatic" FutureSDR. So suggestions are very welcome. For instance, maybe it could make sense to merge some of the blocks, such as the preamble detector and demodulator.
Also note that I copied the web server code from the zigbee example and only made some minor modifications. I am not familiar with gulp, so there might be some unnecessary stuff that can be removed.

I just so happen to follow this project so I saw this pull request. I'm the author of adsb-deku and this is sweet!

Thanks! This is absolutely awesome :-) I really like how FutureSDR is used here (i.e., it does the stream processing, uses a 3rd party crate for decoding, and exposes data through a web interface). That's exactly how I hoped it would be used. Makes a great example.


Create strategy for multi region monitoring

Need to add documentation on replication of VM Applications in order to monitor and discovery applications in different regions.
Perhaps add as part of the initial setup or part of the workbook to add replicas.
Same can apply to DCEs for VMs in different regions.

Documented.


Issues with documentation - lack of examples

Hi there,
Great job with Angulartics and all its modules. I am in the process of implementing it with Mixpanel and it's pretty impressive.
I just wanted to share a couple of things I came across that were missing from the documentation. More than happy to fix it and do a pull request with whatever answers I am getting here.

analytics-on="click":  is "click" the only possible value, or are there more values that can be used? If so, which ones?
pageTracking: is there a directive that allows to send a tracking event every time a given page is loaded? If so, which one, if not, a code snippet would help.
Installing angulartics: the only two options offered are specific to Node.js. This might be a choice, in which case, dismiss this. If not, some explanation (and link) on how to download / include the .js files would help.
angulartics.mixpanel: how to handle registering users?

All my questions may not make sense, but some help would have gone a long way while I was experimenting things.

+1 for more docs on angulartics.mixpanel.


ROB flushing rework for interrupt and exception handling

Xiangshan realizes its ROB flushing in a single cycle by rolling back pointers in the ROB and Free-RF-FIFO and we should do the same. Taken from the discussion in #254:

if we allocate a physical register for each instruction even if it doesn't need one, we get RF FIFO recovery (and by extension ROB flushing) for free (XiangShan - autotranslation with some of my creative writing to make it easier to digest):

At present, FreeList has two implementations in Xiangshan, which are used when reference counting is/isn't enabled. For the case where there is no reference counting, when ROB rollback occurs, the registers that need to be put back into the FreeList must be the ones that were just allocated for the ROB entries, and the number of physical registers that need to be released in a rollback is the same as the number of ROB entries to be flushed. In this case, the FreeList does not need to be written to repeatedly in a multicycle fashion, only the dequeuing FIFO pointer needs to be rolled back forward.

Comment on the last sentence - this is safe since we have as many FIFO slots as there are physical registers so the data that was there before we moved the dequeuing pointer further will still be there when we roll it back :)

I think it's worth it to revisit this soon(-ish). The mispredict penalty is currently pretty high and grows linearly with the number of instructions in the core, which penalizes long speculations.


Need to declare various event handlers in a header

Problem
Functions like emberAfPluginTemperatureMeasurementServerReadEventHandler are not declared in any header.  There's a define in af-gen-event.h that declares them extern, but this is only used inside a single .cpp file.  The places where they are implemented forward-declare them.
Proposed Solution
Modify the generator to put the declarations in a header.  Or if the declarations don't depend on the generation parameters, put the declarations somewhere shared like af.h or the like.

Similar for emberAfPluginBarrierControlServerInitCallback


add result compatibility pacakge to the opam file

The bot removed it because I generate everything from the dune-project 😂

Thanks!


[SPARK-14593][SQL] Make currentVars work with splitExpressions to enable whole stage codegen for large input columns

What changes were proposed in this pull request?
JIRA: https://issues.apache.org/jira/browse/SPARK-14593
We now disable whole stage codegen if the input column number are too large. If we can make CodeGenContext.currentVars work with CodeGenContext.splitExpressions. We can enable whole stage codegen for large input columns.
How was this patch tested?
Existing tests.

Test build #55695 has started for PR 12351 at commit ccc72e1.

Test build #55695 has finished for PR 12351 at commit ccc72e1.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/55695/
Test FAILed.

Test build #55698 has started for PR 12351 at commit 33280bc.

Test build #55698 has finished for PR 12351 at commit 33280bc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/55698/
Test PASSed.

cc @cloud-fan @davies Please take a look. Thanks.

A high level question: given a lot of expression code, we will group them into several blocks, and each block will be put into a method. For the method, previously we only use a single InternalRow parameter, as we assume all expressions only need the input row. To support currentVars, a simple idea is just adding currentVars as parameters, but this may introduce a very long parameter list and reach java limit, how do you fix it?

@cloud-fan I noticed that problem during testing this pr. For each block, I only pass the parameters needed by the expressions in the block. That said, I also group the parameters into the parts for blocks (methods). Although by doing this, the parameter number for each method can still reach java limit. So I set a limit for splitting expressions with currentVars.

How do you group the parameters? For the worst case, every expression may reference to all parameters.

For the current usage of splitExpressions, the expressions to be split are corresponding to currentVars if they are used. That said, each expression only uses one variable in currentVars. What they did is to process one variable in currentVars and assign it to another variable. So we don't face the case you worry about.

I don't think it's the semantic of splitExpressions, cc @davies

maybe. actually splitExpressions is now in limited usage.

Current usage of splitExpressions is to group the sequential access of elements in an input row to many blocks (methods).
As during whole stage pipeline, we mostly process currentVars, instead of input row. It is not expected to use splitExpressions widely across this pipeline. That is why I say it is in limited usage.

cc @davies have time to look at this?

Since we can easily fallback, I'd like not to make it even complicated to support all the corner. Each column require two arguments, java method only support 255 arguments, to make this really works (not hit this limit), it need to be more complicated than current shape.
Without a very good reason, I'd not to do this for now.

ok. then let me close this now.


Codified [date].toString() behaviour from 2.8 in tests

This is my attempt to add tests for the 2.8 [date].toString() behaviour so we can replicate with the new DateTime API.
The equivalent tests in 2.8 would be written as follows, and these all pass in 2.8:
      String inputDate = "2013-06-01";
      String inputDateTime = "2013-06-01 13:12:11";
      Assert.assertEquals(invoke("toString", CalendarParser.parse(inputDate)), "01-Jun-2013");
      Assert.assertEquals(invoke("toString", CalendarParser.parse(inputDate), "yyyy-MM-dd"), "2013-06-01");
      Assert.assertEquals(invoke("toString", CalendarParser.parse(inputDate), "yyyy/dd/MM"), "2013/01/06");
      Assert.assertEquals(invoke("toString", CalendarParser.parse(inputDate), "yyyy-MMM"), "2013-Jun");
      Assert.assertEquals(invoke("toString", CalendarParser.parse(inputDate), "yyyy-MM-dd hh:mm:ss"), "2013-06-01 12:00:00");
      Assert.assertEquals(invoke("toString", CalendarParser.parse(inputDateTime)), "01-Jun-2013");
      Assert.assertEquals(invoke("toString", CalendarParser.parse(inputDateTime), "yyyy-MM-dd"), "2013-06-01");
      Assert.assertEquals(invoke("toString", CalendarParser.parse(inputDateTime), "yyyy-MM-dd hh:mm:ss"),"2013-06-01 01:12:11");

There is definitely some slightly odd behaviour here (specifically the rendering of the time which I believe to be incorrect) and I'm happy to update the tests to reflect what we think the behaviour should be. However, this PR is to give us a starting point for compatibility with 2.8

@thadguidry @ettorerizza I'm inclined to change the tests
Assert.assertEquals(invoke("toString", CalendarParser.parse(inputDate), "yyyy-MM-dd hh:mm:ss"), "2013-06-01 12:00:00");
Assert.assertEquals(invoke("toString", CalendarParser.parse(inputDateTime), "yyyy-MM-dd hh:mm:ss"),"2013-06-01 01:12:11");
As these current convert to midday and 1AM, rather than midnight and 1PM which is what I'd really expect. This is because the current behaviour in 2.8 does this as well.
Do you agree we should change this behaviour rather than keeping backward compatibility in this case?

@ostephens That's 24 hour time format as the default.  I don't think we should change this.  Our tests can check for various time formats, certainly.  But 24 hour time is the default time format for nearly everything in tech and programming.  And besides... we already know that and documented as such in the code comment already for CalendarParser https://github.com/OpenRefine/OpenRefine/blob/master/main/src/com/google/refine/expr/util/CalendarParser.java#L82

But shouldn't:
[date 2013-06-01 13:12:11].toString("yyyy-MM-dd hh:mm:ss") -> "2013-06-01 13:12:11"
?
In 2.8 it goes to 2013-06-01 01:12:11
That doesn't seem right to me

@ostephens We have always conformed to ISO8601 since Google Refine 2.1 days and we added localization of dates during 2.6 also.... In fact, I've tested this many times before, and see Tom's mention here: https://github.com/OpenRefine/OpenRefine/issues/294#issuecomment-9432067
Your doing it wrong.
What your doing is your asking for 12 hour format....instead of 24 hour format.
value.toDate().toString("yyyy-MM-dd HH:mm:ss")
notice my capital HH's

@ostephens Thanks for the UT. The PR branch has removed the Calendar to represent a date type. All the date cell will be represented as OffsetDateTime. so in my UT, I only pass the OffsetDateTime type as the 1st argument. The V2.8 use default Calendar constructor which use the local date. This does not sound right when dealing with the date whose data source could be come from anywhere. The test cases passed on 2.8 but won't pass in this branch. But as I mentioned, since in real life a Calendar won't be passed as argument due to all date will be using OffsetDateTime, probably it is not that relevant any more.
I extracted your UT but use the OffsetDateTime for the date type.

@ostephens @jackyq2015 Guys... please ensure we have testing for 12/24 Hour formats as well !!!!  And converting back and forth between them with
toString("yyyy-MM-dd HH:mm:ss")
and
toString("yyyy-MM-dd hh:mm:ss")

@jackyq2015 and just to remind you, recall we added support for locale with toDate() in 2.6 and various internationalization bits https://github.com/OpenRefine/OpenRefine/releases/tag/2.6-alpha.2  Here is Tom's commit for the toDate() changes https://github.com/OpenRefine/OpenRefine/commit/fa072df85c27ce601f867a7f39c5a5d1bf288dec

@thadguidry doh! Thank you :)

Thanks @jackyq2015 - closing this now


Outside container

This is a feature request, and might be definitely out of the main scope of the project.
It would be interesting for me, to be able to set up a local machine with the same settings of a devcontainer.
I know it is not the same thing, and there are other tools available to manage machine installations, but the consideration stems from Codespace and similar environments: if I can give people an environment to use remotely, I'd like to make it easy for them to set up the same environment locally, if possible.
Essentially, devcontainer.json is giving a well-defined way to configure a remote environment, but sometimes you also want to work locally, and while working locally you might want to have the same environment of a specific remote, but you definitely don't want to run in a container most of your time (though it's of course an option).
However, it might be a silly idea, so I'm open to considerations.

Couldn't you use the Dev Containers extension for VS Code?

I'm not using VS code, and I'd like to work also outside, if possible.
Let's say, I'd want to be free to run commands in whatever terminal, on a generic machine, not inside a container. But the installation should have been automated, running the content of devcontainer.json.
The various features implemented have all an install.sh by design, so I should be able to run them on any machine with a shell (let's say even a Linux machine), even if I'm not inside a container.

The feature install scripts actually expect to be run on Linux.
FYI: You can start a dev container locally without VS Code by using the dev container CLI directly (VS Code and Codespaces both use the same CLI): https://www.npmjs.com/package/@devcontainers/cli

The feature install scripts actually expect to be run on Linux.

Indeed, this one I acknowledged also above.

FYI: You can start a dev container locally without VS Code by using the dev container CLI directly

And this is why I opened the PR on this repo ^^
But, from what I understood from the README, even the CLI will run all the install.sh inside a container. That is fine, and already useful even outside VS code.
The PR instead was intended to request to be able to use the CLI to run all the install scripts (install.sh), identified by the devcontainer.json, on the native system. Of course it is not ideal, because being a Node CLI you need to install at least Node to get started, so it is definitely not a "fresh environment" like a container would be.
Of course, also this problem might be solved by a stand-alone binary, reimplementing the logic of https://www.npmjs.com/package/@devcontainers/cli in a compiled application, and distributing binaries. But to be honest, personally I don't care so much, and I can accept to install on a system on which Node has been already installed (i.e. to give up on managing Node function by devcontainers.json) :)

We are focusing on containers at the moment, so I'm closing this as out of scope. Thanks for discussing this.


Update README.md

This small README.md fix could have saved my couple of days of debugging! I hope others won't face it!

Certainly the sample app works only with GPU, but is it really true?
I thought we could run the model on CPU if you changed BUILD file.

Sure @homuler , if you find some way to run the demo on CPU on android.
Till the time, you can just mention the dependency of GPU in android.
And obviously, you can still edit it further whenever required.
Why I want this because I see more people like me are getting troubled by this issue.


virt-manager: 3.1.0 -> 3.2.0

Motivation for this change
Bump to latest version at the time of making this PR.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 120265 at 70d6e01f run on x86_64-linux 1

1 package built successfully:

virt-manager

1 suggestion:

warning: unused-argument
Unused argument: glib.
Near pkgs/applications/virtualization/virt-manager/default.nix:4:30:
  |
4 | , gsettings-desktop-schemas, glib, libosinfo, gnome3
  |                              ^

Deleted because of user-error, sorry.


Create a new pull request by comparing changes across two branches

Description

Motivation & Context

Type of changes

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

Checklist

[ ] I have read the contributing guidelines
[ ] My code follows the code style of the project (using npm run lint)
[ ] My change introduces changes to the documentation
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

Live previews

https://deploy-preview-{your_pr_number}--twbs-bootstrap.netlify.app/

Related issues

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.781%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2022

Relevant Lines:
2072

💛  - Coveralls


Make dronekit working with the PX4 Pro

When https://github.com/mavlink/mavlink/pull/603 will be merged. Please merge this request and the mode for PX4 Pro will work. Of course can you please test it with the Ardupilot I don't have it. Thank you.

MAVLink PR is merged, so please go ahead and rebase so this can go through.

@peterbarker @mrpollo I've merged the re-done PR from @squilter. So if Dronekit uses current master everything should now work in its entirety.

thanks all


CNIOAtomics: define types for uintptr_t and intptr_t

[One line description of your change]
Motivation:
[Explain here the context, and why you're making that change. What is the problem you're trying to solve.]
Modifications:
[Describe the modifications you've done.]
Result:
[After your change, what will change.]

Based on #1400


LSP renaming support is unreliable

Typescript's LSP (tsserver) seems to handle renames quite well.
Rust-analyzer seems to be capable of handling renames for the current file well, but not at all for other files besides the current file.
In my testing, neo-tree was able to handle renames quite reliably for all cases.
This might be caused by the fact that yazi renames the files before yazi.nvim can notify the LSP that it willRenameFiles. This might require deeper integration to be implemented in yazi.
A discussion for deeper integration has been started here https://github.com/sxyazi/yazi/issues/989 and can be tracked there

Great idea, thank you! I will try that out later.

With the recent changes in lazy.nvim, it would be easy to add a new dependency https://github.com/mikavilpas/yazi.nvim/pull/144
I don't necessarily want to maintain the feature myself so https://github.com/antosha417/nvim-lsp-file-operations would be a good option.
Will have to see it it's available for rocks.nvim users.


Cant update or re-install

When trying to update (or re-install when update failed) I get the following error:
Installing<EMAIL_ADDRESS>failed.Hide output…

npm ERR! git fetch -a origin (https://github.com/marijnh/tern.git) fatal: Unable to find remote helper for 'https'
npm ERR! git fetch -a origin (https://github.com/angelozerr/tern-lint.git) fatal: Unable to find remote helper for 'https'
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "c:\\Users\\wmrawlin.SBIZ\\AppData\\Local\\atom\\app-1.0.7\\resources\\app\\apm\\bin\\\\node.exe" "c:\\Users\\wmrawlin.SBIZ\\AppData\\Local\\atom\\app-1.0.7\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "C:\\Users\\wmrawlin.SBIZ\\.atom\\.apm\\.apmrc" "--userconfig" "C:\\Users\\wmrawlin.SBIZ\\.atom\\.apmrc" "install" "C:\\Users\\WMRAWL~1.SBI\\AppData\\Local\\Temp\\d-115714-14772-1l6j6er\\package.tgz" "--target=0.22.0" "--arch=ia32" "--msvs_version=2012"
npm ERR! node v0.10.35
npm ERR! npm  v2.5.1
npm ERR! code 128

npm ERR! Command failed: fatal: Unable to find remote helper for 'https'
npm ERR!
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <http://github.com/npm/npm/issues>

I'm not entirely sure if this is a problem with my npm install or with atom or with the plugin.

Well this is interesting; if I run atom as an administrator (I'm on windows 7) I can install<EMAIL_ADDRESS>My previous install was not using atom as administrator.
So perhaps this information will help others who may run into the same problem with install this package.

I had the same problem when applying update from 0.7.3  to 0.8.1 I wonder why I have to run as admin to update this one plugin?


Tracker issue
Few notes from observation:

In some cases only one node gets killer-pod. In this case, there are 3 nodes that have virt-handler. The theory is that a test that is executed before this one is not contained proparly.
Killer-pod ends sooner than the migration actually happens. Here I would suggest removing exit 0 from killer-pod
Futher I am not sure if we are matching what we wanted
107       199331  0.2  0.0      0     0 ?        Zl   13:31   0:01 [qemu-kvm] <defunct>

/close
done


Update the QGB specs with the new EVM mapping

Now that this is merged https://github.com/celestiaorg/celestia-app/pull/2169, we should update the specs to reflect them.

no longer needed as we're switching to BlobstreamX


Release V1.3

Why
Release V1.3, which help us add async_simple to vcpkg
What is changing
Example

Done in https://github.com/alibaba/async_simple/releases/tag/v1.3


Update azure_openai.py

Fix AzureOpenAI constructor parameter name, moved model deployment param to the secret instead of the action.
What does this PR do?

Fix AzureOpenAI constructor parameter name : this fixes the AzureOpenAI.__init__() got an unexpected keyword argument 'endpoint'error message when calling Azure OpenAI actions.
Moved model deployment param to the secret instead of the action. The API key, stored in the secret, is linked to the deployment name in Azure, so it makes more sense to tie them together.

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[x] Chore (refactoring code, technical debt, workflow improvements)
[x] This change requires a documentation update

Mandatory Tasks

[ ] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.

Checklist

I haven't checked if my changes generate no new warnings (npm run lint)
I haven't added tests that prove my fix is effective or that my feature works
I haven't checked if new and existing unit tests pass locally with my changes

Inside backend: poetry run pytest
Inside workflow-runner: cargo test

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

Thanks for the contribution!
Could you also update the docs pages/integrations/azure_openai, i.e., the chat_completion and setup docs regarding the secret?
Also please run poetry run ruff format (I recommend to install our pre-commit hook via poetry run pre-commit install).

Docs updated, although I won't be able to run poetry run ruff format within reasonable time, as I don't have the dev environment deployed nor do I have time to do it soon.


Fix the tag package godoc and README

golint failed to report this one, sending it as a follow up of https://github.com/census-instrumentation/opencensus-go/commit/1abf51d241803f384de344c3ed2705ec052e0931.

Fixed the README as well.


LDAP High-Availability

Hi,
I tried using several LDAP (in ldap.conf, ldaprc, LDAPURI env var) servers as described in the documentation (https://ldap2pg.readthedocs.io/en/latest/cookbook/#using-ldap-high-availability). This does not work.
Debug:
10:07:12 DEBUG  Roles blacklist loaded.                          patterns="[pg_* postgres ldap2pg]"
10:07:12 DEBUG  Found LDAP configuration file.                   path=/etc/ldap/ldap.conf
10:07:12 DEBUG  Ignoring configuration file.                     path=/opt/ldap2pg/ldaprc err="stat /opt/ldap2pg/ldaprc: no such file or directory"
10:07:12 DEBUG  Ignoring configuration file.                     path=/opt/ldap2pg/.ldaprc err="stat /opt/ldap2pg/.ldaprc: no such file or directory"
10:07:12 DEBUG  Ignoring configuration file.                     path=/etc/ldap2pg/ldaprc err="stat /etc/ldap2pg/ldaprc: no such file or directory"
10:07:12 DEBUG  Read LDAP option.                                key=URI value="ldaps://ldap03.example.com ldaps://ldap02.example.com" origin=/etc/ldap/ldap.conf
10:07:12 DEBUG  Read LDAP option.                                key=TLS_REQCERT value=try origin=default
10:07:12 DEBUG  Read LDAP option.                                key=NETWORK_TIMEOUT value=30 origin=default
10:07:12 DEBUG  LDAP dial.                                       uri="ldaps://ldap03.example.com ldaps://ldap02.example.com"
10:07:12 DEBUG  Retrying.                                        err="LDAP Result Code 200 \"Network Error\": parse \"ldaps://ldap03.example.com ldaps://ldap02.example.com\": invalid character \" \" in host name" attempt=0
10:07:12 DEBUG  Retrying.                                        err="LDAP Result Code 200 \"Network Error\": parse \"ldaps://ldap03.example.com ldaps://ldap02.example.com\": invalid character \" \" in host name" attempt=1
10:07:13 DEBUG  Retrying.                                        err="LDAP Result Code 200 \"Network Error\": parse \"ldaps://ldap03.example.com ldaps://ldap02.example.com\": invalid character \" \" in host name" attempt=2

Does the ldap2pg v6 support ldap high availability?

That looks like a regression. Thanks for the report.

I plan to work on 6.1 on april. In the meantime, patches are welcome.

Fixed. Thanks for the report !


Add a Gitter chat badge to README.md

pixelhandler/ember-jsonapi-resources now has a Chat Room on Gitter
@pixelhandler has just created a chat room. You can visit it here: https://gitter.im/pixelhandler/ember-jsonapi-resources.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

already added to readme


Make antlr optional

Closes https://github.com/SciTools/cf-units/issues/313

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

I wanted to add a test without antlr-python-runtime but I have no idea how to do that in the complex tox/conda-lock/extra env file setup here. If someone wants to add that note that we would need to call pytest with pytest cf_units/tests  to avoid bogus import errors during the collecting phase.
I can attest that this works. All the functionalities but latex parsing are available and the import error is informative enough, if/when someone tries to use latex.

NOTE: update thoughts
Despite the exciting possibilities of #445 and a possible stepping-stone to #446,
that doesn't make a reason to not do this first -- it's still a useful + a simple first step.

Status update 2024/9/13 :
this is a good change, but can't just resolve + merge.
Want to incorporate changes to the env ymls, and then re-resolve the lockfiles

I confess that the CI setup here grow both in complexity and size that makes me not want to mess with them. Even more so in a case for an optional dependency, which can increase the number of files here. Is that something that is on your radar or as you expecting me, as the PR author, to do it? If the latter, I'd love some guidance before I tackle this.

Hi @ocefpaf, we definitely agree that things have become complex!
Your PR does not need to do anything with lock files

For testing purposes we make no distinction between core and optional dependencies. This only matters for Pip (i.e. setup.cfg) and Conda (the person updating the feedstock reads cf-units.yml). So no lock-file updates needed.
Since you raised this, we had a conflicting PR that was also adding Python 3.12, so we've merged that into main and I've updated your branch.

Complexity for developers
The intention is that the complexity is handled by the tox -e py*-lock environments, and that the developer can just commit the results without worrying about them. In future we might even get that to run automatically on any PR that changes cf-units.yml.
We adopted Tox specifically thinking of developers like you, who we don't talk to every day - we want to use familiar tools so we don't need to explain our repo structure to collaborators. What do you think we could we do to make things clearer?

I wanted to add a test without antlr-python-runtime but I have no idea how to do that in the complex tox/conda-lock/extra env file setup here.

Yes, we have (I think) no experience in structuring tests to confirm correct handling of optional dependencies. For instance I can't find any test coverage for this line in Iris.
It doesn't look like PyTest has any built-in conveniences for 'hiding' a dependency for the duration of test(s), but it might be possible using mocking? We're certainly not interested in creating more lock files than we have already. Would love to know your thoughts.

I wanted to add a test without antlr-python-runtime but I have no idea how to do that in the complex tox/conda-lock/extra env file setup here.

Yes, we have (I think) no experience in structuring tests to confirm correct handling of optional dependencies. For instance I can't find any test coverage for this line in Iris.
It doesn't look like PyTest has any built-in conveniences for 'hiding' a dependency for the duration of test(s), but it might be possible using mocking? We're certainly not interested in creating more lock files than we have already. Would love to know your thoughts.

I will do my best to get this over the line either way, even if that means raising an issue to add tests in future.

I will do my best to get this over the line either way, even if that means raising an issue to add tests in future.

#485

The follow-on test infrastructure has quite a cost, when compared to my proposal in https://github.com/SciTools/cf-units/issues/313#issuecomment-2348415886:

perhaps just vendoring the runtime (all 150kb of it) is the way to go?

The code is BSD and is pure Python, but it appears to not use relative imports (making it a bit harder to vendor as you have to do a search and replace). The outcome would be no dependency at all, and the tests would validate that the behaviour is as expected.

Since Iris does not currently use the cf_units "tex" function, there should be no need to include this in the Iris dependencies either for testing or runtime (i.e. in the recipe on the iris conda-forge feedstock).
That could change if we move to 'tex()' in iris plots -- we then need to add antlr4-runtime as an Iris test dependency.
Meanwhile, the functionality is still tested here in cf_units, so should not go stale.

Can we hope a new release with antlr optional soon on pypi ?
Thanks

Can we hope a new release with antlr optional soon on pypi ? Thanks

I think we're now leaning towards #487 instead.
Presumably that would suit you just as well ?
But anyway a release before long, though we're not committing to a date yet.

I think we're now leaning towards #487 instead. Presumably that would suit you just as well @thebaptiste ?

Yes, it would suit me.