Reproducible configuration files/CLI args like ArgParse.jl and jsonargparse

Comonicon has support for an impressive number of features, but is missing a crucial feature for reproducibility: support for config options setup in files (with overwriting on commandline).
The usecases for this is pretty simple: lots of CLIs (especially those related to machine learning) have a lot of different configuration options like hyperparameter settings, various parameters for priors, etc.  Often dozens.  There is often no natural set of "default" values because sensible defaults may be interrelated, and you may be tweaking those parameters as you go through - making one or two changes in parameters at a time.  Furthermore, if you use a bunch of defaults you may have no idea in various versions of your experiments which options you used at that time.  Not only that, even if you knew the exact set of defaults for a particular commit, you can't reproduce the results of a CLI call easily because you need to go back and reconstruct the set of defaults and parameters.
The way they did this in python ecosystems (and which we can emulate crudely in Argpase.jl) is the following:

A way to pass in a configuration file as a set of defaults to override.  Any additional values the user passes on the commandline overrules these defaults.

In Argparse.jl this is handled with the special @my_file_path/my_filename.txt approaches you can see in https://github.com/carlobaldassi/ArgParse.jl/blob/master/test/argparse_test08.jl
For example, with ArgParse.jl if I have a file called my_config_args.txt with

--first 2.0
--second 8

The, if you call the CLI with something like julia my_script.jl @my_config_args.txt --first 3.0 then it is just like it had called it with --first 3.0 --second 8 as the passed on CLI args overrule the first ones.
For the python frameworks, you can see this sort of stuff in https://jsonargparse.readthedocs.io/en/stable/index.html#tutorials and in projects that build on it such as https://devblog.pytorchlightning.ai/introducing-lightningcli-v2-supercharge-your-training-c070d43c7dd6

As in jsonargparse/ArgParse.jl it would be great to have both support for multiple config files and/or support for setting a "default" one.  This lets you do the following:

Establish an implicit set of default arguments in a file so that userse don't need to pass it in everytime for playing around with different experiments.
This tends to be easy in the python frameworks but the only way I could figure out how to do it in ArgParse was to manually add in the parameter post-creation of the argtable.  e.g. https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/280ba30934828b261b342ae3076b83481b1ad536/src/estimate_FVGQ_1_joint.jl#L285-L286

Finally, it is great if there is a relatively simple workflow which can save out the whole CLI arguments to reproduce a call---even if default arguments/etc. were to change.

This works well with the previous issue of stacking files because you can save out the config file with your experiment, then call the experiment again just passing in that config file and it reproduces the entire call.  If the default values of the CLI changed or if someone wanted to just see what hyperparameter values were set for a particular experiment, then it is all there.
There is no simple way to save things out from ArgParse, sadly, but this is all over the jsonargparse world.  In part it is easy because it just needs to persist the json.

Hopefully that gives a sense of the workflow.  This is not just for minimal CLI terminal apps where I think your current feature set is more than sufficient, but rather for things related to reproducible experiments.  Let me give a really simple strawman for how it could work with comonicon (not suggesting this is a good interface, but it seems to capture the minimum software requirements using a variation on the ArgParse.jl approach).

Add in special comonicon_argfile_default reserved kwarg for the @main function.  This establishes a default file to load up prior to applying any CLI args.  Maybe you specify a function like

@main function sum(x, y; precision::String="float32", fastmath::Bool=false, comonicon_argfile_default="my_path_to_default" )

Add in special  @argfile_save CLI argument.  This gives a filename to save the end results of the arguments that would be passed directly to the julia function.  The key is that whatever format this exports as, it would be compatible with passing in argiles.
Finally, have a reserved CLI argument like @argfile mypath/somefile.txt or whatever which the user can pass in to pass in pointers to these files.

The logic would be as follows:

Take any of the julia default arguments from the commandline spec.
If  comonicon_argfile_default is not empty, then push the results of that into an @argfile  argument on that stack of parameters , overwriting those before it.
Any other @argfile arguments are passed in, then apply them overtop in order.  Or just support a single one if that is easier.
Then  apply the passed in CLI args
Finally, if the user had the special @argfile_save  then save out the exact CLI arguments as an @argfile compatible file which would replicate calling that function.
With this,  something like the following might work

julia myscript.jl @argfile_save dir1/my_experiment.txt --arg2 5.0

# wait perhaps months later, and with a code base which may have even changed its julia default args:
# Reproduce experiment but maybe overwrite an arg or two.
julia myscript.jl @argfile dir1/my_experiment.txt --arg2 4.0

I have to admit, I'm a bit confused after reading this proposal, what's the difference between this and the option types support-based SimpleConfigs? https://github.com/comonicon/Comonicon.jl/pull/222
IIUC, the only thing you want is to save your CLI inputs? Why not just do something like git config that mutates a local file to save it inside your CLI function? How does this relate to a CLI syntax? e.g what's the difference between just using --config-file=<path> and @<path>? Adding a new syntax @ just for this seems to be overkill to me.
I think @avik-pal might have something to say about this, I'm quite confused on this design. Tbh I do tweak hyperparameters too, but I don't really use this workflow. I have a private implementation that fuses a different range of hyperparameters into multiple tasks and distributes them on the cluster in parallel. So I mainly just read in multiple config files that contain the range I want to tweak and also keep those config files as logs.

Add in special comonicon_argfile_default reserved kwarg for the @main function. This establishes a default file to load up prior to applying any CLI args. Maybe you specify a function like

The option type feature is much more flexible than this?

Any other @argfile arguments are passed in, then apply them overtop in order. Or just support a single one if that is easier.

This does not seem to require a compiler/codegen support you can different do it in the function that Comonicon @casted? except for the syntax, if we are talking about automatically letting the config file feed into the same option to overlap, e.g you can have
mycmd --config=config1.toml --config=config2.toml --config=config3.toml

is equivalent to
d1 = from_toml(MyOptionType, "config1.toml)
merge!(d1, from_toml(MyOptionType, "config2.toml"))
merge!(d1, from_toml(MyOptionType, "config3.toml"))

I haven't added a test for something like this, but I think this should work in Comonicon now, otherwise, it should be considered a bug.

Then apply the passed in CLI args

See https://github.com/comonicon/Comonicon.jl/pull/223

Finally, if the user had the special @argfile_save then save out the exact CLI arguments as an @argfile compatible file which would replicate calling that function.

Why not just have a --save flag? I still don't see why @ is necessary. We want to keep the syntax minimal so people don't have to learn a lot.
you can definitely have
@cast function mycmd(;config::MyOptionType, save::Bool=false)
    if save
       to_toml(a_file_path_to_save, config)
    end
end

but I can see, here we will be missing a file path information if the file path is fed as --config=<path>, perhaps we should ask people to always use a wrapper type as the type of config files, e.g
struct ConfigType{T}
   schema::T
   meta::Dict{String, Any}
end

the parser actually saves the information for conversion while parsing https://github.com/Roger-luo/Configurations.jl/blob/master/src/from_toml.jl#L13 it's just not exposed to the users.
Also, I'm a bit concerned about mutating a local config file for numerical experiments - shouldn't we consider all the different configurations as immutable and save all the configs so we can trace back previous experiments by time/tags etc.?

@Roger-luo  Thanks for the response.  Sorry if it didn't come across the right way, but I had said (not suggesting this is a good interface, but it seems to capture the minimum software requirements using a variation on the ArgParse.jl approach). and am definitely not suggesting this as an interface - just that it was the way we had figured out how to replicate it with ArgParse features which fulfilled the use-cases.
I think the big issue here seems to me that I didn't understand the role of https://github.com/avik-pal/SimpleConfig.jl from @avik-pal   and your configuraitons stuff.   The example in https://comonicon.org/dev/conventions/#Working-with-option-types-from-Configurations  had all sorts of hidden goodness behind it.
Let me make a few responses and then if you feel that there already are sufficient features for this workflow we should close this issue.

Thanks for the feature request (I assume this should be FR rather than bug report?)
Yes.  Didn't see a `feature request' option on https://github.com/comonicon/Comonicon.jl/issues/new/choose but maybe it is easy to add one for you if this keeps happening.

Also, I'm a bit concerned about mutating a local config file for numerical experiments - shouldn't we consider all the different configurations as immutable and save all the configs so we can trace back previous experiments by time/tags etc.?

For sure, no mutation.  Had just stripped down the example too far and was just trying to point out there needs to be a way to save it, and that config should be directly includable at some other time.  No encourgement of overwriting of course.

Why not just have a --save flag? I still don't see why @ is necessary. We want to keep the syntax minimal so people don't have to learn a lot.
...
but I can see, here we will be missing a file path information if the file path is fed as --config=, perhaps we should ask people to always use a wrapper type as the type of config files, e.g

Now that I am starting to understand the tight connection to the config  files and types, I think you may have everything you need right now.  If we add in a custom save flag in the MyOptionType as well as the a_file_path_to_save in it, then we could just do
@option struct ExperimentConfig
  global_seed::Int64 = 0
  lr::Float64 = 1e-5
  save_config_path::string = ""
end
@cast function mycmd(;config::ExperimentConfig)
    if config.save_config_path != ""
       to_toml(config.save_config_path config)
    end
    # code
    @show config.global_seed
end

Is that right?  Then I should be able do things like the following:
# use almost all defaults, and save results.
command --config.save_config_path=./experiment_1.toml --global_seed=1

# Loads up ALL of those from previous experiment, overwrite lr and run
command --config=./experiment_1.toml --config.lr=1e-8

# Loads up ALL of those from previous experiment, overwrite lr and run
command --config=./experiment_1.toml --config.save_config_path=./experiment_2.toml  --config.lr=1e-8

# Then, six months later I can run the following, and even if the defaults in `ExperimentConfig` changed, this would reproduce parameters?
command --config=./experiment_2.toml

It that all works, then I think this workflow is fulfilled completley.  Might be worth a doc addition at some point perhaps if this is useful for others.

Is that right? Then I should be able do things like the following:

Yes, exactly. The only thing that might be missing is pass through the actually file path into the function, which I don't have a good idea for the interface yet.

It that all works, then I think this workflow is fulfilled completley. Might be worth a doc addition at some point perhaps if this is useful for others.

Yeah, I was hoping to rewrite and polish the docs at some point... some part of the docs are out of date and was written in 0.10.0. Any help on doc improvement is definitely welcome.

Amazing!  Sorry I missed this workflow in the docs.  I think this covers everything.  I may come back to this during a rewrite in a few months on the CLI stuff for a project now that ArgParse can be exorcized completely.

Yes, exactly. The only thing that might be missing is pass through the actually file path into the function, which I don't have a good idea for the interface yet.

For sure.  I also think that it can have a few manual steps required if you had an example to follow.
I am going to close this since the short answer is that you already have this functionality.


CSI-VFS Managed Docker Plug-in

This patch adds a Docker managed plug-in for CSI-VFS.

Codecov Report

Merging #1076 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1076      +/-   ##
==========================================
- Coverage   34.19%   34.16%   -0.04%
==========================================
  Files          36       36
  Lines        2901     2901
==========================================
- Hits          992      991       -1
- Misses       1806     1807       +1
  Partials      103      103

Impacted Files
Coverage Δ

libstorage/api/types/types_localdevices.go
84.93% <0%> (-1.37%)
:arrow_down:

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 e24e88a...6c23076. Read the comment docs.

Any idea when this will be merged?

Hello @hpbieker,
What was your intended use of the VFS plugin? For the most part we are using it for comprehensive end-to-end testing of the CSI plugins without a dependency on a backend storage platform. Any more info here would be great to here.

@clintkitson. I am looking for a way to utilize a cifs network file system for my Docker volumes. I know I can use the local volume driver and mount the cifs file system in each container. However, this means that I will have to include the username and password in the docker-stack.yml file for each service. I was hoping to just define a volume driver that could have predefined the authentication to my cifs file store.
I guess this would be possible by using the vfs driver. Preferably, there is a cifs driver similar to the nfs driver so that the mounting of the cifs drive is handled automatically. I guess it is just a matter of generalization of the nfs driver.

What does "predefined the authentication to my cifs file store" mean?

@clintkitson Sorry for the bad wording. I mean that I do not want to specify a username, password, hostname and path each volume I create. I think this should be a part of the configuration of the volume driver.


Z algorithm

Fixes #391

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works

@ishitakapoor26 please remove the .py file

@ishitakapoor26 its similar to https://www.geeksforgeeks.org/z-algorithm-linear-time-pattern-searching-algorithm/


Buttons Feature Implementation

To implement a set of Button views in SwiftUI following the Material design guidelines. The Button views will include different styles and should be customizable. They should also respond to user interactions, provide visual feedback, and have unit tests for functionality and edge cases. The implementation depends on the Material design look and feel for SwiftUI components.
More here: https://www.notion.so/0xl/Buttons-Feature-cc9a750fad064bd7b3c5cbb755fab6e3

This PR should be updated soon.


Nominator/Validator widget UI improvements

refactor common logic into base class
add skeleton view

Codecov Report

Merging #378 (ef0d35a) into develop (7920849) will increase coverage by 3.22%.
The diff coverage is 39.13%.


Paket does not seem to work with Azure Artifacts Credential Provider

Description
If I install the Azure Artifacts Credential Provider, Paket does not seem to work with it, and fails to understand what the credential provider provides. (I've investigated why, read on!)
Repro steps

Install the Azure Artifacts Credentials Provider using the installation steps here. It installs the credential provider into %UserProfile%/.nuget/plugins/netcore and %UserProfile%/.nuget/plugins/netfx which is apparently the standard location for NuGet plugins.
Paket expects the Credentials Provider in a different location (maybe an old location?), so copy %UserProfile%\.nuget\plugins\netcore\CredentialProvider.Microsoft to %LOCALAPPDATA%\NuGet\CredentialProviders%.
Create a paket.dependencies with a source pointing to your Azure Artifacts feed and use a package that is only in your private feed.

source https://api.nuget.org/v3/index.json
source https://pkgs.dev.azure.com/COMPANY/_packaging/FEEDNAME/nuget/v3/index.json
framework auto-detect

nuget FSharp.Core
nuget MyInternalPackage 0.0.72

> paket install -v on the command line.

Expected behavior
A successful paket install that grabs the necessary credentials from the provider.
Actual behavior
It fails. 😭 The relevant part of the logs are:
-> Credential provider returned an invalid result: [Information] [CredentialProvider]Username: optional
   [Information] [CredentialProvider]Password: CENSOREDFORBUGREPORT
   Error:
-> JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Paket.CredentialProviderResultMessage' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
   To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
   Path '', line 1, position 1.

The problem appears to be twofold.

Paket is looking for credential providers in the wrong (old?) location
The Azure Artifacts Credential Provider has changed the command line arguments it expects to receive. (TLDR: It seems like you need to pass -F json for it to print JSON on the command line, otherwise it defaults to "Human Readable")

If I run the credential provider by hand:
> & "C:\Program Files\dotnet\dotnet.exe" "C:\Users\dchambers\.NuGet\plugins\netcore\CredentialProvider.Microsoft\CredentialProvider.Microsoft.dll" -uri https://pkgs.dev.azure.com/COMPANY/_packaging/FEEDNAME/nuget/v3/index.json
[Information] [CredentialProvider]Username: optional
[Information] [CredentialProvider]Password: CENSOREDFORBUGREPORT

According to the help text for the credential provider:
OutputFormat (-F)     In standalone mode, format the results for human readability or as JSON. If JSON is selected, then logging (which may include Device Code
                      instructions) will be logged to standard error instead of standard output.
                      HumanReadable
                      Json

If I add -F json to the command line:
> & "C:\Program Files\dotnet\dotnet.exe" "C:\Users\dchambers\.NuGet\plugins\netcore\CredentialProvider.Microsoft\CredentialProvider.Microsoft.dll" -uri https://pkgs.dev.azure.com/COMPANY/_packaging/FEEDNAME/nuget/v3/index.json -F json
{"Username":"optional","Password":"CENSOREDFORBUGREPORT"}

Given that Paket's code seems to copy what is in NuGet, I was surprised that such a breaking change would have been made by Microsoft! So I investigated what dotnet does when it uses the credential provider by using Process Monitor to watch the command line args it uses.

So apparently NuGet must use a completely different mode of interaction with these plugins! This seems to be this "plugin" mode, whereas paket is using "standalone" mode, and they've broken back-compat by having this -F flag. 😭
Known workarounds
None for us. We build on internal TeamCity build agents, and these have been configured with the Azure Artifacts Credential Provider. The old CredentialProvider.VSS.exe (which is no longer available via Azure Artifacts as in the Paket doco) seems to pop an interactive dialog and therefore is not suitable on the build agents (it does not seem to respect the VSS_NUGET_EXTERNAL_FEED_ENDPOINTS environment variable the new provider uses to go non-interactive).

Further reading leads me to believe that what Paket supports is "nuget.exe credential providers", whereas Azure Artifacts provides a "NuGet cross platform authentication plugin". These appear to be a new way of providing credentials to NuGet. 😢

We're open to pull requests. @isaac_abraham do you know something about
this?
Daniel Chambers<EMAIL_ADDRESS>schrieb am Fr., 20. März 2020,
07:39:

Further reading leads me to believe that what Paket supports is "nuget.exe
credential providers
https://docs.microsoft.com/en-au/nuget/reference/extensibility/nuget-exe-credential-providers",
whereas Azure Artifacts provides a "NuGet cross platform authentication
plugin
https://docs.microsoft.com/en-au/nuget/reference/extensibility/nuget-cross-platform-authentication-plugin".
These appear to be a new way of providing credentials to NuGet. 😢
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3813#issuecomment-601556629,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAOANCMBOJ5DJFR2SUYK5LRIMFRPANCNFSM4LQA3FBA
.

I've done a little sniffing around NuGet and the Azure Artifacts Credential Provider code. It seems like this "Plugin" model is implemented in the NuGet.Protocol package. Would we be against using that in Paket so we don't have to re-implement everything from scratch?
Some code links for my reference and if anyone else is interested:

Connecting to a Plugin - PluginFactory.CreatePluginAsync()
Credentials Request Contract - GetAuthenticationCredentialsRequest

The problem is usually lots and lots of other deps that come indirectly
Daniel Chambers<EMAIL_ADDRESS>schrieb am So., 22. März 2020,
07:59:

I've done a little sniffing around NuGet and the Azure Artifacts
Credential Provider code. It seems like this "Plugin" model is implemented
in the NuGet.Protocol package. Would we be against using that in Paket so
we don't have to re-implement everything from scratch?
Some code links for my reference and if anyone else is interested:

Connecting to a Plugin - PluginFactory.CreatePluginAsync()
https://github.com/NuGet/NuGet.Client/blob/6f7be0986028256f05c894eac2f7816c85611984/src/NuGet.Core/NuGet.Protocol/Plugins/PluginFactory.cs#L146
Credentials Request Contract - GetAuthenticationCredentialsRequest
https://github.com/NuGet/NuGet.Client/blob/6f7be0986028256f05c894eac2f7816c85611984/src/NuGet.Core/NuGet.Protocol/Plugins/Messages/GetAuthenticationCredentialsRequest.cs

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3813#issuecomment-602157731,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAOANFZ5NEK3SJMDZOG4OTRIWZORANCNFSM4LQA3FBA
.

Note that IIRC there is already an open issue/discussion somewhere. There is even an open source external adapter implementation from someone. Before starting to implement anything we should try to link the existing work/discussion.

Looks like that issue is https://github.com/fsprojects/Paket/issues/3531. @slang25 went down the same path with NuGet.Protocol as I was thinking.

Any news on the support of Azure credentials? Would it be possible to get help from people in the nuget team?

I found a solution to the issue! Here is what I did (Mac OS):

Install the Azure Artifacts Credential Provider following the manual installation (here). Notice that you need to copy only the netcore folder. DO NOT COPY the netfx folder
Manually run the provider to obtain the credentials: dotnet CredentialProvider.Microsoft.dll -U <feed_url> and follow the instructions  (not sure if this step is necessary)
clone the Gen2Support repo (here)
change the target framework of the Gen2Support project to net5.0
build Gen2Support
Copy the build output to $HOME/.local/share/NuGet/CredentialProviders

After doing this, Paket correctly installed a dependency from my private feed 🙂

Adding to my previous comment: I did the same on Windows and it worked.
The only difference was the path in step 6: ~\AppData\Local\NuGet\CredentialProviders

@FedericoBinda: Would you mind sharing the command and dotnet sdk version you used for building Gen2Support? I am asking because running dotnet build with dotnet sdk 5.0.401 always yields an error on my Windows machine: Paket.CredentialProvider.Gen2Support\Program.fs(22,9): error FS0039: The value, namespace, type or module 'PluginManager' is not defined. Maybe you want one of the following:   PluginResource   PluginCredentialRequest [C:\Users\y1mschum\Documents\MATLAB\Paket.CredentialProvider.Gen2Support\Paket.CredentialProvider.Gen2Support\Paket.CredentialProvider.Gen2Support.fsproj]

@mfschumann I just checked: They have made an update on the repo to target net5.0.
Along with that update, they also updated the package references:
<ItemGroup>
      <PackageReference Include="NuGet.Credentials" Version="5.11.0" />
      <PackageReference Include="NuGet.Protocol" Version="5.11.0" />
</ItemGroup>

In the version I used some months ago, the references were:
<ItemGroup>
      <PackageReference Include="NuGet.Credentials" Version="5.0.0" />
      <PackageReference Include="NuGet.Protocol" Version="5.0.0" />
</ItemGroup>

If I change back to the old versions it works for me. I cannot explain why.

@FedericoBinda: Thank you so much for the quick reply! Reverting to version 5.0.0 of the references fixed the build issue for me too. I can run the generated CredentialProvider.Gen2Support.dll using dotnet directly, but somehow paket does not seem to pick up the credential provider for authenticating with my private Azure feed. When trying to paket install I keep getting Could not load resources from ...: Unauthorized (401). Is there anything I have to do to make paket aware of the credential provider? I did copy all the contents of Paket.CredentialProvider.Gen2Support\bin\Debug\net5.0 to %LOCALAPPDATA%\NuGet\CredentialProviders\Paket.CredentialProvider.Gen2Support. Is that the correct location?

Yes, that's the location where I have it. I have to mention that I saw the same behaviour some time ago, but then it started working again, and I did not understand what had changed (!!). Maybe the Paket version? I am using 6.2.1.
This is all very confusing to me as well, I am no expert in how Paket works, I'm just a user.

I am using Paket 6.2.1 too. Can you tell what commit you used to build Gen2Support? Maybe the current version that I tried does not work properly for some reason?

The commit I have is 72ad0da. But looking at the history of the commits after that one, it doesn't look like they have done any significant changes, only documentation and upgrade to .NET 5.

Actually, 3 days ago they checked in with commit message "fix the build".

Yeah, sorry all, I saw the comments in here and had realised that I broken it with my previous changes

The latest version of that repo should build. However I have to admit that I no longer use this tool or Paket, so probably shouldn't be maintaining it. If I get some time, I'd like to set up a personal Azure DevOps and properly test it (maybe even get it working on Windows and macOS in CI)

@slang25 @FedericoBinda: Thanks again for helping me out. In the meantime I decided to go with dotnet restore instead of paket.exe because it has all the features I need and authentification with Azure Artifacts works flawlessly.

I can confirm that the process outlined above by @FedericoBinda is working as written (at least in my environment: Windows 10, VS Code). I first got paket working against my Azure Artifacts repository using the same process this summer, and then it just worked again yesterday after my hard drive died. Thanks so much for the step-by-step explanation! I never would have figured this out on my own.

I gave paket another shot, but I still was not able to get authentication to work with my private Azure feed:
I was able to compile the latest version of Gen2Support and installed it to %LOCALAPPDATA%\NuGet\CredentialProviders\Paket.CredentialProvider.Gen2Support.
When I run
CredentialProvider.Gen2Support.exe -uri https://pkgs.dev.azure.com/[my-organization]/[my-project]/_packaging/[my-feed]/nuget/v3/index.json

the provider returns valid credentials:
{ "Username" : "VssSessionToken",
"Password" : "[redacted]",
"Message" : "" }

However if I try e.g. paket install I keep getting
Could not load resources from 'https://pkgs.dev.azure.com/[my-organization]/[my-project]/_packaging/[my-feed]/nuget/v3/index.json': Unauthorized (401)

So it seems that paket does not use the Gen2Support credential provider.
@FedericoBinda @slang25 : Do you see any way for debugging this?

Until paket migrate from nuget command works with Azure DevOps feeds it's going to be very hard for people to adopt this tool.
Any updates on this issue?

We are also using the older CredentialProvider.VSS.exe (probably obtained with this compilation method mentioned above) and this worked well for years, however now it seems that it starts failing randomly in CI machines, and also since today with user PCs.
I would ask to focus here on this topic since AZure DevOps got more and more important in today´s .NET business. If MS really dropped the old plugin way of things, this needs to be followed up also in Paket.

Additionally the solution with proxying V1 requests to the official V2 provider is very cumbersome, we have to use device token protocol which means manual refresh every time those tokens expire

For future reference, I tried the steps outlined by @FedericoBinda above, but they did not seem to work for me at first.
I got an error that the JSON format was expected:
JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type
'Paket.CredentialProviderResultMessage' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array
or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array.
JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.

For some reason, I had CredentialProvider.Microsoft as a sibling in AppData\Local\NuGet\CredentialProviders. After removing that, the work around steps appeared to work for me!

Did anyone who uses Paket.CredentialProvider.Gen2Support get the interactive login working when a token expires? For me it seems that outdated tokens are stuck in the cache of CredentialProvider.Microsoft cache file, but it never tries to ask the user for re-auth.

I made a fix for that now in https://github.com/slang25/Paket.CredentialProvider.Gen2Support/pull/8 - using it now already and it seems to work very well!


Fixed docblocks

We can't merge a PR that already has merge commits in it. Please send a PR with exactly one commit.


Add progress charts

Closes #133.
This adds progress charts fro ghsync and gitcollector.

does it contain cache timeout 0 already or not?

@smacker not yet, and I've just realized that for some reason the id changed from 2 to 3 😕.

@smacker I've set cache_timeout: 0 and also changed the title of the welcome dashboard as @carlosms asked.

Wait, I'll test it.

@smacker I force-pushed the latest changes. Fixed the title as you said and set timeout to 1. Now refreshing the page upates the chart.

It opens wrong dashboard by default now

Oh. Not just a wrong one. There is no welcome dashboard at all anymore:

@smacker yup, sorry I forgot to mention in the last push I fixed the id of the dashboard. For some reason when I exported it the id changed 🤷♂

@se7entyse7en what do you mean? I have the latest changes:
smacker in ~/Work/sourced-ui on progress-chart [?]
$ git pull
Already up to date.
Current branch progress-chart is up to date.

Can I consider this the latest version with progress bars and use it as reference?


How to handle multiaxes controllers with a priori unknown number of axes

Hi,
There is a question I've ran into when writing several actuators plugins, and i'd like to know if someone has an opinion.
For a multiaxis controller, we now define something like (cf doc)
_axis_names = {'Xaxis': 0, 'Yaxis': 1, 'Zaxis': 2}
However, my issue is that some controllers can handle an arbitrary number of axes - some just daisy chain each other and could potentially have dozens of axes, but we can't know that before initializing the self.controller.
The initialization procedure goes something like

when importing the plugin, run some API method to search for the connected controllers, generate a list and put that into the parameter tree
the user chooses which controller to use in the list, then clicks initialize
the controller uses an API method that lists all available axes. We can then populate _axis_names with those axes and the user can swap.
This is fine

The issue arises when using a preset: ideally we'd like a preset to launch and directly initialize the controller with a chosen axis. However there is no way to define a preset in this way, since the _axis_names has not been populated yet when we create the preset (presets are defined before initializing the controller).
We've hacked our way around this in two ways for different plugins,

you can choose that this type of controller will have a fixed number of axes and write _axis_names = {'Axis 1': 0, 'Axis 2': 1, 'Axis 3': 2} at the top of the plugin, then update the names once the controller knows them (this is SmaractMCS2).

Another thing I did was to redefine self.settings['multiaxes', 'axis'], instead of a dictionnary it becomes an integer and the user can just use whatever index they want in the preset, and the controller will try to initialize this index (this is Zaber). It writes the names of the axes into another field of the tree once it is available.

Neither solutions are user friendly: when defining the preset, we have to remember which axes are what (they don't have their names yet). Second solution at least has the advantage of handling arbitrary number of axes.
So I guess we need to find some standardized way of doing that! Thoughts?

To add some thoughts (as requested ;-) ), have you noticed in the preset the little "plus"" button on the right part of the combo widget? Well if you press it it will allow you to add entries into the combo:

so far it was only working with list type of combo, but now that we have introduced the dict type, i added the feature that you have to first enter a string then an integer (key, value) new pair in the dict. I just did a PR on that: #189
It means that if you know the "value" of your axis you can preset it in the Preset! (Don't need anymore to switch to integer widget). So this goes together with your point 2

ah, wunderbar!!
I'll try to use dicts in the Zaber plugin and test if I can do the preset like before.

can we close this issue @rgeneaux ?

Yes
@seb5g will you merge the settings branch into pymodaq-dev?

Yes @seb5g will you merge the settings branch into pymodaq-dev?

@rgeneaux I'm waiting for @Ashwolaa to make changes to its PR #205 before merging it, then I'll merge the settings branch


Denying all traffic from namespace

Hi.
The networkpolicy here: documentation/website/documentation/050-tutorials/content/howto/network-isolation/_index.md
It should be noted that this will also deny all internet based traffic in those pods as well.

Nice catch! Can you please file PR about it?

Sure thing. I'll do that first thing tomorrow. 👌👍
On Mon, 14 Oct 2019, 21:56 Ismail Alidzhikov<EMAIL_ADDRESS>wrote:

Nice catch! Can you please file PR about it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/gardener/documentation/issues/65?email_source=notifications&email_token=AABMUQUAF2AO7S5WVJXWIL3QOTFG3A5CNFSM4JAQSRE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBGIWHA#issuecomment-541887260,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABMUQTKT62TMZPJ3GGQZU3QOTFG3ANCNFSM4JAQSREQ
.

Fixed with #66.

Thank you! :)


make_future_dataframe does not create correct month end dates

Paste into r:
m <- data.frame(history.dates = lubridate::dmy(c
("31/01/2013", "28/02/2013", "31/03/2013", "30/04/2013", "31/05/2013", "30/06/2013",
"31/07/2013", "31/08/2013", "30/09/2013", "31/10/2013", "30/11/2013", "31/12/2013",
"31/01/2014", "28/02/2014", "31/03/2014", "30/04/2014", "31/05/2014", "30/06/2014",
"31/07/2014", "31/08/2014", "30/09/2014", "31/10/2014", "30/11/2014", "31/12/2014",
"31/01/2015", "28/02/2015", "31/03/2015", "30/04/2015", "31/05/2015", "30/06/2015",
"31/07/2015", "31/08/2015", "30/09/2015", "31/10/2015", "30/11/2015", "31/12/2015",
"31/01/2016", "29/02/2016", "31/03/2016", "30/04/2016", "31/05/2016", "30/06/2016",
"31/07/2016", "31/08/2016", "30/09/2016", "31/10/2016", "30/11/2016", "31/12/2016",
"31/01/2017", "28/02/2017", "31/03/2017", "30/04/2017", "31/05/2017")))
future <- make_future_dataframe(m, 12, "month")
future[54:64,]
I expected to see these dates:
30/06/2017
31/07/2017
31/08/2017
30/09/2017
31/10/2017
30/11/2017
31/12/2017
31/01/2018
28/02/2018
31/03/2018
30/04/2018
but get these instead:
1/07/2017
31/07/2017
31/08/2017
1/10/2017
31/10/2017
1/12/2017
31/12/2017
31/01/2018
3/03/2018
31/03/2018
1/05/2018

my current fix for this is:
last_day <- function(date) {
lubridate::ceiling_date(date, "month") - days(1)
}
first_day <- function(date) {
lubridate::floor_date(date, "month")
}
future_months <- function(m, periods){
existing <- m$history.dates
days     <- last_day(seq(first_day(max(m$history.dates)), length.out = periods, by = "month"))
days     <- days[2:length(days)]
future   <- data.frame(ds = c(existing, days))
return(future)
}
#Example
future      <- future_months(m, periods = 13)

The make_future_dataframe is a pretty thin wrapper for R's seq. This is the behavior that seq produces:
> seq(as.Date('2017-05-31'), length.out=5, by='month')
[1] "2017-05-31" "2017-07-01" "2017-07-31" "2017-08-31" "2017-10-01"

The reason for this odd behavior is given in https://stat.ethz.ch/R-manual/R-devel/library/base/html/seq.POSIXt.html:
"Using "month" first advances the month without changing the day: if this results in an invalid day of the month, it is counted forward into the next month: see the examples."
Despite the strangeness of this, I'm inclined to leave this as is since it is default R behavior. If you want to specifically have the last day of every month, you can just create the future dataframe of dates manually. Does that sound reasonable?

No worries bletham. I have worked out a fix around this.

Was this issue ever fixed? I still the same issue

@adwarner don't think this was fixed. You are better off finding a fix that works for you. Have a look at my above function, modify to fit your work.


Transfered doms are scanned by the devtool as apps

Version
6.1.4
Browser and OS info
Chrome 101.0.4951.54 / MacOS Monterey 12.3.1
Steps to reproduce
when I moved a dom element to the body of html, and add it to the app list.
What is expected?
There are many UI component frameworks has the usage of transfer dom, could it be recognized and be removed from the app list?
What is actually happening?
vue-devtool scanned the element.__vue__, however it was moved from deeper place.

just like this

Please provide an actual reproduction.


Module org.apache.logging.log4j.core does not declare uses RecyclerFactoryProvider

Log4j Core version 3.0.0-beta3 does not have all the necessary JPMS service declaration, which causes the following exception to be thrown:
java.util.ServiceConfigurationError: org.apache.logging.log4j.kit.recycler.RecyclerFactoryProvider: module org.apache.logging.log4j.core does not declare `uses`

To workaround the issue, users can implement their own ConfigurableInstanceFactoryPostProcessor that registers a RecyclerFactory bean:
public class Log4jCorePostProcessor implements ConfigurableInstanceFactoryPostProcessor {
    @Override
    public void postProcessFactory(ConfigurableInstanceFactory factory) {
        factory.registerBinding(Key.forClass(RecyclerFactory.class), () -> RecyclerFactoryProvider.getInstance()
                .createForEnvironment(null));
    }
}

and register the post-processor with ServiceLoader.


Addon-starter is stuck in a disconnected host due to lack of healthcheck

Rancher versions:
rancher/server: v1.6.7-rc1
kubernetes (if applicable): rancher/k8s:v1.7.2-rancher7
Docker version: (docker version,docker info preferred)
1.12
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
Ubuntu 16.04
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
AWS
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
single node rancher
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Kubernetes
Steps to Reproduce:

Start kubernetes on isolated plane
Stop docker daemon on the host that has addon-starter service

Results:
All other services will be moved to the other orchestration node(s), however addon-starter will stuck in the disconnected host.

Rancher server: v1.6.8-rc3
Kubernetes: rancher/k8s:v1.7.2-rancher8
I can see Addon starter being scheduled on other host when the host is down, and i can see healthcheck  being enabled for addon starter on port 10240


Check and reject duplicate handlers in the logger.

Stop the duplication of log entries in the same log.
Tested:  Locally for a couple of weeks.
See Issue #1293

Thanks for the PR but I'd rather not do this. This is due to a misconfiguration and shoving the problem under the rug isn't really a solution, you should rather fix the root cause IMO.


but was required as: github.com/Sirupsen/logrus

github.com/Sirupsen/logrus<EMAIL_ADDRESS>parsing go.mod:
module declares its path as: github.com/sirupsen/logrus
but was required as: github.com/Sirupsen/logrus

me too


"Loading the module for the configuration unit failed." When using components

I'm attempting to install and configure Visual Studio using the Components option versus the VSConfigFile. When I run the winget configure, I get the below error:
"Loading the module for the configuration unit failed."

Here is my yaml:
properties:
  configurationVersion: 0.2.0

  resources:

    - resource: Microsoft.WinGet.DSC/WinGetPackage
      directives:
        description: Visual Studio Code
      settings:
        id: Microsoft.VisualStudioCode
        source: winget

    - resource: Microsoft.WinGet.DSC/WinGetPackage
      id: vsPackage
      directives:
        description: Visual Studio 2022 Community Edition
      settings:
        id: Microsoft.VisualStudio.2022.Community
        source: winget

    - resource: Microsoft.VisualStudio.DSC/VSComponents
      dependsOn:
        - vsPackage
      directives:
        description: Install required VS Workloads
      settings:
        productId: Microsoft.VisualStudio.Product.Community
        channelId: VisualStudio.17.Release
        includeRecommended: true
        components:
          - Microsoft.VisualStudio.Workload.Azure
          - Microsoft.VisualStudio.Workload.ManagedDesktop
          - Microsoft.VisualStudio.Workload.Data
          - Microsoft.VisualStudio.Workload.NetCrossPlat
          - Microsoft.VisualStudio.Workload.NetWeb
          - Microsoft.VisualStudio.Workload.Universal

Is there something I'm missing or doing wrong?
Thank you!

Thanks for reporting this! We'll need a little more information to diagnose what is going on here.
Doing the following will help us get the information we need:

Run winget configure with the --verbose and --open-logs arguments. This will open a folder with WinGet logs - zip these files into a compressed file.
Download and run the VS Log Collection Tool. This will generate a vslogs.zip file in your %tmp% directory.
Open Visual Studio Installer and select Report a problem from the top right

On the webpage that opens, point to this GitHub issue in the description, and attach the WinGet logs zip and the vslogs.zip file, then submit the ticket.

Thanks for taking the time to help us understand this issue better!

I had this error and it was because I was not running winget as admin.  Once I ran it in an elevated terminal, it worked.

Thanks for getting back to me. I figured out my issue. I hadn't installed the module. 🤦 Sorry, still a bit new to winget and there doesn't seem to be a lot of great support and docs out there for using configuration files so far, so it's been a journey.
When I was first running this script, I was doing it via Dev Home. Dev Home automatically initialized winget and the other Microsoft.WinGet.DSC module, so I was a bit oblivious to what was happening behind the scenes.
I hope you don't mind, but I submitted a PR to add some very basic installation instructions, linking to the PowerShell Gallery.

@ShannyMan you need to add:
"allowPrerelease: true" under the directives since the module is marked as "prerelease" at the PowerShell Gallery.
That is what was preventing WinGet from downloading the module for you.


[MRG] Refactoring extract_Coding

TODO

Add translation frame to csv
Verify coding are returned as coding and noncoding as well by comparing the spreadsheet with the GT from @olgabot

I am merging this PR for now and will address the above in the next PR


Username to be displayed in web chat

Hello Team,
I recently migrated to bot V4 from V3. In the older V3 the user name was getting displayed under each message. In V4 i am not getting the username under the message, only the timestamp is being displayed. Is the feature removed or am i missing some config value? Please find below the connection object.
window.WebChat.renderWebChat({ directLine: dl, groupTimestamp: groupTimestamp, styleOptions: styleOptions, username: 'Kiran', userID: '123' }, document.getElementById('webchat'));
Any help regarding this would be really helpful.
Also find the screenshot from V3 & V4 below.
Note: As this was a feature in V3 i am raising this as a feature and not an issue. Please ignore if i have chosen a wrong section to post this issue.
Thanks
Kiran
### Screenshots
Bot V3

Bot V4

Unfortunately, there is not a style option to display the username for each activity in Web Chat v4; however you can use the activity middleware to render your own message bubbles that append the username. The code snippet below uses store middleware to mark which messages should display the username and the activity middleware to add the useraname above the message. Take a look at the Custom Redux Actions sample for more details on the store middleware and the Custom Reaction Buttons Sample to learn more about the activity middleware.
Web Chat v4
<!DOCTYPE html>

    <title>Web Chat</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

Screenshot

Changing labels to feature request.

Related to https://github.com/microsoft/BotFramework-WebChat/issues/1571

Thanks @tdurnford tdurnford will use the approach until the #1571 is released.


North American charger compatible with Josev?

Hello,
I am really interested in trying to deploy the community edition of Josev. I live in British Columbia Canada, is there any charging hardware I could deploy Josev to that is compatible with the North American standards?
Cheers,
Ross

Hi Ross,
For legal and technical reasons, we can't recommend any specific hardware to deploy josev community to, but here's a rough breakdown of the hardware you would need to run josev on your own device targeting AC charging:

an armv7, aarch64, or x86_64 single board computer
a power line connector (PLC) chip compatible with Home plug GreenPHY
controllable single or 3 phase AC high voltage electronics

Thanks for the quick response, are you aware of anyone that has deployed the community edition?


allow n plots to run before milestone, update config.yml

@ericaltendorf I've updated the PR.

thanks for the contribution!


[EOY] Artists List component

For each individual artist in the list we need:

[ ] Circular thumbnail
[ ] Name
[ ] Follow button (existing component)

@briansw Can you elaborate on how the sort order should be reflected? Is it left to right rows from top to bottom, or top to bottom columns from left to right?

Let's do left to right rows.


Rename RoutingContext to RouterContext?

Since we now export just a router to context, maybe the component should be named RouterContext, also seems like a good precedent when React context only allows one export to name the components that export a context to be named after the context.

:+1:

k, making a PR

Be careful, if you merge this to master, not everyone would have the new features, some one with the 1.0.1 (current) version will get mad reading the documentation ( like me :smile: ) because the RouteContext does not exits and then React will complain with a weird exception.

@XescuGC That's a good point, as we currently don't have a separate docs site (working on it! :smile:). We can probably do something similar to what kubernetes does, where they include a warning for all docs on master that links to the latest release branch. I don't know how they have that set up (presumably they have some sort of automation), but I can look into it.
For now, here's a link you can use: https://github.com/rackt/react-router/tree/v1.0.1/docs

FYI we always push a latest tag, I'm going to update the link on the README.md

And why not working with a branch 1.1 and merge the new code there until it can be merged to master and then create the tag 1.1. And if its a bug-fix just cherry-pick it.

The vast majority of repos keep bleeding-edge code in master and use tags for releases. That's how Github itself does it. Branches are normally used for features, not entire divergent lines of development. 1.1 won't last for long. We're about 75% done with it anyways :smile:

We might want to point rackt.github.io/react-router/ at the version-locked docs; that's pretty typical.
I took a stab at it on https://github.com/rackt/react-router/pull/2529, but it was premature then. Maybe it's the right move now, though, given that we do have API changes on master.

Ryan did that in 6cba3db already. We should just point at the latest tag, since that's maintained.

Ah, cool. Nice.

Yes, that's a good solution too Ryan :+1:


fix: Set allowDataCollection to false in cypress/__e2e__data.json

Description
I used the e2e.js script to set the settings.telemetry.allowDataCollection property false to in the cypress/__e2e__data.json to prevent the data collection dialog from interfering with the e2e tests.
Task Item
#minor

Coverage increased (+0.006%) to 54.647% when pulling 0675223b2a82c38fb650824a416f12fe20cc253c on tdurnford:fix/e2e into 2253f114a12c6332efcf2f1cba2c6faedd3d75dc on microsoft:main.


Not working with react-native 0.26

I have a very simple setup, installed vector icons (work great) but when trying to load modules from native-base:
import {Container, Header, Content, Footer, Title} from 'native-base';
I get an error

Requiring unknown module "react-native/Libraries/ReactNative/ReactNativePropRegistry".If you are sure the module is there, try restarting the packager or running "npm install"
At least for android not working

#26

RN 0.26 supported with latest update.


Unable to install latest version from PSGallery

I can not activate the below issue, creating a new issue to follow up on this.
Workaround is to unblock, but this needs to be fixed correctly,
https://github.com/PowerShell/PowerShellGet/issues/124

Thanks this issue should resolved in the latest version of PowerShellGet, released to mitigate this issue-- I will reopen if this reproduces with <IP_ADDRESS>?


There are no meta, mintable parameters ( EventCollectionFtIssued in tx-core-models.ts )

Default information

lbd-sdk-js version: e.g. 1.4.6

Description of the bug
When IssueFungible transaction event result below
{
"msgIndex": 0,
"contractId": "2d8be688",
"tokenType": "000003f3",
"name": "QAT",
"meta": "fungible/2d8be688",
"amount": "0",
"decimals": 0,
"issuerAddress": "link1z9x3cnadjdvxlrlyl9myrau2uxqrpd0hfwslu4",
"receiverAddress": "link1z9x3cnadjdvxlrlyl9myrau2uxqrpd0hfwslu4",
"mintable": true,
"eventName": "EventCollectionFtIssued"
}
If you see EventCollectionFtIssued class in tx-core-odels.ts,
There is no meta, mintable parameter
export class EventCollectionFtIssued implements TransactionEvent {
constructor(
readonly msgIndex: number,
readonly contractId: string,
readonly tokenType: string,
readonly name: string,
readonly amount: string,
readonly decimals: number = 0,
readonly issuerAddress: string,
readonly receiverAddress: string,
) {
}
eventName: string = "EventCollectionFtIssued";
}
Example codes
Please put the example code where you find the bug
Error logs
Please add error logs from the bug
Anything else we need to know

LGTM


Remove redundant application notes and clean up some wording

As discussed, any application notes that just say  "If X is selected then the selection-based SFR Y must be claimed." can be removed if the SFR text forces the ST author to include it.
Also cleans up some wording and makes the remaining "If X is selected then the selection-based SFR Y must be claimed" application notes consistent (there are still a couple left if it wasn't possible to force the selection in the SFR text).
Closes #367

Open question: there are some cases where the selection-based SFR itself actually back-references to the SFR that requires the selection. This again seems a bit redundant to me, and might cause consistency issues in the future. For example:

FDP_DAU.1.1/Prove must be claimed if-and-only-if [.underline]#Root of Trust for Measurement# and [.underline]#Root of Trust for Reporting# are both selected in FPT_ROT_EXT.1.1

For DSCs that permit factory reset functionality (as indicated by selection of [.underline]#factory reset the TOE wiping out all non-permanent SDEs and SDOs, as described by FDP_FRS_EXT.2# in FIA_AFL_EXT.1.3, or by [.underline]#no actions or conditions# NOT being selected in FDP_FRS_EXT.1.1), this SFR must be claimed.

This SFR is applicable only when the TSF's response to excessive authorization failures selects [.underline]#prevent all future authorization attempts indefinitely (i.e., lock), as described by FIA_AFL_EXT.2# as specified by FIA_AFL_EXT.1.3.

This SFR must be claimed if [.underline]#mutable# is selected in FPT_MFW_EXT.1.1.

This SFR must be claimed if [.underline]#CCMP# is selected in FTP_ITC_EXT.1.

This SFR must be claimed if [.underline]#GCMP# is selected in FTP_ITC_EXT.1.

...

I think those references can also be removed. I think those were mostly in the selection-based area to help understand where they would be used, but I don't think they are necessary, so I would also remove those.

@woodbe I removed the "simple" application notes that just said "This SFR must be claimed if X was selected in Z." I kept the ones that provided a little bit more context.


Color mode fix

Fix for the colors to be seen in normal mode, not as negative, when the images are obtained as result of the call
get_data(path+'train', (360,640))

@AMilkov This looks like a channel issue.  Could you edit this so it works with either Theano or TensorFlow?


Don't mark tk as broken on Darwin

I have been able to build Tk 9.0 just fine on my aarch64-darwin machine just now (not sure about the 8.5 version though).
Previous PR: #344852
cc @fgaz @agbrooks
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

@GrahamcOfBorg build tk-8_5 tk-9_0

We’ve fixed this for 24.11. The macOS 11 SDK bump is in staging for 25.05, so probably this PR will Just Work in a few weeks if merged as‐is.

We’ve fixed this for 24.11. The macOS 11 SDK bump is in staging for 25.05, so probably this PR will Just Work in a few weeks if merged as‐is.

the 9.0 will work but the 8.5 will still fail with a compile error -- due to typedefing ptrdiff_t to an int, which seems not worth fixing to me.


Fix typo

Initial checklist

[x] I read the support docs
[x] I read the contributing guide
[x] I agree to follow the code of conduct
[x] I searched issues and couldn’t find anything (or linked relevant results below)
[x] If applicable, I’ve added docs and tests

Description of changes
Fixed an example from the type definitions, which referred to a non-existent field.

Thanks! Good eye! 👀


Explicitly mention support for Container Instances

The support for container in Azure Managed Apps should explicitly list Azure Container and Azure WebApps as it is not clear that containers imply these Azure resources.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e56aece3-1ae7-9981-5a8e-f4f50e503784
Version Independent ID: 1d0da43a-723a-7e6a-e7eb-687d04b21057
Content: Plan an Azure managed application for an Azure application offer
Content Source: articles/marketplace/plan-azure-app-managed-app.md
Service: marketplace
Sub-service: partnercenter-marketplace-publisher
GitHub Login: @AarathiN
Microsoft Alias: aarathin

@code4clouds Thanks for the question! We are investigating and will update you shortly.

Assigning to document owner @keferna for visibility, review and document enhancement consideration as appropriate.


Documentation for ygg 2.0 outdated

Documentation in yggdrasil 2.0 still contains several references to yggdrasil 1.0 structure, to update

Corrected in 2.0.0-alpha.5


Build: Fix csharp version update in release.yml

This PR addresses the issue of using an outdated version in the C# release CI job by implementing the changes outlined below.
Before:

The actions/checkout@v3 action was set to use the default branch that triggered the workflow. I believe this was the root cause of the issue, as this branch (main-dev) had an outdated VERSION file.
Version information was manually extracted from the VERSION file.

After:

Specified the main branch for actions/checkout@v3 to ensure the use of project files updated by semantic-release.
The CI job now relies on the updated version in nuget-package.props, which is set by update_version.sh. Manual extraction from the VERSION file has been eliminated.

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


Metric collection and reporting functionality for Bundler (refactored)

This work has been done as part of Google Summer of Code 2019
This is a metric reporting system for Bundler, the backend API that will collect and instrument some of the metrics in rubygems.org is here
This PR is for the the purpose of getting feedback (and the metrics are still being sent to localhost for testing purposes).
This project has been mentored by @indirect

This is the refactored version of this PR, where Bundler::Metrics is now a module rather than a class.

Added functionality:
Metrics collection:
For all commands- the following are appended into ~/.bundle/metrics.yml:
Command used
Options if specified
Time taken to fully execute for commands that don't kill Bundler
Time taken to start executing for commands that do
Timestamp
For install/outdated/package/update/pristine- record the following system info and send it to the server, along with all the metrics collected so far in metrics.yml, then truncate the file:
The prior, and-
A randomized hex ID
Remote git repository (hashed)
git version
rvm version
rbenv version
chruby version
Host system details
Ruby version
Bundler version
Rubygems version
Ruby engine
CI’s
Extra user agent strings
Gemfile gem count
Actually installed gem count
git gem count
Path gem count
Gem source count
List of gem sources (hashed)
When gems are downloaded- also appends:
Gem download time
When gems are installed- also appends:
Gem installation time
When a gemfile is resolved- also appends:
Gemfile resolve time.
When an installation fails- appends the regular command metrics, and:
Name and version of the gem that failed to install
Opt out and in to metric collection
Opt out:
bundle config set disable_metrics true allows the user to opt out of metrics collection
Deletes the metrics.yml file and doesn't collect any farther metrics.
Also skips all added metric functionality when running Bundler.
Opt in:
bundle config set disable_metrics false allows the user to opt back in to metric collection.
Default:
When no disable_metrics value is found in the global config file (or the file doesn't exist), Bundler behaves as if disable_metrics is false.
All added functionality has passed (including the added tests) the tests locally on my system.

see https://github.com/bundler/bundler/pull/7298#issuecomment-521976632


Robot.api call to tags.populate() generates deprecation warning for using [Tags] multiple times.

First, I'm sorry if this is a duplicate.  I searched but didn't find this logged yet.
Second, hopefully this isn't PEBCAB (problem exists between chair and keyboard).
I have a script that is trying to update test data (source files) with new tags and when I call tags.populate() I get the warning about not using the [Tags] setting multiple times.  I know this usage is deprecated and when manually creating files we can avoid it, however, I don't have control of how this function call adds the tags and so this feels like a robot.api bug.  Here's my script:
`
from robot.api import TestData
def main():
'''Must run in same directory as "test_suite_file.txt"
'''
testdata = TestData(source="test_suite_file.txt")
testdata.testcase_table.tests[0].tags.populate(["tag2"])
testdata.save()

if name == 'main':
main()
`
test_suite_file.txt looks like this to start with:
*** Test Cases *** test_1     [Tags]    tag1     Log    Test!
Run the script in the same directory as the test suite and it should print the deprecation warning.  I'm using Robot Framework 2.9.2.
Please let me know if more info is needed.

The code syntax above isn't formatting correctly for me but I think you can tell what's going on.  The test suite data is actually on separate lines despite how it is shown.

The error is there to detect invalid test data like this:
*** Test Cases ***
Example
    [Tags]    my    tags
    [Tags]    this is not valid
    ...

The parsing API generally isn't meant to be used programmatically, so there can be rough edges like this. I guess we could try fixing this, but I'd rather rewrite the whole parsing logic at some point. Have you looked could the problem be easily fixed or did you find any other API to modify tags? Also, modifying tags could possibly be a useful feature to the built-in Tidy tool.

This issue isn't valid anymore after the new parser (#3076) is taken into use.


Change Bind IP address

Tried changing bind localhost:11434 to IP:11434 to server requests from Ollama WEBUI running on a separate docker host

unable to change bind localhost:11434 to IP:11434 to server requests from Ollama WEBUI running on a separate docker host

Hi there, if you're looking to expose Ollama on the network, make sure to use OLLAMA_HOST=<IP_ADDRESS>:11434 or similar. Let me know if this doesn't help!

I did this, but it did not work for me. I added OLLAMA_HOST=<IP_ADDRESS>:11434 to config file by using systemctl edit ollama.service. I still cannot access to it with the private ip (i.e. <IP_ADDRESS>). <IP_ADDRESS> and <IP_ADDRESS> returns "ollama is running". What am I doing wrong?

I'm having the same issue here - It's working fine locally (localhost/<IP_ADDRESS>), but I cannot figure out how to bind it to 192.168.x.x IP address for accessing it within the local network.


Link logged in user to database operations

placeholder for 'createdBy' in discussions generated. Needs implementation but first requires login fix

@suvya is on this

@chrismclarke Can you please provide more details on this enhancement and also I read that it requires a login fix, Please help me understand if I have to address it first?

Hi @suvya, this isn't a good issue to pick up and hence why it has not been marked with the good first issue or help wanted tags. It is minor and I plan to do it myself. It is simply to add to the existing database functions to populate the user id on creation of new database objects (basically one line of code), so really not worth worrying too much about

fixed, will merge with user-profiles module


Bug -- categories are not loaded for many libraries

See if there is something wrong in the load script.

@4down @sdarwin @frankwiles After we discovered that many libraries in the preview site don't have categories, I took a look, and it looks like the preview site doesn't have all of the categories. I suspect the initial command to load the database was interrupted and didn't finish.
To make it easier to refresh this data, I added a button to the admin (like the one we have to import new releases). Once this PR is merged, follow the instructions in the PR (which are basically to click the button), and the problem should be fixed.
https://github.com/cppalliance/temp-site/pull/818

basically to click the button

Done. Categories have updated.


CORE-9335 Avro messages for ledger transaction contracts verification

Avro messages for ledger transaction contracts verification

Is the . intentional in the directories?

Is the . intentional in the directories?

It was mistake, fixed now


bgp-cp: use CiliumNode object

This commit moves from using the Node object in favor of the CiliumNode
object for accessing PodCIDRs.
This change means we will correctly advertise custom PodCIDRs ranges
configured via Cilium's own IPAM functionality.
When Cilium's IPAM is not in use these modified fields will still
contain the default PodCIDR range Kubernetes configured.
Signed-off-by: Louis DeLosSantos<EMAIL_ADDRESS>Move the BGP Control Plane to utilize CiliumNode objects. This enable support for IPAM driven PodCIDR announcements.

When Cilium's IPAM is not in use these modified fields will still contain the default PodCIDR range Kubernetes configured.

Note: This is not the case right now and I don't see any code in this PR which seems to change that?

I misunderstood my initial conversation with @gandro about this because of lack of coffee. now fully caffeinated we discussed how this should actually work. Placing into draft for now until its implemented.

@christarazi I'm resolving previous comments, as the entire history you commented on has been dumped.

@gandro let me know your opinion on this. Essentially, I just interface-out the details about grabbing NodeSpec info, so my code doesnt need to be concerned about the Cilium/KubernetesNode differences.
The functions do a client lookup, however the lookup is backed by a SharedInformer which performs in-memory and indexed lookups, so we don't make API calls everytime we want to lookup the Node's labels for example.

ConformanceKind1.19 failure is https://github.com/cilium/cilium/issues/20034

GKE-stable failure unrelated. Marking as ready to merge.


fix(integration_tests): use timestamptz for MySQL, TiDB, Doris, StarRocks and ClickHouse

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Sequel to #13616.
Note the tests have been updated to reflect the expected behavior, but the actual implementation in kernel might be wrong.
In short:

PG/RW timestamptz ~ MySQL/TiDB timestamp ~ ClickHouse DateTime/DateTime64
PG/RW timestamp ~ MySQL/TiDB datetime ~ Doris/StarRocks datetime

Changes made:

mysql-sink

old: rw TIMESTAMP -> mysql TIMESTAMP -> rw TIMESTAMPTZ
new: rw TIMESTAMP -> mysql DATETIME -> rw TIMESTAMP and rw TIMESTAMPTZ -> mysql TIMESTAMP -> rw TIMESTAMPTZ

tidb-cdc-sink

old: tidb timestamp -> rw timestamp -> tidb timestamp
new: tidb timestamp -> rw timestamptz -> tidb timestamp

doris-sink / starrocks-sink

old: rw timestamp -> datetime
new: rw timestamptz AT TIME ZONE -> datetime

clickhouse-sink

old: rw timestamp -> ch DateTime64
new: rw timestamptz -> ch DateTime64

https://dev.mysql.com/doc/refman/8.0/en/datetime.html
https://docs.pingcap.com/tidb/stable/data-type-date-and-time

The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD hh:mm:ss' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.
The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.
MySQL converts TIMESTAMP values from the current time zone to UTC for storage, and back from UTC to the current time zone for retrieval. (This does not occur for other types such as DATETIME.)
In MySQL 8.0.19 and later, you can specify a time zone offset when inserting a TIMESTAMP or DATETIME value into a table.
When TIMESTAMP is to be stored, TiDB converts the TIMESTAMP value from the current time zone to UTC time zone. When TIMESTAMP is to be retrieved, TiDB converts the stored TIMESTAMP value from UTC time zone to the current time zone (Note: DATETIME is not handled in this way).

https://doris.apache.org/docs/dev/advanced/time-zone/
https://docs.starrocks.io/en-us/2.4/administration/timezone

nor does it affect the display of values stored as DATE/DATETIME type.
Functions affected by time zone:

FROM_UNIXTIME: Given a UTC timestamp, return the date and time of the specified time zone, such as FROM_UNIXTIME(0), return the CST time zone: 1970-01-01 08:00:00.
UNIX_TIMESTAMP: Given a specified time zone date and time, return UTC timestamp, such as CST time zone UNIX_TIMESTAMP('1970-01-01 08:00:00'), return 0.
CURTIME: Returns the datetime of specified time zone.
NOW: Returns the specified date and time of specified time zone.

https://clickhouse.com/docs/en/sql-reference/data-types/datetime64

Internally, stores data as a number of ‘ticks’ since epoch start (1970-01-01 00:00:00 UTC) as Int64.

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[x] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

https://buildkite.com/risingwavelabs/integration-tests/builds/367
Failed: MySQL, TiDB, ClickHouse
Not in tests: Doris, StarRocks


Implement litmus-experiment to inject chaos into openebs-provisioner deployment.

Description:

The litmus-experiment should be capable of killing/injecting the openebs-provisioner pod and measure the behaviour.
The inputs such as namespace, pod label should be obtained as litmus pod's env.
It should validate if the pod get scheduled again and be able to serve the requests.
Should follow the general naming conventions for litmus jobs and test file names.

Follow general PR convention ,
https://github.com/openebs/litmus/blob/master/CONTRIBUTING.md

The OpenEBS litmusbooks will be developed & maintained at https://github.com/mayadata-io/litmus


#148: add query param respondentId to surveyresponses/results

SurveyResponseControllerIntegrationTest that you created cause all RespondentDataControllerIntegrationTest to fail because of database conflict. New tests create data in option_selection table and the existing ones do sth like surveyRepository.deleteAll(). And it creates a conflict because cascade deleting is not set properly. But i guess it is a good thing that database does not allow to delete survey when some responses to it exist.


[docker-image] Adds a Docker image for distribution

Adds a Docker image for distribution of sriov CNI
binary in a Docker image.

@zshi-redhat Can maintain the docker image official in the nfvpe dockerhub ?

@zshi-redhat Can maintain the docker image officially in the nfvpe dockerhub ?

Sure, will do.


As a provider how do I get an on_action call during integration?

HCX team has developed a Mock Server which can be used by integrators to mock other parties. Providers can use the Mock server Payor URI and Payors can use the mock server Provider URI for integration
Providers can use  recipient code as  "1-29482df3-e875-45ef-a4e9-592b6f565782" to receive an on_action call from the Mock server payor.
Payors can use recipient code as “1-521eaec7-8cb9-4b6c-8b4e-4dba300af6f4” to send an on_action call to the HCX


ERROR in AppModule is not an NgModule

Hi, I got this weird error right after running ng serve
ERROR in AppModule is not an NgModule ERROR in ./src/main.ts Module build failed: TypeError: Cannot read property 'newLine' of undefined     at Object.getNewLineCharacter (C:\Users\aloua\Documents\AngularApps\ChoufTvPlus-Front\Angular2_CLI_Starter\node_modules\typescript\lib\typescript.js:9420:20)     at Object.createCompilerHost (C:\Users\aloua\Documents\AngularApps\ChoufTvPlus-Front\Angular2_CLI_Starter\node_modules\typescript\lib\typescript.js:62469:26)     at Object.ngcLoader (C:\Users\aloua\Documents\AngularApps\ChoufTvPlus-Front\Angular2_CLI_Starter\node_modules\@ngtools\webpack\src\loader.js:341:33)  @ multi webpack-dev-server/client?http://localhost:4200/ ./src/main.ts
Any help is appreciated

After installing<EMAIL_ADDRESS>version everything was fixed
Closing now, I hope it helps someone facing the same issue
Cheers


yr_rules_load_stream returns corrupt stream after requesting 4GB arena chunks

On ubuntu 20.04 with yara-python 4.0.5 this rule compiles in python but isn't loading into the C-api.
I believe this may be an issue for the the 4.0 series, prior working library was 3.9.0 from the ubuntu repos
on a clean system with only the 4.0 yara installed I generate the compiled rule in python like this:
source="""
rule example
{
	strings:
		$c = {6c 6f 20 77 6f 72} //"lo wor"
	condition:
		any of them
}
"""

can save and load from within python without issue
compiled_rule = yara.compile(source=source)
compiled_binary_rule = io.BytesIO()
encoded = b64encode(compiled_binary_rule.getvalue())  # take this over to C lib
decoded = b64decode(encoded)
reloadable_rule = io.BytesIO()
reloadable_rule.write(decoded)  # correctly writes 4675 bytes (same as C program)
reloadable_rule.seek(0)
loaded_rule = yara.load(file=reloadable_rule)
loaded_rule.match(data="hello world")  # returns [example]

base64 encoded rule binary is this, decode it in memory of the C program for 4675 bytes
[encoded data, 6236 characters]

I take that blob over to the C api on the same system with 4.0.5 libyara
error = yr_rules_load_stream(&stream, &op->compare.rules);

1st YR_STREAM->read() call requests size 6 and elements 1 - exhausted total 6 bytes of 4675 bytes input data
which looks correct from here https://github.com/VirusTotal/yara/blob/master/libyara/arena.c#L530-L545
2nd YR_STREAM->read() call requests size 12 and elements 12 - exhausted total 150 bytes of  4675 bytes input data
which looks correct from https://github.com/VirusTotal/yara/blob/master/libyara/arena.c#L547-L551
3rd  YR_STREAM->read() call requests size 16 and elements 1 - exhausted total 166 bytes of  4675 bytes input data
debugger says I'm supposed to be looping here 12 times  https://github.com/VirusTotal/yara/blob/master/libyara/arena.c#L570
4th  YR_STREAM->read() call requests size 24, elements 1 - exhausted total 190 bytes of  4675 bytes input data
5th  YR_STREAM->read() call requests size 47, elements 1 - exhausted total 237 bytes of  4675 bytes input data
6th YR_STREAM->read() call requests size 2048, elements 1 - exhausted total 2285 bytes of  4675 bytes input data
7th  YR_STREAM->read() call requests size 40, elements 1 - exhausted total 2325 bytes of  4675 bytes input data
8th YR_STREAM->read() call requests size<PHONE_NUMBER>, elements 1- returned all remaining 2350 bytes, 1 element
9th YR_STREAM->read() call requests size<PHONE_NUMBER>, elements 1 - returned 0 indicating no more elements to read
which is returning ERROR_CORRUPT_FILE
https://github.com/VirusTotal/yara/blob/master/libyara/arena.c#L573
More Debugging
in this for loop
https://github.com/VirusTotal/yara/blob/master/libyara/arena.c#L559-L560
buffer[0] = {.offset=150, .size=16}
buffer[1] = {.offset=262, .size=0}  // continues
buffer[2] = {.offset=318, .size=24}
buffer[3] = {.offset=368, .size=47}
buffer[4] = {.offset=415, .size=2048}
buffer[5] = {.offset=4511, .size=40}
buffer[6] = {.offset=5, .size=0}  // continues
buffer[7] = {.offset=34359738373, .size=4294967295}
buffer[8] = {.offset=3, .size=0}  // continues
buffer[9] = {.offset=18085043209519168250, .size=4210752250} // returns  `ERROR_CORRUPT_FILE` because expected to read 1 segment

running out of ideas

d'oh
nvm, that one is on me


Respect existing config.php and local.php

Apigility should write to its own config files rather than rewriting existing files.
We've had to move the application's config out of global.php and into app.global.php because Apigility kept messing it up each time a change was made in the admin ui.
Eg. closures would break, and constants were being replaced with their values.

This is just my opinion, not that of Apigility.
You should never use closures in your config files and you should never use constants outside very specific-use classes.
The problems you listed are not because Apigility uses the expected global.php file and it doesn't modify the local.php file.  These problems are because you're using config files wrong.
For anything which requires a fixture put it in the service manager config of the module.  For anything that requires a constant drag the developer out by his hair.

local.php was modified to include zf-mvc-auth.
I agree that closures are not the best in config files (eg, breaks caching the merged file), so we're converting those into factories.
I completely disagree with your opinion of constants.
Which would you rather see?
'error_reporting' => 32767,
...
'driver_options' => array(
    1002 => 'SET NAMES \'UTF8\''
),
...
'curloptions' => array(
    64 => true,
),

or:
'error_reporting' => E_ALL,
...
'driver_options' => array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
...
'curloptions' => array(
    CURLOPT_SSL_VERIFYPEER => true,
),

$serviceManager->get('doctrine.entitymanager.orm_default');

For error reporting that should be a function in local.php set_error_reporting and it should use the PHP E_ALL constant.  My previous comment I hope shows my ignorance of PDO.  I think you have a point about Apigility changing local.php.

This repository has been closed and moved to laminas-api-tools/api-tools; a new issue has been opened at https://github.com/laminas-api-tools/api-tools/issues/25.


Google takeout

Adds reader for location data from Google takeout

Needs a method for extracting and storing only the necessary data. Probably by the classes of data defined by Google and a time frame. Storing all the data would rarely be justified.

Formatting columns location columns not done

Google Fit data is probably good

Check other data and keep what might be useful

Codecov Report
Attention: 14 lines in your changes are missing coverage. Please review.

Comparison is base (695aff8) 84.90% compared to head (4fa4d47) 84.86%.
Report is 3 commits behind head on master.

Files
Patch %
Lines

niimpy/reading/google_takeout.py
76.47%
12 Missing :warning:

niimpy/reading/mhealth.py
92.30%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #302      +/-   ##
==========================================
- Coverage   84.90%   84.86%   -0.04%
==========================================
  Files          49       51       +2
  Lines        3213     3284      +71
==========================================
+ Hits         2728     2787      +59
- Misses        485      497      +12

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

Check if the builtin mailbox module can replace the mailbox reader easily.

Look at google chat, similar to email


clevis: 20 -> 21

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/latchset/clevis/releases.
meta.description for clevis is: Automated Encryption Framework
meta.homepage for clevis is: https://github.com/latchset/clevis
meta.changelog for clevis is: https://github.com/latchset/clevis/releases/tag/v21
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS

[!CAUTION]
A test defined in passthru.tests did not pass.

found 21 in filename of file in /nix/store/xpdchbws49nfkcg96wscbgwjfmpjq8ci-clevis-21

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

clevis

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/xpdchbws49nfkcg96wscbgwjfmpjq8ci-clevis-21 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A clevis https://github.com/r-ryantm/nixpkgs/archive/7c276942164e7ef7e1e661edf627de3c10c0fc79.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/7c276942164e7ef7e1e661edf627de3c10c0fc79#clevis

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/xpdchbws49nfkcg96wscbgwjfmpjq8ci-clevis-21
ls -la /nix/store/xpdchbws49nfkcg96wscbgwjfmpjq8ci-clevis-21/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 2 packages built:

clevis
clevis.man

Maintainer pings
cc @AndersonTorres for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

Very interested in this update due to the following change in clevis:

[EXPERIMENTAL] Add PKCS#11 pin basic functionality

The tests are bugged?


export command improvements

export should also:

[ ] export ipfs responses for each package
[ ] export data stored in leveldb
[x] have some tests
[x] output CID v1 root

Hey.. Im a girly guy..  I wear girl clothes paint my nails hit me up<PHONE_NUMBER>
<EMAIL_ADDRESS>


Verbose error logging for finickey endpoint

We're having this recurring problem in breeze where general-info doesn't return but doesn't give us enough info back to t'shoot. An Explicit stack trace will give some more details as .ToString must be overwritten by the lib

Agree with the change of error type (you need to fix a test), and for the stack trace in the logs.
But for the message returned to the caller, I think it's better to have the ToString method as the stackTrace might be too long and not very digestable by the front-end.

Good stuff 😄


Update the game over message

Update the game over message to people

Update the game over message to people


fix cfg and add gt

 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.zhaoyian seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


tm669 backend onboarding

Summary
I finished the four tasks within backend onboarding.
Testing
I tested it with the given commands.

Great work on backend onboarding!


[WIP] Add watcher support for KDD CRD backed resources

Description
A few sentences describing the overall goals of the pull request's commits.
Please include

the type of fix - (e.g. bug fix, new feature, documentation)
some details on why this PR should be merged
the details of the testing you've done on it (both manual and automated)
which components are affected by this PR
links to issues that this PR addresses

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

I think this should be closed in favor of #587


Update 01-high-level-computation-patterns.ipynb

Updated to suit depreciation warning from Pandas 2 date parameter change from M to ME

Thanks @nameloCmaS ! cross referencing https://github.com/pydata/xarray/issues/8612


Moved to the re-branded package, dropped net31

moved away from the deprecated packages
net31 is EOL -> dropped

Thanks for the PR @petrsvihlik . I wasn't aware of this update in the SDK. I'm reviewing and testing this now.

Thanks 😉


Allow setting args per input

This PR makes it possible to provide args for each separate input. The rationale behind this is that there are certain args that apply to an input, and must be set before that input. An exampe of this is itsoffset, which sets the input time for the offset.

Thanks for the pull request!
I see this is a quick fix to the issue, but I think it makes more sense to add a new FFmpegInputBuilder, which is returned from a addInput(..) call, similar to how addOutput(..) works. That would allow the InputBuilder to support additional options, validate them, etc.

Yes I agree. I thought about that too, but opted for the quickie ;-) I'll give it a go and submit a pr again.

Thanks, I appreciate it. Also if you can ensure it works in a backwards compatible way that'll be best. Oh and please write tests :) Thanks!

Will certainly do! This was just something to start the discussion, as the
tests are not even passing ;)
On Wed, 16 Nov 2016 at 23:25, Andrew Brampton<EMAIL_ADDRESS>wrote:

Thanks, I appreciate it. Also if you can ensure it works in a backwards
compatible way that'll be best. Oh and please write tests :) Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bramp/ffmpeg-cli-wrapper/pull/75#issuecomment-261092299,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAwKTZOucfqgDuNaNVTxwgAcDvSVOIRCks5q-4LJgaJpZM4K0SjT
.

@bramp There are modifiers common to input/output. Have you considered creating an abstract FFmpegFileBuilder? Also, have you identified which are input-only? From this page I have identified this
-f fmt (input/output)
-i filename (input)
-stream_loop number (input)
-c[:stream_specifier] codec (input/output,per-stream)
-codec[:stream_specifier] codec (input/output,per-stream)
-t duration (input/output)
-ss position (input/output)
-sseof position (input/output)
-itsoffset offset (input)-pix_fmt[:stream_specifier] format (input/output,per-stream)
-sws_flags flags (input/output)
-hwaccel_device[:stream_specifier] hwaccel_device (input,per-stream)
-ar[:stream_specifier] freq (input/output,per-stream)
-ac[:stream_specifier] channels (input/output,per-stream)
-acodec codec (input/output)
-guess_layout_max channels (input,per-stream)
-scodec codec (input/output)
-re (input)
-muxdelay seconds (input)
-muxpreload seconds (input)
-accurate_seek (input)
-seek_timestamp (input)
-thread_queue_size size (input)
-discard (input)

It had occurred to me there was a lot of overlap between input and output. I would +1 some kind of shared class.
I don't have a full list of what parameters are valid input and output. I just check the same doc you are looking at. In fact, I had also thought about some way to scrap the official docs (or execute ffmpeg -h), and to automate the generation of the builder.

That would be great. Can give you a hand with that if you decide to go that way. In the meantime, I'll try with the common builder and so on.

I would absolutely lend a hand, however, I tend to work on this project in bursts (at weekends when I get time). If you have a specific design, etc, then I'll happily review. For now I don't have time to contribute anything more substantial.

@bramp I've created an AbstractFFmpegStreamBuilder from which to extend builders for both input and output streams. I'll try to come up with the common set of properties that both have, but would probably need some assessment on that list. So far, I've identified these that are common
  /**
   * -f fmt (input/output) -c[:stream_specifier] codec (input/output,per-stream)
   * -codec[:stream_specifier] codec (input/output,per-stream) -t duration (input/output) -ss
   * position (input/output) -sseof position (input/output) -itsoffset offset
   * (input)-pix_fmt[:stream_specifier] format (input/output,per-stream) -sws_flags flags
   * (input/output)
   *
   * -ar[:stream_specifier] freq (input/output,per-stream) -ac[:stream_specifier] channels
   * (input/output,per-stream) -acodec codec (input/output) -scodec codec (input/output)
   */

and these will end up in the input builder
  /**
   *
   * -re (input)
   * -muxdelay seconds (input)
   * -muxpreload seconds (input)
   * -accurate_seek (input)
   * -seek_timestamp (input)
   * -thread_queue_size size (input)
   * -discard (input)
   * -guess_layout_max channels (input,per-stream)
   * -hwaccel_device[:stream_specifier] hwaccel_device (input,per-stream)
   * -i filename (input)
   * -stream_loop number (input)
   */

Coverage decreased (-0.3%) to 81.924% when pulling 17a08ff72aabb88600a1e3759119a619e869eef5 on igracia:master into be6fbe834fdefa1d807da1a47f8578647094b760 on bramp:master.

Coverage decreased (-0.3%) to 81.924% when pulling 17a08ff72aabb88600a1e3759119a619e869eef5 on igracia:master into be6fbe834fdefa1d807da1a47f8578647094b760 on bramp:master.

Coverage decreased (-0.5%) to 81.785% when pulling 10c30f4321dcfa2021c2a9e2b2700502562d37da on igracia:master into be6fbe834fdefa1d807da1a47f8578647094b760 on bramp:master.

Moved all the output params out of the abstract builder. Will start with the input tomorrow! I won't be able to get all of them, but I'll try to include as many as possible.
Code coverage has also decreased. I'll fix that after putting the input builder.

Coverage decreased (-0.5%) to 81.785% when pulling 26282835ae9d5164bf1557ef9310c6123d5b8b54 on igracia:master into be6fbe834fdefa1d807da1a47f8578647094b760 on bramp:master.

Coverage decreased (-0.5%) to 81.785% when pulling 26282835ae9d5164bf1557ef9310c6123d5b8b54 on igracia:master into be6fbe834fdefa1d807da1a47f8578647094b760 on bramp:master.

Sorry I've been slow to review. Is this read for merging?

Not yet. I still have to finish the implementation of the FFmpegInputBuilder. It would be great if you could review the checks that are not passing.

@bramp It's almost impossible to rebase this to current changes. I'll keep trying, but I don't think I can do that at the same pace as you are adding new things. Could it be possible to merge this in two steps?

Sorry, I made some large changes of the last week. Happy to accept in smaller patches, but would like to keep the library compiling and passing tests as much as possible between commits.

Coverage increased (+0.04%) to 81.593% when pulling ee4cba2cd23dfd078fec3024970a6a391e903ff5 on igracia:master into a972ef615e77f53cd7844e32179a2d807146b67e on bramp:master.

@bramp Just redid the whole thing, without the input builder yet. I guess it would be good to merge this patch now so further changes can go in the right place.

Coverage increased (+0.04%) to 81.593% when pulling c51afb820f1a33200105401b1cf0241921ae0f37 on igracia:master into a972ef615e77f53cd7844e32179a2d807146b67e on bramp:master.

Coverage increased (+0.04%) to 81.593% when pulling c51afb820f1a33200105401b1cf0241921ae0f37 on igracia:master into a972ef615e77f53cd7844e32179a2d807146b67e on bramp:master.

@bramp could you take a look at this yesterday? I'd like to get started with another PR related to #81, and it would be great if I can do that over this patch.

I've reviewed it again, and it looks good.. I like that you split out the addVideoArgs, addAudioArgs. It looks like all tests continue to pass so that's good.

Thanks! I figured it would provide a cleaner build implementation.
I'll get back to the input builder as soon as I can.

Hey @igracia any follow up on the InputBuilder?

Sorry for the delay @bramp!  I should resume the builder stuff in some weeks.


Mapped drive reference broken

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
PS H:> $executionContext.SessionState.Path.CurrentLocation.Drive
Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
H             2805267.99    1702906.76 FileSystem    System.Span<UInt16>[0] {broken value}
QASFPPISMA2 System.Span[0] - Tue 21 Nov 2023 17:41:20
PS H:> net use h:
Local name        H:
Remote name       \CSAFSUSERS1\GlobalUsers\KokerT {used to show this}
Resource type     Disk
Status            OK
# Opens           3
# Connections     1
The command completed successfully.
QASFPPISMA2 System.Span<UInt16>[0] - Tue 21 Nov 2023 17:41:55
Expected behavior
\CSAFSUSERS1\GlobalUsers\KokerT {used to show this}

Actual behavior
System.Span\<UInt16\>[0] {broken value}

Error details
n/a

Environment data
PS H:\> $PSVersionTable

Name                           Value
\----                           \-----
PSVersion                      7.4.0
PSEdition                      Core
GitCommitId                    7.4.0
OS                             Microsoft Windows 6.3.9600
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

QASFPPISMA2 System.Span\<UInt16\>[0] - Tue 21 Nov 2023 18:04:20

Visuals

See also:

#19903