1.0 beta prompt incorrect with conemu

Because of the ssh-agent/windows update problems, I've updated to 1.0.0 beta posh-git but that seems to break the prompt integration with conemu (technically, cmder version 1.3.6 which uses conemu 180528).
The git part is placed at the end (after lambda sign in the second line) instead of after the direcotry in the first line (as it was with 0.7.3)

Interesting, I wouldn't expect the console host to have any impact, assuming it's correctly handling ANSI control sequences. Can you share a screenshot, or text that demonstrates what's happening? Are you customizing $GitPromptSettings at all?

Or are you using oh-my-posh?

using just posh-git, no customizations on the $GitPromptSettings. I should be able to share a screenshot around monday.

Can you post the output you get from running $PoshGitLastPrompt?

Does $GitPromptSettings.AnsiConsole return false? Try setting $GitPromptSettings.AnsiConsole = $true.

FYI, we do check a ConEmu-specific environment variable for determining ANSI support: https://github.com/dahlbyk/posh-git/blob/dcb96a4dfce1c0f4fc1af1670e50b03f9bc1b080/src/PoshGitTypes.ps1

I have to disagree.  This broke how many of us in the community use it in conjunction with conemu because you completely destroyed backward compatibility from .73 to v1.0.  Anything we had in our profiles and prompts broke, and as a DEV myself for the life of me, I'm still trying to figure out why you went in that direction.
For instance, in .73 there was an actual example including various functions (like setting console titlebar for git etc.).  In version 1.0, however, you've now removed the example.ps1 for the profile and literally more than QUADRUPLED your lines of code to over 174 lines of code+text for a function named "Add-PoshGitToProfile" that literally does exactly what this SINGLE LINE of code does, no more - no less:
if ((Test-Path -LiteralPath $profilePath) -and ((Get-AuthenticodeSignature $profilePath).SignerCertificate) -and (!((@(Get-Content $profilePath -ErrorAction SilentlyContinue) -match 'posh-git').Count -gt 0))) { Add-Content -LiteralPath $profilePath -Value "`nImport-Module '$modulePath'" -Encoding UTF8}

It seems the profile addition functions/example in v1 now boils down (and is very limited to) "add import-module to your profile"...which also could have at that point probably even been left out of the code and mentioned in the readme. :)
So my question is, are we really saying in today's age of PoSH that the future direction of v1.0 can't at least continue to provide the handful of really useful services that were present in v7.3 and prior?  And if not, can I ask why and what the show-stopping hurdles are, so perhaps we can contribute solutions to help?

I have to disagree.

What exactly in this issue are you disagreeing with?  Also, Add-PoshGitToProfile was added in v0.7x, not v1.

can't at least continue to provide the handful of really useful services that were present in v7.3 and prior?

Which services (commands) are you referring to?  We've mostly added functionality in v1:

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Add-PoshGitToProfile                               <IP_ADDRESS>    posh-git
Function        Expand-GitCommand                                  <IP_ADDRESS>    posh-git
Function        Format-GitBranchName                               <IP_ADDRESS>    posh-git
Function        Get-GitBranchStatusColor                           <IP_ADDRESS>    posh-git
Function        Get-GitDirectory                                   <IP_ADDRESS>    posh-git
Function        Get-GitStatus                                      <IP_ADDRESS>    posh-git
Function        Get-PromptConnectionInfo                           <IP_ADDRESS>    posh-git
Function        Get-PromptPath                                     <IP_ADDRESS>    posh-git
Function        prompt                                             <IP_ADDRESS>    posh-git
Function        TabExpansion                                       <IP_ADDRESS>    posh-git
Function        tgit                                               <IP_ADDRESS>    posh-git
Function        Update-AllBranches                                 <IP_ADDRESS>    posh-git
Function        Write-GitBranchName                                <IP_ADDRESS>    posh-git
Function        Write-GitBranchStatus                              <IP_ADDRESS>    posh-git
Function        Write-GitIndexStatus                               <IP_ADDRESS>    posh-git
Function        Write-GitStashCount                                <IP_ADDRESS>    posh-git
Function        Write-GitStatus                                    <IP_ADDRESS>    posh-git
Function        Write-GitWorkingDirStatus                          <IP_ADDRESS>    posh-git
Function        Write-GitWorkingDirStatusSummary                   <IP_ADDRESS>    posh-git
Function        Write-Prompt                                       <IP_ADDRESS>    posh-git
Function        Write-VcsStatus                                    <IP_ADDRESS>    posh-git

The big exception is the removal of the ssh functionality to the new posh-sshell module.

Well, if I do nothing else but upgrade from .73 to v1 like the OP above, and from the old profile example had this in my profile after of course a simple load of the module:
$Global:GitPromptSettings.EnableWindowTitle = "posh~git ~ <$SessionTitleName>"

....DO SOME OTHER LOADING.....

Start-SshAgent -Quiet

I am greeted with (mind you this is simply the removal of that method being populated by default and nothing to do with conemu) when the ONLY thing I changed was having ONLY 0.7.3 installed/loading on first screenshot, and simply upgraded it to either published 1.0.0.beta2, or even unzipped current Sept 15th build as screenshot #2 here:
Version 0.7.3:

Version 1.0.0.beta2 (either PSGallery or Github 9/15/2018)

As you can see, the screen turns red with this dumbed-down profile with any/all the SSHd commands prior to v1 no longer functioning at all, but things like the EnableWindowTitle not being properly initialized any longer and throwing errors.
I can also demonstrate loading the default Posh console without any profile at all, loading only psreadline v2 and posh-git beta v1.0, and issuing the same commands as in this screenshot and still receiving the same glaring terminating errors so it is easily reproducible and not in the way I am calling it which was originally straight out of the provided example profile info.  And since these errors are present when run in a straight Posh console without conemu even in the picture, so the conemu issue are simply snowballing from here.
Again, my point was not to upset you I was just trying to approach it logically that if you can afford to write and add almost 200 lines of text that is not "reusable" in any way and is hard-coded for a single purpose of adding a single hard-coded line of text (import-module posh-git) into the users' profile, then with that throughput it might not be unrealistic to think we could maybe find some ways to guard against breaking the users' of this module's profiles a little bit better and address these reproducible issues that tend to be a real PITA when they pop up after a simple "update-module". :)

my point was not to upset you

No worries and I'm not upset at all.  Was just trying to figure out what you disagreed with.  :-)
We plan to keep v0.7x around for a while so you don't have to upgrade to v1.  Typically the nature of a major version change is indicative of one or more breaking changes.  In order to do the following, it was necessary to make some breaking changes:

Support Windows 10 new ANSI seq in the update console host.  This allows you to use 24 bit colors in your prompt.
Support PowerShell Core on all the platforms it supports.
Separate out the SSH functionality into its own module because the two sets of code are largely orthogonal.
Reorganize the GitPromptSettings to be more object-oriented and display color choices better and make it easier to customize the prompt without having to write your own custom prompt.

To fix your above errors - if you do not want to stick with v0.7x - install posh-sshell.  That will provide you with the Start-SshAgent command.  As for the EnableWindowTitle command, that changes to:
$GitPromptSettings.WindowTitle = "posh~git ~ <$SessionTitleName>"

Perhaps we should have a v0.7x to v1 migration guide?

The problem with adding the SSH commands is that when the user does install posh-sshell there will be conflicting commands.  The one PowerShell picks will be based on import order.  And when the user installs posh-sshell they'll have to use -AllowClobber.
Perhaps a better way to approach this is to use the CommandNotFoundAction e.g.:

The above is just a proof of concept.  We'd have to add all the ssh commands to the list and also check to see if there's an existing CNFA handler and if so, then invoke it - returning whatever it returns.

CNFA could work, though it's weird that it's not built to be composable.
Could the shims check if posh-sshell is installed and pass-thru? Could we avoid exporting the shims if we detect it's installed?

Passthrus still incur the issues of duplicate commands i.e. import order and requires -AllowClobber.  We can conditionally export the shims if posh-sshell is not installed.
Overall I think the CNFA approach is better - certainly much simpler to implement.  The lack of composability is unfortunate but is no different than the TabExpansion function where we invoke the previous TabExpanion function (if there was one).

I'm running into a similar issue as @spooky was.
I was running Cmder on Windows 10, with PowerShell 6.0.1, posh-git 0.7.1.
Upgraded to PowerShell 6.1.0 and my prompt and output text ended up the same color. Upgraded to 0.7.3, noticed that posh-git 1.0.0 had PS Core support, so upgraded to 1.0.0 beta2.

I think these were the last debug steps before this issue swung on a slight tangent. :)

What does your prompt function look like?  Execute get-command prompt | % definition and list the output here, if you don't mind.

Sorry for the delay:
$realLASTEXITCODE = $LASTEXITCODE
$host.UI.RawUI.WindowTitle = Microsoft.PowerShell.Management\Split-Path $pwd.ProviderPath -Leaf
PrePrompt | Microsoft.PowerShell.Utility\Write-Host -NoNewline
CmderPrompt
Microsoft.PowerShell.Utility\Write-Host "`nλ " -NoNewLine -ForegroundColor "DarkGray"
PostPrompt | Microsoft.PowerShell.Utility\Write-Host -NoNewline
$global:LASTEXITCODE = $realLASTEXITCODE
return " "

Hmm, that is not the default posh-git prompt function.  I'm guessing some other module is providing your prompt function.  It could be that it's hooking the posh-git prompt and then displaying it via the PostPrompt command invocation, which would explain why the posh-git status shows up after the Cmder prompt.  Do you get any source/module info if you execute: get-command PostPrompt?

CommandType
Name
Version
Source

Function
PostPrompt

I am using Cmder on top of ConEmu, but starting ConEmu directly results in the same behavior.
No changes to ConEmu/Cmder with the other changes I made.

What are the contents of PostPrompt - run Get-Command PostPrompt | % Definition.

Hmm. It appears to be nothing?

Thanks for checking.  I have found that the prompt function is supplied by Cmder:
https://github.com/cmderdev/cmder/blob/c5a6afbf5b0d15703da4ecef75d0e845c9c27707/vendor/profile.ps1#L104-L126
The posh-git status summary is displayed by the call to checkGit() which in turn calls the posh-git command Write-VcsStatus.  So one change in posh-git v1 is to support VT sequences for hosts that support it.  What this effectively means is that the Write-VcsStatus command will not use Write-Host to write the git status on a host that supports VT. In that case, it returns a string that contains the git status decorated with VT esc sequences to color various part of the status.  So checkGit() returns a string but that string isn't displayed until after the prompt function returns which is also after all the Write-Host calls.
Try setting $GitPromptSettings.AnsiConsole = $false and see if that clears this up.  When this setting is $false, posh-git reverts back to using Write-Host.

@dahlbyk If the above fix works, we could use the existence of $env:CMDER_ROOT to default AnsiConsole to $false.  See https://github.com/cmderdev/cmder/blob/master/vendor/profile.ps1#L26

Thanks for digging deep! That appears to semi-resolve the issue:
Now:

Before I decided to update software that wasn't broken ;) :

Only differences are the presence of the PS (which may be a PS 6.1.x thing - I'm going to spend some time looking into it) and that it's per-session/reverts back to true (which I'm assuming is to be expected / it's checked and set on every startup).
Your suggestions sound good to me; please let me know how/if I can assist in anyway!

Thanks.  We're getting closer.  That PS > usually happens when the prompt function returns no string e.g.:
function prompt { Write-Host "$pwd> " -NoNewline }

or there is an error generated in the prompt:
function prompt { Write-Host "$pwd> " -NoNewline; throw "oops"; return " " }

I suspect it is the latter.  Could you open up a fresh cmder console and after you get your first prompt, execute: $error.

Cmder error. :)

Get-command : The term 'vim' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At D:\Downloads\cmder\vendor\profile.ps1:44 char:5

Get-command -Name "vim" -ErrorAction Stop >$null

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : ObjectNotFound: (vim:String) [Get-Command], CommandNotFoundException
FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Commands.GetCommandCommand

Unless you see something, I'll raise it as an error with them? https://github.com/cmderdev/cmder/blob/master/vendor/profile.ps1#L44
(I did upgrade Cmder to the current version from what I was at to see if that would resolve it; it did not.)

Hmm, but looking at that code, they catch the error and that code isn't executed within the prompt so that shouldn't be the cause of this problem.  Keep in mind that the $error collection records all errors whether or not they were caught.  Was there only that one error?

Good to know.
It was the only error reported. Went into a git repo and ran a few other commands that might verify that:

I think this is something we're doing in posh-git v1.  I can replicate it with the following prompt function in a regular PowerShell console:
function prompt { $GItPromptSettings.AnsiConsole = 0;  Write-VcsStatus; " " }

Now that I have a repro I should be able to figure out what is going on here.  Hopefully we will have a beta3 out in a few weeks with a fix for this.

Excellent. Thank you again for helping to troubleshoot this!

And voila, I have figure it out.  When AnsiConsole is set to 0 (off), Write-VcsStatus is returning an empty string.  Returning an empty (or no) string from a prompt will result in PowerShell displaying PS> because it thinks that prompt function failed and the user should be given some default prompt.  But when you return a collection of strings - the empty string returned by Write-VcsStatus and the " ", PowerShell gets confused and displays the default prompt e.g.:
function prompt { Write-Host "$pwd> " -NoNewline; ''; ' ' }

Results in this prompt C:\Users\hillr\Git\KLM> PS>.  The good news is that I've already queued up a PR to fix this (PR #617).  So I think the only additional thing we need to add is a check for $env:CMDER_ROOT that disables the AnsiConsole setting by default.

This should be fixed by #617 which should be available in 1.0.0-beta3.

Hi, Im still having this issue:

I tried to set this the cmder/config/user_profile.ps1 file but it works only before the second prompt input
[ScriptBlock]$PostPrompt = {
    $GitPromptSettings.AnsiConsole = false;
}

Also it displays the "PS>" when Im not in a git repository

Hey, everyone!
Same problem here:

$GitPromptSettings.AnsiConsole = $false fixes the problem, but only in current session.
$error returns same error as @JamesSkemp attached years ago.

@dothar @Lsdenis  You need to put that line in your profile script. From PowerShell, execute notepad $PROFILE.CurrentUserAllHosts if you see a line in that file like Import-Module posh-git put the line $GitPromptSettings.AnsiConsole = $false after it.  If you don't see the import-module line in this file OR the file does not exist, then try notepad $PROFILE.CurrentUserCurrentHost.
Essentially you are looking for the Import-Module posh-git command in one of your profile scripts and you're going to add the line $GitPromptSettings.AnsiConsole = $false after the module is imported.  Also note that you are setting that value to $false and NOT false.

hey @rkeithhill!
thanks for the info, however it doesn't work for me :(
tried both CurrentUserAllHosts and CurrentUserCurrentHost.
Made some small investigations:

if you make changes here:

it doesn't help, with or without > $null, was lazy to google syntax :)
if you make changes like this:

works fine except first line :)

Hope that helps.
Got some errors during investigations, all of them were about 'AnsiConsole doesn't exists' :)

Your Import-Git() function is only importing posh-git and executing your $GitPromptSettings.AnsiConsole = false IF you have a version of posh-git less than or equal to <IP_ADDRESS>60330.  That script will not execute for posh-git 1.0.0.
That is not a posh-git installed function.  I have no idea what is up with that version check.  Anyway, change that function to:
function Import-Git() {
    Import-Module posh-git > $null
    $GitPromptSettings.AnsiConsole = false
    $true
}

And see how it behaves.

Thanks, @rkeithhill, works just as needed!
For anyone else who's using that snipper replace false with $false :)

Thanks for catching that (copy/paste error). I updated the snippet above.


Advanced Search Plugin

Add the Blacklight Advanced Search Plugin:
https://github.com/projectblacklight/blacklight_advanced_search

Troubleshoot control layout bugs.


FieldCanBeLocal static field incorrectly patched

Where
private static String logFileNameBase;
is only used locally, the patch replaces
Logger.logFileNameBase = Logger.logFolderName + name;
with
String Logger.logFileNameBase = Logger.logFolderName + name;
when it should be
String logFileNameBase = Logger.logFolderName + name;

I'm wondering if this is actually an incorrect patch. Shouldn't the UnnecessarilyFullyQualified check remove the Logger. prefix here if it is not required to have?
From a quick skim of the implementation it seems like only this. is being stripped.

@rickie no. Its not being "fully" qualified. Some devs want their static constants/methods qualified rather than imported directly with a static import.


Schedule reroute after allocator timed out

Description
This PR attempts to schedule a reroute whenever an allocator times out. This would ensure that we never let a shard in an unassigned state because the current reroute cycle timed out.
Related Issues
Resolves #14945
Check List

[ ] Functionality includes testing.
~[ ] API changes companion pull request created, if applicable.~
~[ ] Public documentation issue/PR created, if applicable.~

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

Successful build - https://build.ci.opensearch.org/job/gradle-check/46694/

Build failure because of 1 flaky test - https://build.ci.opensearch.org/job/gradle-check/46860/


Show Queued Lock Requests

Based on previous PR #106. Hoping to get this merged so I don't have to keep maintaining a private fork.

This looks interesting, thanks for re-opening. The previous pull-request was closed at a time when I had just taken over this plugin, so it probably fell through the cracks...
Could you try to rebase/merge with the current master, so review is easier? Re-formatting in Google Code Style might help: https://github.com/jenkinsci/lockable-resources-plugin#code-style
Regarding the layout of the locked resource page: Maybe one could add additional columns to the existing tables instead of creating a new table? This would give an overview of how many other jobs are waiting for a resource/label and then only show the waiting jobs in a tooltip/overlay/dropdown?

Thanks - I was curious what happened to the previous one.
I'll close this one and make a new one that is based on current master. While I am at it I'll see about improving the layout.

I'm looking forward for this feature support. When will it be available?


[Dev] Function builder

Using the available OpenAPI spec from GitHub, create a function that scaffolds or fully creates a function that covers a given path of the spec.
The function builder should be able to take fields from the OpenAPI description to make some patterns of the function.

Namespace suggestion
Name of the function
Comment based documentation with:

Synopsis
Desciption
Parameter description

Write a warning if the token is of type GitHubApp to warn which functions are not supported

Tools to consider:

AutoRest - Issues though!
OpenAI - How though?
PowerShell directly with the GitHub OpenAPI description. - Time though! -> But more control...

Not going to do.


Make install should put binaries in "${GOPATH}/bin"

What changed?
Makefile target "install" sends wego binaries to ${GOPATH}/bin instead of .../weave-gitops/bin/

Why?
Original binary output wasn't in most developers PATH

How did you test it?
Ran make install and verified that binaries are correctly being installed in ${GOPATH}

Release notes
Users who've previously used make install should migrate binaries from old path to ${GOPATH)

Documentation Changes
There are currently no documents covering this.

This is entirely Makefile updates, so no code coverage changes expected.


[Feature]: fast commit

Description
Great library. Can we have something like oc-fast that automatically answers all questions as yes and pushes immediately?
Suggested Solution
oc-fast
Alternatives
No response
Additional Context
The thing is supposed to save time. Now it asks too much questions per each commit.

Or even a shortcut for VScode. Press cmd+option+s => commit, push, done.

hey hey, do you want to make a PR? ;)

may be it should use conventional -q flag, like all other tools
from what I see extraArgs already passed which makes me believe in this two places where we asking for confirmation we may just check if extraArgs.includes("-q") which should be enough
@di-sukharev if thats sounds ok to you, I might create an PR for this one, because also interested in more streamlined workflow

i would make it like this oco -f and allow a setting like OCO_FORCE=boolean to set it up via .env file or ~/.opencommit if you want it globally
who wants to PR this highly beneficial for developers and world itself feature?


move suggested questions to below first message

probably a better way to do this, closing for now :+1:


Ingestion will fail for VPC flowlogs

Describe the bug
The account ID field in VPC flowlogs can sometime contain the word "unknown" when the log entry comes from a service with an ENI in your VPC.  This causes ingestion for that line to fail due to a typing error from opensearch.
To Reproduce

Deploy the solution.
Deploy the demo.
Check the destination error logs in kinesis data firehose.

Expected behavior
Any VPC flowlog can be ingested.
Please complete the following information about the solution:

[x] Version: v4.0.0
[x] Region: us-west-2
[x] Was the solution modified from the version published on this repository? Yes
[X] If the answer to the previous question was yes, are the changes available on GitHub? No
[X] Have you checked your service quotas for the services this solution uses? N/A
[X] Were there any errors in the CloudWatch Logs?  None in the lambda CW logs, but some in the kinesis destination error logs.

Screenshots
{"type":"mapper_parsing_exception","reason":"failed to parse field [account_id] of type [long] in document with id \u002749623321316493998612182857965780928591523098155414454274.26\u0027. Preview of field\u0027s value: \u0027unknown\u0027",
   "caused_by": {
      "type":"illegal_argument_exception","reason":"For input string: \"unknown\""
   }
}

Subscription filter:
[version, account_id, interface_id, srcaddr != "-", dstaddr != "-", srcport != "-", dstport != "-", protocol, packets, bytes, start, end, action, log_status]

Additional context
I believe the reason this is happening is b/c the code in the transformer is setting the type of the accout_id field as a long for ingestion into OS/ES.  Then, after the type has been set as long in the index, a string comes along and ingestion fails.  Along with this problem, an AWS account ID should be ingested as a string anyway so it is available as a keyword in term queries (you'd never do a range query on account IDs in kibana as they are identifiers, not values).  This would fix the issue in kibana as well where account IDs are rendered with commas as numbers.
Not sure the best way to fix this.  Add an ENV var for the transformer lambda to whitelist field names which should not be typed as numerics regardless of their value?  This would cause the lambda to get more complex as it would have to look as field names and not just values.
If you give me a suggestion, I'll send you a PR.

@t-jones thanks for reporting the issue. Yes, you are correct, it certainly makes senses to ingest account_id as a string. I believe we can update the following transformer code where the log event is getting transformed so source["account_id"] is indexed as a string.
https://github.com/aws-solutions/aws-centralized-logging/blob/a44dcfe5ac8f32e991e85a637a02dcabd7a68b80/source/services/transformer/index.ts#L72
if ("account_id" in source) source["account_id"] = "" + source["account_id"];

Please feel free to open the PR.

This has been addressed with release v4.0.1


Support Secp256r1

closes https://github.com/o1-labs/o1js/issues/1724
this adds ECDSA (and general) support for the curve secp256r1, also known as P-256, which is the standard curve used in ECDSA outside the crypto world, due to its recommendation by NIST; see P-256 in this document
Most changes are in https://github.com/o1-labs/o1js-bindings/pull/310
changes here:

properly treat and pass on curve parameter a in EC addition and doubling methods

no circuit changes! the parameter was just missing in witness generation

add secp256r1 to the curve and ECDSA unit tests

Efficiency
Sadly, secp256r1 doesn't support the endomorphism we have implemented, because that endomorphism crucially relies on the a = 0 property. Therefore, in our ECDSA circuit the GLV method is not used, which means significant constraint savings get lost:

ECDSA on secp256k1: 32k constraints
ECDSA on secp256r1: 40k constraints

@Trivo25 can you get me the necessary reviewers for this?

Thanks for the review @Geometer1729! I also need one here and then I need you to merge both PRs since I don't have permission to

Oh and @Trivo25 I also need admin review for changing the bindings commit

@mitschabaude Can you run npm run build:update-bindings and push the changes that creates in o1js-bindings? I think the bindings not having been recompiled may be why CI is failing.

@mitschabaude Can you run npm run build:update-bindings and push the changes that creates in o1js-bindings? I think the bindings not having been recompiled may be why CI is failing.

no @Geometer1729, I didn't change anything that needs compiling. also, CI isn't failing, just the benchmark job is, and that one always fails on forks

updating the bindings is just needed when you need to recompile ocaml or rust sources

Oh, I thought it was also affected by some of the content of o1js-bindings. Fair enough sorry about that.

Amazing work!  Florian has final approval, but it LGTM

the test is failing because we're still running node 18 in CI, where the web crypto API is missing 😬
do you mind if I change it to node 20?

need workflow approval again 😢 @Trivo25

and again @Trivo25!

@nicc @mrmr1993 that's why I need write access to the repo ^^ https://github.com/o1-labs/o1js/pull/1885#issuecomment-2436878827

@hattyhattington17 can we get your eyes on this too?

@mitschabaude fyi I will get this merged before the next release


Please create a tagged release

Even a 0.1 release would make it possible for distributions that require releases to package this, and provide a wider test base.
Thank you

Just 'bumping' this, as it were. A tagged release would be great. Thanks.

We've started tagging a little more often -- most recent tag is 1.0.21, last month.

@cjb - Thanks! I see that's the case for the client repo, and that's awesome. However we'd need to package kbfs separately as a dependency. Any change kbfs will get the same treatment?
Thanks for everything ya'll do on keybase, btw :1st_place_medal:

Hm, I think it'll be harder to change the KBFS flow.  Want to tell me more about what you're trying to do?

I'm trying to package kbfs, because the client code as built does not come with kbfs.

Just a single tagged commit would be enough for this.

@cjb
Most distros, when packaging, do not take multiple code-bases and turn them into a single tool. Most often it's the single code-base that's split up into multiple "flavors" "subpackages" or what-have-you. When multiple code-bases are important relative to each other, packagers often like to build them separately and use the mechanisms afforded by the package manager to handle dependencies.
Without versions tagged, it becomes very hard to package kbfs for anybody who does not download binary blobs from your website. The tags in this repo don't even have to match what the client currently has, or will ever have. A tag of 0.0.1 would be better than no tag, since at least the tag is a single point in history.
Why do we need tagging at all? Invariably, contributors say "Look, there was a new commit, please update this!" and the whole package has to be vetted or at minimum, blindly approved again. Version tags, and a policy of enforcing them, are a way to rate limit requests for updates, as well as a way to say "We did not choose this arbitrarily. Wait for the next release for the next feature."
There are other benefits to downstream packagers. For example, there are tools that look for the latest version of a piece of software. Reworking those tools to be aware of git commits is a lot of work or against policy, so updates to untagged software don't happen. Tagging a new release is a harmless way for upstream to signal any downstream packagers that there is new code to be reviewed and packaged appropiately.
In short: Please push a tag to the repository so we may package this software for our users.

Two months later, is it possible to pick an arbitrary point and just tag it please?

Ok I just made a tag corresponding to our latest desktop release: https://github.com/keybase/kbfs/releases/tag/v1.0.34

Thank you so much!


LPE reverted local z pub change

To make end-user experience with logging/alt-hold simpler this makes local z be distance above ground (-agl), instead of the best estimate of -(vehicle asl - altHome) relative to vehicle. This is the typical desired use-case for most people if they have a device to measure terrain altitude (ultrasonic/ lidar). Maybe we can make this a parameter in the future to select what local z means to LPE, but then we should support terrain following for logmuncher etc.. All the plots currently show local z setpoint vs. local z, but if in terrain following mode, this doesn't make sense and was confusing end users.

One extra note on this: If you expect a flat surface and the terrain not to change much, you can set the terrain process noise low. This will throw out lidar measurements etc. where the terrain changes dramatically and instead use baro to hold altitude. If you set the terrain process noise high, it will expect the terrain to change quickly and then will follow any terrain variations.

I don't think we should ever publish data that is not well defined as rigid transformation. There is no way to do an unique transformation like this. Anyone wanting to do terrain following should instead listen to the altitude topic and use it to control offsets.
What we have is currently this:
https://github.com/PX4/Firmware/blob/master/src/modules/mavlink/mavlink_messages.cpp#L2966-L2972
We might need to refine it, but this is the way to do terrain following - not by manipulating estimator outputs.

Ok. I agree and that is why I had it this way in the first place but then
we need to support terrain following better in log muncher if possible. I
can help with that if needed.
On May 20, 2016 4:03 PM, "Lorenz Meier"<EMAIL_ADDRESS>wrote:

Closed #4590 https://github.com/PX4/Firmware/pull/4590.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/PX4/Firmware/pull/4590#event-667608010

Maybe make altitude plot with setpoint dependent on mpc alt mode.
On May 20, 2016 4:59 PM, "James Goppert"<EMAIL_ADDRESS>wrote:

Ok. I agree and that is why I had it this way in the first place but then
we need to support terrain following better in log muncher if possible. I
can help with that if needed.
On May 20, 2016 4:03 PM, "Lorenz Meier"<EMAIL_ADDRESS>wrote:

Closed #4590 https://github.com/PX4/Firmware/pull/4590.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/PX4/Firmware/pull/4590#event-667608010


revise description

The overall description of this resource is a bit ungainly:
"Platforms are ways OF people to collaborate within the CC Global Network"
Could it be:
"Platforms are ways FOR people to collaborate within the CC Global Network"
or
"Platforms are ways THAT people collaborate within the CC Global Network"
?

I edited to: Platforms are organized spaces for people to collaborate across the CC Global Network


Add declarative widgets section

Ref: https://jupyter.hackpad.com/Spring-2016-Dev-Meeting-h0y1TIAWxz1#:h=Declarative-Widgets-/-Widgets
Hold for one more conversation next week to double-check the feasibility and details.
@lbustelo, @jdfreder, @SylvainCorlay

This is looking good @parente .  I also added a note in my PR https://github.com/jupyter/roadmap/pull/16 to the ipywidgets section about integrating decl. widgets.

LGTM.

I pushed a commit which adds details from a conversation between @sylvaincorlay, @lbustelo, @parente , and I

@jdfreder @SylvainCorlay @lbustelo I made all three of you collaborators on the fork so you can update this PR. Or you can just close this one and push a new one.

I think this looks good and ready to merge

Not ready, there is some merge conflicts to solve...

Done!

I'm in favor.

Thanks, all!


Fixed a few network UI issues in swarm-mode

fixes #23983
Prevents network connect/disconnect for managed containers

Are we sure we want to introduce a concept of "managed" and "unmanaged" containers?
How does this resolve creating a local network named "test", if there's an overlay network with the same name?

@thaJeztah we have a few cases where we have to differentiate managed and unmanaged containers (mostly due to the current limitations that we have with a few unsupported features). When we are feature parity, then we can relax these restrictions and maybe remove this differentiation as well.

How does this resolve creating a local network named "test", if there's an overlay network with the same name?

That's exactly this PR does with the changes in  api/server/router/network/network_routes.go.

LGTM

LGTM 🐸


Bandage things up again

nf-core/viralrecon pull request
Many thanks for contributing to nf-core/viralrecon!
Please fill in the appropriate checklist below (delete whatever is not relevant).
These are the most common things requested on pull requests (PRs).
PR checklist

[ ] This comment contains a description of changes (with reason)
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If necessary, also make a PR on the nf-core/viralrecon branch on the nf-core/test-datasets repo
[ ] Ensure the test suite passes (nextflow run . -profile test,docker).
[ ] Make sure your code lints (nf-core lint .).
[ ] Documentation in docs is updated
[ ] CHANGELOG.md is updated
[ ] README.md is updated

Learn more about contributing: CONTRIBUTING.md

Want to see if this is indeed going to fix the problems we have been seeing with iVar so going to merge. Linting is failing due to a bug https://github.com/nf-core/tools/pull/603


Ensure support for Trusted Types

What
Trusted Types are a relatively new browser feature designed to the DOM XSS attack surface of a website or web app. They are enforced by setting new Content Security Policy (CSP) directives which then lock down 'risky sink functions':

Script manipulation:
<script src> and setting text content of <script> elements.

Generating HTML from a string:
innerHTML, outerHTML,insertAdjacentHTML, <iframe> srcdoc, document.write, document.writeln, and DOMParser.parseFromString

Executing plugin content:
<embed src>, <object data> and <object codebase>

Runtime JavaScript code compilation:
eval, setTimeout, setInterval, new Function()

At time of writing, we use innerHTML in a few places. We also use setTimeout and setInterval, but I believe they are only affected if passing a string instead of a function.
The scope of this work would be to ensure that if a consumer of GOV.UK Frontend enforces trusted types in their service, GOV.UK Frontend does not trigger any violations.
We would likely need to:

add tooling to help us identify potential violations
rewrite offending code or introduce appropriate trusted type policies

Optionally, we may choose to introduce guidance on using GOV.UK Frontend with Trusted Types, especially if we have to introduce additional policies or rely on polyfills etc.
Why
Updating GOV.UK Frontend to support Trusted Types makes it easier for service teams to adopt Trusted Types, improving the security of government services.
However, there is a workaround for service teams enabling Trusted Types – they can create a default policy. Note that the example default policy provided in the linked guidance introduces a dependency on DOMPurify, a JavaScript library which is approx 21kB minified.
Trusted Types seem to be gaining traction across the web. Chrome's telemetry data suggests that more than 10% of page loads have trusted types enabled.
Trusted Types are currently only supported in Chromium browsers, however Mozilla have shown positive signals and Webkit at least seem to be considering it.
Who needs to work on this
Developers, tech writer?
Who needs to review this
Developers
Done when

[ ] We have tooling to help us identify any potential Trusted Type violations, allowing us to ship changes with confidence
[ ] We have rewritten any offending code or introduced appropriate trusted type policies
[ ] We have published any guidance that might be required to use our code effectively in an environment where Trusted Types are enabled

To my knowledge we have had one instance of this coming up on support, with the Accordion component causing a "This document requires 'TrustedHTML' assignment" error. The user in question followed the guidance on using a default policy and as far as I know this solved the immediate problem.
I ran a highly unscientific x-govuk Slack poll in February asking about people's awareness of Trusted Types. Of the 8 people that responded, 7 had never heard of it and only 1 is using it in production.
So my general sense is that this hasn't yet found much of a foothold in the GOV.UK estate. This may be partially due to the relatively low amount of user-generated content being displayed to other users, which means the XSS attack surface is relatively low to start with? 🤷🏻♂

If we do pick this up, my suggestion would be to try and re-write code to avoid using the sink functions before we start introducing policies etc, unless doing so adds significant amounts of code or complexity.
My reasoning for this is:

It aligns with the guidance in this comment:

There are misconceptions of how Trusted Types is used: The goal is not to use "trusted" strings (and the factories that create them) everywhere in your application; the goal is to refactor the applications to use non-XSSy DOM sinks as much as possible. The creation of trusted type factories and trusted strings instances is largely a transition measure to help get an application from its legacy state to a safe-by-default state, where one can then simply use require-trusted-types-for "script" to lock it down.

Avoiding the complexity of policies reduces the level of technical expertise required to contribute, or read and understand the code.

Some useful resources:

https://github.com/w3c/trusted-types, including an explainer
https://w3c.github.io/trusted-types/dist/spec/
https://github.com/mozilla/standards-positions/issues/20
https://github.com/WebKit/standards-positions/issues/186
https://github.com/google/tsec – Extended TypeScript compiler checking Trusted Types compatibility


error with findContour

I'm getting this error while running
File "Scanner.py", line 18, in
image,contours,hierarchy=cv2.findContours(edged,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)  #retrieve the contours as a list, with simple apprximation model
ValueError: not enough values to unpack (expected 3, got 2)

I'm getting this error while running
File "Scanner.py", line 18, in
image,contours,hierarchy=cv2.findContours(edged,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE) #retrieve the contours as a list, with simple apprximation model
ValueError: not enough values to unpack (expected 3, got 2)

check the version of opencv.
In the latest versions of opnecv( >4.0) the command cv2.findContours returns only two values i.e., contours & hierarchy.

@aravindkota yes I've figured it out but it is not working with every document

@Lord-fourth  can you share the solution?

The fix is merged to master. Closing this


Further updated default lists

Replaced arg=None defaults with arg=() defaults. This is safe because tuples are immutable.

Woa, thanks for that!


Swagger file modification for fileshare API's

What this PR does / why we need it:
Swagger file modification for fileshare API's
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

Hi shruthi, please do not format swagger file. it's not easy to review your real updates.

These changes already merged in #1112 PR, so closing as it is duplicate PR


Markdown inside nodes is not rendered properly

Describe the bug
In the preview, markdown code inside flowchart nodes does not render properly.
To Reproduce
I used the mermaid example code for markdown formatting inside flowcharts (https://mermaid.js.org/syntax/flowchart.html#markdown-formatting):
flowchart LR
    markdown["`This **is** _Markdown_`"]
    newLines["`Line1
    Line 2
    Line 3`"]
    markdown --> newLines

Expected behavior
According to the mermaid docs, this example should render like this:

Screenshots
Actually, in the preview it looks like this:

Desktop (please complete the following information):

OS: Ubuntu 22.04.2 LTS
VSCode 1.80.0
Extension version v0.18.1

Additional context
Add any other context about the problem here.

Thank you for your report! I think this is caused by the old mermaid version. I published v0.19.1 with the latest mermaid.js. Could you try it?

Yes, thank you, looks good now.


Rename method getAttributes() to getModelAttributes()

Original author<EMAIL_ADDRESS>(July 27, 2012 22:06:59)
because it can have a conflict in subclasses
Original issue: http://code.google.com/p/activejdbc/issues/detail?id=168

There seems to be a confusion between attribute and attributeName throughout the API. Sometimes an "attribute name" is called simply attribute. We should specify which is which and keep a consistent usage of the right names.
My sugestion:

attribute: a name value pair, for example when you do salary.set("salary", 1000.0) you are setting the attribute "salary":1000.0, where the attribute name is "salary" and the attribute value is 1000.0.
attributeName (or name when in the context of an attribute): attribute name, for example "salary".
attributeValue (or value when in the context of an attribute): attribute value, for example 1000.0.

One of the first places to fix this is the Model class, starting with the current methods:
public static SortedSet<String> attributes()
protected SortedMap<String, Object> getAttributes()

Based on above suggestion, and going in the https://github.com/javalite/activejdbc/issues/321 direction, these should be:
public static SortedSet<String> attributeNames()
protected SortedMap<String, Object> attributes()

Clearer, right?
@ipolevoy, what do you think we start doing
@Deprecated
public static SortedSet<String> attributes() // mark as deprecated
@Deprecated
public static SortedSet<String> attributeNames() // new name for attributes() above

protected SortedMap<String, Object> getAttributes() // keep this

?
This will be backwards compatible. We cannot do all the changes at once since we cannot have two attributes() methods at the same time. Then we do the full change in a next release.

@ipolevoy, since public static SortedSet<String> attributes() is not backwards compatible since we changed the return type, what do you think about removing this method in this same release, in favor of having public static SortedSet<String> attributeNames() and protected SortedMap<String, Object> attributes()?

I think adding  public static SortedSet<String> attributeNames() is fine, but I want to keep the ogirinal method public static List<String> attributes(), if deprecated.

Agree 100%! Will fix it and push to master.


Prepend feature for render manager

Dear developers,
Here is the new feature I would like to suggest you to implement.
As we all know renderManager is a very base object that is rendering almost everything in UI5.
In fact what it does it finally calls jQuery.append() function ot .html(). Thus, when rendering a line ite into the list it always appending into the end.
Now we speak about an option to revert the order and to insert it not to the end end but to the beginning.
In this case jQuery.prepend() function is what we actually need. However currently it's not possible to do. We have to rerender the whole list again.
If we extend the chain .render() -> .flush() -> .()_fPutIntoDom() with new parameter bPrepend for example we can handle not just appending but prepending as well.
Best regards,
Petr.

As I see we can use vInsert = 0 parameter for the flush method. However it's not recommended to be called directly.
Render method just ignores it

Hi,
The render manager's flush function normally gets called automatically during a rerendering.
Globally using append will be very problematic. Do you want to use this in a single control?
Then changing the renderer to call the write method at the correct place is the way to go.
Or are you creating a new render manager yourself?
For prepending a list you could iterate over the items in a reverse order in the renderer.
Best regard,
Tobias

Hi Tobias,
I'm glad to have your reply.
Look - in fact there is a certain control I have to create: this is a chat dialog window.
In this chat dialog every new message should be appended to the end(bottom). We had a problem with rendering issue ( all list items( messages ) were rerender every single update ). That's why we decided to use own rendering over Rm.renderControl function.
However now we have a new requirement.
We need to implement treshhold in the opposite way. We always scroll from the bottom to the top to see previous messages.
Standard functionality supports only top to bottom scenario.
This problem can be easily solved just by adding a special parameter to the RenderControl function to say render manager that we need to insert it in the beginning.
This will not brake the current logoc as this parameter will stay by default  as append.

I wonder why SAP didn't do this yet.
As I see Fiori 2.0 concept provides chat option. All modern messengers including iOs have the same guideline with input field and the last message in the bottom.
When scrolling up the app loads history and renders the content in the top. The easiest way I see how to do this is to use prepend function. We'll just insert every previous message in the beggining extending the list.

Are you looking for something like this? https://openui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.ListGrowingUpwards/preview

Wow! I see it's already in 1.40. Thanks
However if the library does this every time rerendering the list entirely ( and when using Item Factory it does every time) just by appending items to the end in every treshhold change - that's not good also.
When having a long list of messages - let's say thousand.. They don't take much memory for keeping all of them. Every single scroll will fire a new rerendering process for the whole list.
That significantly decreases the overall performance.
I created previously an issue about this but it was rejected: https://github.com/SAP/openui5/issues/1097
Meanwhile - what we expect from prepend feature is more than list treshhold.
It can be used in different layouts giving us opportunity to add elements from the start and the end of the container without using reverse flex option.
What's more intersting - it's already in!
jQuery has prepend. Flush has the parameter.
What's needed is just to enhance render method with it.
We really wish to have this feature.
Thanks!
Petr.

@ThePlenkov can u refer me a jsbin that shows "factory" forces growing list to rerender from scratch.

@aborjinik Do you mean sap.m.GrowingList or just List?
We use an own control that is inherited from sap.m.List. sap.m.Growing list is depreciated and we didn't even try to use it.
We use FeedListItem where items aggreagtion is defined like "{ path: path, factory: .factory}"
However it doesn't matter which control.. As this is list is a type of ManagedObject - we have this part of code run every time:

https://cloud.githubusercontent.com/assets/6381507/17481943/28da33b0-5d88-11e6-84c4-acce9d99439e.png
As you can see - every single JSONupdate triggers the whole list rerendering including all items in the case when factory is used.
I will try to find the time to reproduce the case in the public project.
Best regards,
Petr

@ThePlenkov i am talking about the growing property of the sap.m.List.
It actually matters. FOL, what u need is already available in the framework with growing=true and growingDirection="Upwards". Also growing property enables the extended change detection of the list binding which creates "diff" from the binding updates. Since growing overwrites the default ManagedObject#updateAggregation method, it only deletes or inserts necessary items and does not rerender the list completely
Because of the compatibility reasons ManagedObject#enableExtendedChangeDetection is private at the moment and only implemented for growing list.

@aborjinik  Wow! That's a new thing for me. Could you please describe which version is it available from?
Thanks!
Petr,

I mean not only upwards - it's 1.40 as I understand. I mean updateAggreagation function. We have 1.38 and as we see 1.40 is not yet stable one and out of maintenance:
https://sapui5.hana.ondemand.com/versionoverview.html

growing feature was always supporting extended change detection of the binding. ~ so probably since  1.16.

HI
I've a question about this.bUseExtendedChangeDetection.
I'm binding an array of pages to the json model. and i can add, reorder and remove pages.
The workflow is this:

add a page  -> JSONModel.protocol.setProperty("/pages", [{id: "page1"}])
dom looks like

/* page1*/
2. add another page -> setProperty("/pages", [{id: "page1"}, [{id: "page2"}])
dom looks like
">/* page1*/
">/* page2*/
3. reorder the page -> setProperty("/pages", [{id: "page2"}, [{id: "page1"}])
dom looks like
">/* page2*/
">/* page1*/
4. delete page2 that has been moved to index 0 -> setProperty("/pages", [{id: "page1"}])
dom looks like
">/* page1 -- somehow the index is changed!*/
5. add another page ->
And then this gives me an error when trying to clone the object during updateAggregation.
bUseExtendedChangeDetection is false in my case, and in getIdSuffix, it's giving an index of 1 and it's trying to clone an object with "page-1" again, causing the duplicate id exception.
i'm not sure if bUseExtendedChangeDetection  is supposed to be false in my case?  How to enable it?  these all seem to be internal to me as i'm just calling JSONModel.setProperty.
thanks for any advice!


Warmup and cosine annealing warm restarts combine sequentially

In the current mosaicml/composer dev branch, warm up interferes with some learning rate schedulers including cosine annealing warm restarts.
In the following PR, I've changed one line of code in ComposedScheduler that ensures that the cosine annealing warm restarts scheduler only begins after warmup:
self.delay_schedulers = [CosineAnnealingLR, ExponentialLR, CosineAnnealingWarmRestarts]
I've also tested this on a separate branch

It seems some of the tests were not passed (despite only changing 2 lines of code). I updated composer to version 0.3, so hopefully this will pass all the tests.


Add commit button to docker containers

It would be great to have commit button (next to the Pause/Unpause button). Could look like this:

Green was just a nice looking color, but I would take another, because the Unpause button already has this color.

Can I work on this issue?

Go for it. I don't think anyone is working on it now.
On May 11, 2015 12:43 PM, "Bharath"<EMAIL_ADDRESS>wrote:

Can I work on this issue?
—
Reply to this email directly or view it on GitHub
https://github.com/crosbymichael/dockerui/issues/88#issuecomment-100992137
.

@kevana, thanks, I will work on this!

@kevana @crosbymichael , Created PR https://github.com/crosbymichael/dockerui/pull/116, can you please review?

Merged, thanks.


card-detail-badges with callback

Hi,
It doesn't seem to be documented, but it does seem that you can use callbacks with card-detail-badges. This is great as we're using the new t.showCard api. Unfortunately, I can't figure out how to preventDefault to prevent the link from being clicked when the user clicks on the badge. Any ideas?
Thanks!

Are you creating a card-detail-badge with a URL? If so, do you need the URL if you are using a callback?
'card-detail-badges': function(t, options) {
    return [{
      title: 'My Detail Badge', // for detail badges only
      text: 'Popup',
      callback: function(context) { // function to run on click
        return context.popup({
          title: 'Card Detail Badge Popup',
          url: './settings.html'
        });
      }
    }]
  },

We were, yes. I have removed it for now. If you watch the url bar even in your scenario, I believe it updates to <oldurl># because the link the callback is on has an href="#". It should probably preventDefault w/in the onClick if there's a callback.
We would prefer to have the url and the callback because it is semantically a link to another card. We use t.showCard to go to the card in the callback, but would still want to support "Open in new tab".

@aaronjensen Just deployed the code change that includes preventDefault. Give it a try and let me know if it works as you'd expect.

@bentleycook it works perfectly, thank you.


Applying bins to data frames

If apply() were replaced by __call__() in
https://github.com/zalando/expan/blob/dev/expan/core/binning.py#L48
it would be easier to apply bins to data frames by simply writing binned_df = bin(df, feature)

addressed by https://github.com/zalando/expan/pull/169

@gbordyugov can I close this issue?


window is undefined

I have an app build with electron and webpack, once the whole app is being packed when I try to start it I'm getting an error "window is undefined"
"The easy fix" is to simply remove browser param from package.json for "form-data" in node-modules.
Now the main question is that somehow related to form-data itself  or a webpack.
I'm using the electron-react-boilerplate from here:
https://github.com/chentsulin/electron-react-boilerplate
I'm going to post the same question there too.
Any idea how this could be solved in a proper way would really useful,
thx :)

form-data is server side only, so it's not meant to go into the browser environment at all. There is browser specific file (with reference to native FormData) as workaround for browserify and webpack - quick&dirty solution. Although it's not the right solution. The right one would be to examine what and how you bundle and exclude the paths that leads to bundling form-data.
Are you bundling form-data directly or it's some dependency of your dependency?
Thank you.

It is dependancy of other dependancy. Once I want to "release" my electron app I need to basically create 2 js files with all needed dependancy. The mentioned electron boiler code example does that. I'm just guessing and might be wrong but when webpack is building the dependencies for all "requires" for some reason the react app (frontend) might request form-data as first then webpack saves form-data module as "module.exports = window.FormData;" and when next time the backend code requires form-data it returns the browser version instead of server version, and complains about window.
Not sure yet but maybe it's a webpack issue with electron, that ignores the context (server / browser) in case the code requires the same library once in backend once in frontend whereas some of them might have "built-in" functionality then it fails ?
The workaround you mentioned for browserify and webpack, did you mean that adding a browser param is wrong, or did you mean that removing (as I suggested) is wrong ?

I'm still trying to understand how bundler builds something and picks up code meant for the browser and winding up running it on the server.
Removing browser param would break it for other apps that are trying to build it for the browser and have packages like superagent that claims to work in the browser but has server-side only libraries in the dependency, so developers that use it have to come up with different workarounds.
I see it as a bug with that kind of packages either with the documentation or with dependencies.
Back to the issue, though.
Can you provide dependency tree of the project, so we can see where form-data gets pulled into browser path.
Thank you.

I can comment on this. I have the same problem. The problem is that webpack doesn't understand the electron-main target very well. In particular webpack will default to using the browser entry point unless  resolve:packageAlias is specified. The fix is to add this into obecny webpack file. OR to fix webpack to not default to browser when the target is electron or electron-main.
resolve: {
packageAlias: "main"
},
https://github.com/chentsulin/electron-react-boilerplate/pull/410

All round, Indian hair extensions
 would be the most tough and might previous up to a full calendar year based upon how very well you're taking treatment of them. Artificial hair wigs typically lasts up to 6 months if you consistently wear them. Human hair could be flat ironed and synthetics are not able to.Hair wigs are a wonderful means to change your glance instantly and will contain extremely small fuss and if you might be undergoing chemotherapy. You will find many alternative hair wigs
 available that are offered on the internet for yourself but still, the real hair ones stay to get the top mainly because they may be designed up of authentic and authentic hair.

Ouch, it's been 26 days already. Got carried away at work. I had changes for this one with more tests, will try to push it in tonight.

@alexindigo, ping. Has there been any updates on this?

@TimothyGu seems like this solution fixes it https://github.com/form-data/form-data/issues/252#issuecomment-249051882
And I added (#282) check for self and for window objects – it should cover most of the use cases, will publish 2.1.2 tonight.


Setup FindBugs, PMD and Checkstyle for CI

Done! Can be viewed here: https://ci.dustplanet.de/job/updater/


Expo warns with "Cannot resolve the path to "react-stickynode" package."

This error happens because react-stickynode is a dependency of showtime-tab-view which expo just blindly reads from package.json and tries to resolve the path to the package to see if it has some native modules to link.
Given that it's also in peerDependencies pnpm doesn't install the react-stickynode (as we don't have it installed too given we are only using ios/android part of the package).

yeah, that's makes sense! i'll remove react-stickynode because it's not very useful.

i just released a new version for this!
https://github.com/showtime-xyz/showtime-tab-view/releases/tag/v0.1.4


Tone.Meter doesn't output stereo value correctly

Reproduce:

Go to Mixer example
Solo Guitar 0
Pan Guitar 0 all the way to left
Play
Observe that the right channel of the meter still pumps up, albeit lower than the left one.

Probably some changes underneath messed with the meter calculation?

This is a bug. When using a smoothed meter with multiple channels, cross-channel smoothing occurs because the state used for smoothing is incorrectly shared across all channels. Opened #1018 for this.


[Bug]: Saving NetCDF's from xarray broken

What happened?
I am not sure if this is intended to be a supported behaviour, but it seems like it probably shouldn't error like this at least.
I am trying to convert wrfout files to something at least close to cf-compliant, I realise xwrf is not yet complete in this regard.

ds = xr.open_mfdataset(
...         "./wrfout_d01_2023-07-01_00_00_00",
...         engine="netcdf4",
...         concat_dim="Time",
...         combine="nested",
...     ).xwrf.postprocess()

ds.to_netcdf('out.nc')
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3/dist-packages/xarray/core/dataset.py", line 1946, in to_netcdf
return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/xarray/backends/api.py", line 1272, in to_netcdf
dump_to_store(
File "/usr/lib/python3/dist-packages/xarray/backends/api.py", line 1319, in dump_to_store
store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
File "/usr/lib/python3/dist-packages/xarray/backends/common.py", line 274, in store
variables, attributes = self.encode(variables, attributes)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/xarray/backends/common.py", line 363, in encode
variables, attributes = cf_encoder(variables, attributes)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/xarray/conventions.py", line 775, in cf_encoder
new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/xarray/conventions.py", line 775, in
new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/xarray/conventions.py", line 186, in encode_cf_variable
var = coder.encode(var, name=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/xarray/coding/times.py", line 743, in encode
data, units = encode_cf_timedelta(data, encoding.pop("units", None))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/xarray/coding/times.py", line 690, in encode_cf_timedelta
np_unit = _netcdf_to_numpy_timeunit(units)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/xarray/coding/times.py", line 114, in _netcdf_to_numpy_timeunit
return {
^
KeyError: 'minutes since 2023-06-30 21:00:00s'

Minimal Complete Verifiable Example
No response
Relevant log output
No response
Environment
>> xwrf.show_versions()

System Information
------------------
xWRF commit : None
python      : 3.11.4 (main, Jun  7 2023, 10:13:09) [GCC 12.2.0]
python-bits : 64
OS          : Linux
OS-release  : 6.0.9-060009-generic
machine     : x86_64
processor   :
byteorder   : little
LC_ALL      : None
LANG        : C.UTF-8
LOCALE      : ('en_US', 'UTF-8')

Installed Python Packages
-------------------------
cf_xarray   : 0.8.2
dask        : 2022.12.1+dfsg
donfig      : 0.7.0
matplotlib  : 3.6.3
metpy       : 1.5.0
netCDF4     : 1.6.4
numpy       : 1.24.2
pandas      : 1.5.3
pint        : 0.22
pooch       : v1.7.0
pyproj      : 3.6.0
xarray      : 999
xgcm        : None
xwrf        : 0.0.2.post13

Anything else we need to know?
No response

Hi! Thanks for submitting the bug. On a first glance, this seems to be more xarray-related but we should definitely investigate where this is coming from. Would you be able to share your data file so I can try to reproduce it? Also, which xarray version are you using? The show_versions() output seems broken.

Hi @Plantain, just wanted to check in what the status on the bug is.

I am using Xarray 2023.7.0 and Xwrf 0.0.2 in Python 3.9.17.
I also encountered this same issue. Through debugging, I was able to determine that in my case XTIME is the variable causing Xarray's to_netcdf() to error.
In XWRF _decode_times(), I see this comment:
    # make XTIME be consistent with its description
Why is this needed? I don't quite understand the purpose of this code:
https://github.com/xarray-contrib/xwrf/blob/48bc0611668fd6498d3b29ad3f084f4310ff4c2e/xwrf/postprocess.py#L28-L35
It seems this code is only ever invoked if decode_times=None (default) or decode_times=True is passed to xr.open_dataset. In this case, XTIME has a dtype of <M8[ns] (same as datetime64 I think). Otherwise, the actual floating point number of minutes in XTIME is retained, and ignored by XWRF.
Looking at the output of the current code in XWRF, it seems that what it does is convert a datetime64 object to a timedelta64 representing the total number of nanoseconds in the datetime64 time in XTIME. Later on, when Xarray attempts to write this to netcdf, the type of 'XTIME' has changed out from under Xarray since the read of the file. Xarray correctly calls encode_cf_timedelta because the type of the object is a timedelta64 inside XTIME at the time of writing, but the units that Xarray has registered with the XTIME variable from decoding the file are not for type timedelta64, they are datetime64. It finds what it thinks are timedelta64 units that do not end with s, and then tries to force datetime64 units into timedelta64 units by adding an s:
minutes since 2020-01-02 18:00:00s

Which is not in the dictionary of acceptable timedelta64 units in Xarray:
def _netcdf_to_numpy_timeunit(units: str) -> str:
    units = units.lower()
    if not units.endswith("s"):
        units = f"{units}s"
    return {
        "nanoseconds": "ns",
        "microseconds": "us",
        "milliseconds": "ms",
        "seconds": "s",
        "minutes": "m",
        "hours": "h",
        "days": "D",
    }[units]

Resulting in KeyError:
KeyError: 'minutes since 2020-01-02 18:00:00s'

What is the goal of converting XTIME from datetime64 to timedelta64? Maybe it needs to be assigned to a new variable in the dataset if an actual timedelta64 is needed for something?
Maybe the intent of this code was to handle the case where a user chooses not to decode_times with Xarray and it is actual minutes instead of a datetime64 object?
Happy to open a PR to work around this, but wanted to understand the intent here first. Thanks!

Hi @DanielAdriaansen, thanks for the investigation of this bug. This is indeed something we were discussing at the very beginning of the project and it might turn out to not be quite correct in the way we do it currently.
Fundamentally, WRF saves two types of time variables: Times which is a |S19-type of the time-step of each frame in the netcdf-file and XTIME, which is of Int-type (?) and which gives the offset from the start of simulation. At the moment, we are using the Times variable to generate the Time coordinate as datetime64. Because we didn't want to have exactly the same information in XTIME, Times and Time we decided that it might be convenient for people if XTIME were actually a timedelta-offset as it is indicated in the variable description. However, it seems like there are some conventions in Xarray about the units for timedelta, which we don't fulfil, causing this bug.
As far as I understand the conventions around times (and please do correct me here) is that the unit string minutes since <date> in a netcdf file gets converted to datetime units in xarray and vice-versa. So I think it might be more in line with CF-complicance if we either convert XTIME to datetime or just leave it as it is. What do you think? Also @jthielen

Sorry for the delayed response on this! I definitely concur with @lpilz's points, and will just add that part of the problem may be due to this time format conversion originating from the original xwrf implementation (e.g., https://ncar.github.io/esds/posts/2021/xarray-wrf-example/#installing-xwrf) when xwrf worked through the io backend of xarray rather than an after-open accessor, so the order of operations was likely different. We should probably revisit the design decisions around what time coordinate(s) xWRF's post-processed output presents to users, and make sure that our implementations of those play nicely with what xarray does by default in both the decode_times cases...I'm not sure what's best at this point in time.

I think my main conceptual problem with the situation is that when we apply the postprocess function, we change the xarray object in a way that 1. Saving it does not work any more (because of the pyproj object not being serializable) and 2. Even if one excludes this variable, the resulting file is wildly different than the original.
One possible remedy (which probably would take some engineering effort) is to build a .xwrf.to_netcdf function, which saves it as a WRF-style netcdf. This would make it easier to just pick-and-choose which (time-) variables we want to retain and how they should look because we could go as far as we want from the underlying WRF-style file.
However, since this will probably take some time I would propose that we just remove the treatment of XTIME for the time being and just let xarray handly encoding and decoding...


normal mode after completing snippet :question:

Is there a way to switch to normal mode and not stay in insert mode after ending a snippet completion ? It would like to be able to do that for specific snippets.

Hi, thanks for the question. No, currently there's no way to do that, regardless of which mode you expand the snippet from. If there is a $0 tab stop, the cursor jumps to it, otherwise it jumps to the end of the snippet.
I can see you might need/want that feature if your snippet contains no editable tab stops, just variables/eval blocks. For example, I think it would be great for using snippets as file templates.

actually I still would like to use snippets with editable tabs stops, but after ending the snippet (like reaching $0), I would like to go back to normal mode. For example I use sql snippets, I use a plugin that is able to run them to see their result either if they are in some code, so I don't always want to stay in insert mode.

There is now the SnippyFinished autocmd. The user can set up it like this to enter normal mode after ending the snippet:
autocmd User SnippyFinished call feedkeys("\<Esc>", 'n')


feat: Update avalanche explorer link to Snowtrace

Ava Labs recently announced Snowtrace. A blockchain explorer build a la Etherscan that will replace the old cchain.explorer .
https://medium.com/avalancheavax/snowtrace-bringing-etherscan-to-the-avalanche-community-f8463e0d80d3
The old one (used at the moment in this doc) will be deprecated in a few days.
https://testnet.snowtrace.io/
https://snowtrace.io/

I jsut don't know from where the addresses.json is being build . It's is still containing reference to cchain.explorer.network .

Thank you for the PR!

I jsut don't know from where the addresses.json is being build . It's is still containing reference to cchain.explorer.network .

addresses.json is automatically built and pulls in the updated URLs from networks.ts. I did a check just now and there are no other cchain entries remaining. Thank you again!


Create statedb indexes when creating ledger from snapshot

Signed-off-by: manish<EMAIL_ADDRESS>Type of change

New feature

Description
When we create a new ledger from a snapshot, we need to create indexes in the statedb (couchdb) for the chaincodes that are already defined (and approved by the org) in the imported state from the snapshot, and are already installed on the bootstrapping peer. This PR adds the code for dealing with the chaincodes that are defined and installed via the new lifecycle (namely the _lifecycle).
Additional details
There will be a separate PR for handling the index creation for the chaincodes that are defined and installed via the legacy method (namely, the lscc). Note that, in the regular path of indexes creation, the legacy chaincodes are dealt with separately and hence it will be good to use the same mechanism in this scenario. As a side note, eventually this legacy path is expected to be removed when we remove the support of legacy chaincodes in a future release
Related issues
FAB-18158

https://github.com/hyperledger/fabric/pull/1864#discussion_r486391490


Wire up iasWorld integration

We need these flags to be included in iasWorld so that they are available to other teams. This requires two distinct changes:

Add an export process to output flag data in the format that iasWorld expects for upload
Tweak the flagging script so that iasWorld overrides are always given priority over script flags

Task 2 is a little bit more speculative; it may be the case that we only need to update the model ingest stage and the open data output (https://github.com/ccao-data/model-sales-val/issues/101) to give the overrides priority, and it's not entirely clear to me whether the script needs to do that as well.

I split off the first task into its own issue #113.


[SPARK-11917][PYSPARK] Add SQLContext#dropTempTable to PySpark

Test build #46513 has started for PR 9903 at commit ff6806b.

Test build #46513 has finished for PR 9903 at commit ff6806b.

This patch fails Python style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #46515 has started for PR 9903 at commit 3bec17f.

Test build #46515 has finished for PR 9903 at commit 3bec17f.

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

Merged build finished. Test PASSed.

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

Thanks - merging this in.


{{ date }} not working on "new page" command

I have installed the gem then executed octopress new PATH to create the site.
I have added "date: {{ date }}" to the page template in _templates as per the Readme, essentially replicating the posts template.
However when I execute the command to create a new page this does not work and simply produces a blank field.
{{ YMD }} seems to work, however produces a date is the MM/DD/YY format.
Problem exists on both Windows 7 and OS X Yosemite.

I'm sorry for letting this issue sit for so long. I somehow missed it until now. It should be fixed now as I've released version 3.0.7. Thanks for posting this!

Thanks Brandon,
Let me know how I can contribute to the docs too.


[a11y] Open picker by space/enter click

This PR closes #1059 and resolves #1231
Also contains all changes from, so fixes #1253
Description
Open picker by space/enter click

Wait, enter? You sure about this? Enter is used to send forms. Isn't it the case?

@TrySound yeah you are right, but it should also open the interactive controls? Shouldn't it?

Mixing behaviours is confusing IMO

Only space :)


Support named domain object containers as Nested task inputs and outputs

Current Behavior
Hi! 👋🏻 I noticed that task dependency inference doesn't seem to work when using an @OutputFile property of a named domain object as an @InputFile property for another task.
I've attached a minimal build script below to help show the problem. Running the consumer task from that script fails with:
> ./gradlew consumer

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':consumer'.
> Property 'file' is declared as an output property of an object with type ProducerTask.Target but does not have a task associated with it.

Expected Behavior
I'd expect the consumer task to run successfully.
Context (optional)
I think this might be a duplicate of #6619, but I wanted to log a separate bug just in case, because I read https://github.com/gradle/gradle/issues/6619#issuecomment-602275727:

the @Nested getter must be non-final and the bean that it returns must have been instantiated by Gradle in some way (eg using ObjectFactory.newInstance() or using an abstract getter).

...And I think my domain object satisfies both of those constraints?
For my "real-world" use case, I ended up using a ListProperty instead, and that was actually a much better fit—but I explored using a NamedDomainObjectContainer first.
Thanks!
Steps to Reproduce
abstract class ProducerTask extends DefaultTask {
    @Nested
    abstract NamedDomainObjectContainer<Target> getTargets()

    @TaskAction
    void run() {
        targets.each { target ->
            target.file.get().asFile.withOutputStream {
                it << target.name
            }
        }
    }

    static abstract class Target {
        @Internal
        abstract String getName()

        @OutputFile
        abstract RegularFileProperty getFile()
    }
}

abstract class ConsumerTask extends DefaultTask {
    @InputFile
    abstract RegularFileProperty getInputFile()

    @TaskAction
    void run() {}
}

def producer = tasks.register("producer", ProducerTask) {
    targets {
        register("first") {
            file = project.layout.buildDirectory.file("first.txt")
        }
        register("second") {
            file = project.layout.buildDirectory.file("second.txt")
        }
    }
}

tasks.register("consumer", ConsumerTask) {
    inputFile = producer.flatMap {
        it.targets.named("first").flatMap { it.file }
    }
}

Gradle version
8.8
Build scan URL (optional)
No response
Your Environment (optional)
No response

This feature request is in the backlog of the relevant team and is prioritized by them.

The DomainObjectContainer lacks certain features to serve as a proper task input, like finalization. However, nothing except the lack of bandwidth stops us from adding them. We can't promise we'll work on this any time soon.
The current failure mode is not nice either, so as a temporary measure we can explicitly emit "domain object containers aren't supported as Nested" in these cases. This is easier to add, but no timeline for this too.

No worries at all, @mlopatkin! Thank you so much for taking a look, and clarifying the current behavior of NamedDomainObjectContainer.


Only run deploy action when build action is completed

Codecov Report

Merging #5 (6626041) into master (05dc95a) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff            @@
##             master       #5   +/-   ##
=========================================
  Coverage     78.82%   78.82%
  Complexity      238      238
=========================================
  Files            45       45
  Lines          1360     1360
  Branches        221      221
=========================================
  Hits           1072     1072
  Misses          155      155
  Partials        133      133

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


cannot understand the initialization method of "output_grid" in st_layer.cpp

Hi,
I have a problem with the initialization method of output_grid, codes are as follows:
     Dtype* data = output_grid.mutable_cpu_data();
 for(int i=0; i<output_H_ * output_W_; ++i) {
 	data[3 * i] = (i / output_W_) * 1.0 / output_H_ * 2 - 1;              // x_t coordinates
 	data[3 * i + 1] = (i % output_W_) * 1.0 / output_W_ * 2 - 1;    // y_t coordinates
 	data[3 * i + 2] = 1;
 }

It seems like x_t is not normalized to [-1, 1] from [0, W], but from [0, W * H], so is y_t。
I find another initialization method(https://kevinzakka.github.io/2017/01/10/stn-part1/), which is encoded by python, and it seems to make sense:
# create normalized 2D grid
x = np.linspace(-1, 1, W)
y = np.linspace(-1, 1, H)
x_t, y_t = np.meshgrid(x, y)
# reshape to (xt, yt, 1)
ones = np.ones(np.prod(x_t.shape))
sampling_grid = np.vstack([x_t.flatten(), y_t.flatten(), ones])

Could you explain your method? Thanks a lot!

OK,I got it. I made a mistake about"i/output_W", its result is integer。


Failing to get the Table Node value in Step execution

When I execute the following step:
Then the values of the row on position "3" in "data" table are:
| Rendering engine | Browser     | Platform(s)      | Engine version | CSS grade |
| Gecko            | Firefox 2.0 | Win 98+ / OSX.2+ | 1.8            | A         |

which is mapped as such:
/**
 * @Then /^the (values|contents) of the row on position "(?P<rowPosition>[^"]+)" in "(?P<table>[^"]+)" table are:$/
 */
public function assertRowOnPosition($rowPosition, $table, TableNode $items){...}

i get the error:
Argument 3 passed to Apple\Automation\Behat\Context\BaseContext::assertRowOnPosition() must be an instance of Behat\Gherkin\Node\TableNode, string given

The variables receive these values (works only if I remove $items type):
$rowPosition: 3
$table: data
$items: data

It is messing up the arguments order. I can make it work adding dummy arguments in the function header like:
public function assertRowOnPosition($rowPosition, $table, $ignore, TableNode $items){...}

for the same regex.
The variables receive these values:
$rowPosition: 3
$table: data
$ignore: data
$items: the desired table node

Can you guys help me figure out what am I doing wrong here? Am I messing up the regex? Or is it really a bug?
Thanks!

your issue is that (values|contents) is also a capturing group. and mixing named and positional capturing groups will indeed lead to weird things sometimes.
The fix is to use a non-capturing group in your regex if you don't care whether the step says values or contents (and to use a named group for it if you care)

So the problem lies in my regex inability. :sweat_smile:
As I need to have pre-fixed options for my step, I do care what it says, so I'm going with a named group. I tried setting it to (?<value>values|contents), but I am still getting the same result as before, and it doesn't works.
Moving forward I spitted my step into two:
/**
 * @Then /^the contents of the row on position "(?P<rowPosition>[^"]+)" in "(?P<table>[^"]+)" table are:$/
 * @Then /^the values of the row on position "(?P<rowPosition>[^"]+)" in "(?P<table>[^"]+)" table are:$/
 */

and worked like a charm. But still doesn't solve my problem, cause I can have steps like:
/**
 * @Then /^the (value|content) of the cell on row position "(?P<rowPosition>[^"]+)" and column position "(?P<columnPosition>[^"]+)" (is|should be|shall be)(?:| equal to) "(?P<value>[^"]+)"$/
 */

with lots of capturing groups, and I don't want to explode them into all possible combinations. :persevere:
So the key seems to really be that capturing group, and as I really am not confident at all in my advanced regex abilities, did I set it wrongly again? :baby: What can I put in there to try make it work?

@lmrafael if you care about the value, you also need to add the $value argument.
and if you split your steps into 2 definitions, it makes me think you don't care about which word was used, as you will not be able to know which of them was used to call your step definition.

Agreed. I got it now!
Unfortunately me and my team are trying to create an base dictionary to be used along several projects we are running, we will maintain this base, and those projects' QA team will write the .features to them.
That is unfortunate because the QA team fought really bad so we would provide this dictionary with a more 'loose' grammar. Hence the (value|content). (is|should be|shall be), (?:| equal to) on our steps.
So I could meet my project requirement and be ok with behat specifications I rewrote my steps to something like this:
/**
 * @Then /^the (?P<namedGroup1>value|content) of the cell on :targetColumnName column which "(?P<columnName>[^"]+)" column has the :columnValue value (?P<namedGroup2>is|should be|shall be)(?:| equal to) :cellValue$/
 */
public function assertCellBasedOnColumnNameValueAndColumnName1($columnName, $columnValue, $targetColumnName, $cellValue, $namedGroup1, $namedGroup2)

and most of them worked alright, but when using TableNodes, the problem persisted:
/**
 * @Then /^the (?P<namedGroup1>values|contents) of the row which "(?P<columnName>[^"]+)" column has the "(?P<value>[^"]+)" value in "(?P<table>[^"]+)" table are:$/
 */
public function assertRowBasedOnColumnNameValue2($columnName, $value, TableNode $items, $table, $namedGroup1)

is still returning a Fatal Error for the TableNode argument (must be an instance of Behat\Gherkin\Node\TableNode, string given) , and only works when I add an dummy $ignore variable:
public function assertRowBasedOnColumnNameValue2($columnName, $value, $ignore, $table, $namedGroup1, TableNode $items)

Any Ideas?

@lmrafael if your implementation does not care about whether the sentence use value or content (i.e. the behavior does not change), simply use a non-capturing group

The TableNode has to be at the end of arguments though, even if you add more named arguments to account for named groups (the arguments of the regex are resolved to an array, and the TableNode is then added at the end)

Even though I don't care, I need them to be defined there. There will be auto-generated documentation and it needs to have those options... Project requirements... :sweat_smile:
So, moving the TableNode argument to the end did the trick! Everything is green! :tada::tada::tada:
Even so:
I don't know if I am being naive again but, deactivating the arguments chaining when an named group is present wouldn't make sense?
Something like, or you let the Behat chain them or you explicitly name them.
This way we could write richer steps, where the regexes would only affect the step mapping to the .features written steps and not the arguments, so ... do you think that would be an nice to have enhancement, or would break more things than solve?

Damn. I knew I was bad at regexes, but I didn't knew how much. Just NOW I realized what you proposed to me.
(?:values|contents)

That's it. Everything is fine. No need to useless arguments. And I feel uberly stupid.
:flushed::flushed::flushed:
Thanks for the patience man.


Make severeIssueThreshold only apply to OrtIssues, not to RuleViolations

Is OrtConfig.severeIssueThreshold actually referring to just OrtIssue, not to RuleViolation?

Now that you name it, I have to agree that the name "severeIssueThreshold" is misleading. When I introduced that configuration option, I did not intent to limit it to issues / the OrtIssue class, but apply it to anything that has a Severity (I probably was under the misbelief that RuleViolation inhertis from OrtIssue).
That's why even for the Evaluator, which creates no OrtIssues at all but only RuleViolations, we currently have this code:
https://github.com/oss-review-toolkit/ort/blob/42845fa5eb5fbb1a9bc617aa778c2979ca0da26d/cli/src/main/kotlin/commands/EvaluatorCommand.kt#L304-L305
However, we also had already internal discussion about the multiple ways now to tweak the effect of a severity for rule violations: Either by changing the emitted Severity in the rules.kts directly, or by altering the severeIssueThreshold, and how this all should refer to the exit code of the Evaluator.
I guess we need some more brainstorming here.
Originally posted by @sschuberth in https://github.com/oss-review-toolkit/ort/pull/4454#discussion_r707358332

My initial reaction was the same as @mnonnenmacher's he wrote:

I think it would be better to have a separate severeRuleViolationThreshold, but let's wait for the outcome of the dicussion in the dev meeting.

But that would give user two knobs to turn how to deal with severities of rule violations, first the rules themselves, and second the threshold, which raises the question why not simply change the severity in the rules, if desired.

why not simply change the severity in the rules, if desired.

To me that translates to aligning the semantics of rule violations severity with the semantics of issue severity.
It may be undesired, e.g. I could imagine use cases like:

issues warnings are must fix, rule violation warnings are optional to fix.
issues warnings are nice to have fixed, rule violation warnings should not be fixed.

But that would give user two knobs to turn how to deal with severities of rule violations, first the rules themselves, and second the threshold, which raises the question why not simply change the severity in the rules, if desired.

Similar to what Frank wrote you might not want to make the configuration for issues and rule violations depend on each other. E.g. if you change severeIssueThreshold to HINT there is no way any more to have rule violations that do not have to be fixed, or in general, if you change the severeIssueThreshold you might have to adapt the severities for all your rules to still work as intended.

Similar to what Frank wrote you might not want to make the configuration for issues and rule violations depend on each other.

I agree to that. But what I meant was: We could also have neither severeIssueThreshold nor severeRuleViolationThreshold apply to the severity of rule violations, but hard-code to always set a non-zero exit code in the evaluator if a violation with a severity > hint is reported. And if the user also would not want warnings to change the exit code, all rules with warnings would need to be changed to errors. So, do we want that, or do we want the severeRuleViolationThreshold? My understanding from the last ORT dev meeting was that we want severeRuleViolationThreshold...


Speed up Builds

Description
Me putting a v8 engine into react
Type of change
Please delete options that are not relevant.

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

New Build time 15 seconds
Website loading time slightly quicker

Not sure how this works, or what it benefits, besides time, so I cannot approve

The load time of the site is increased plus the site reacts faster

Not sure how this works, or what it benefits, besides time, so I cannot approve

The load time of the site is increased plus the site reacts faster

Anything besides time?

@win11bot approve

Bruh

I DO NOT APPROVE!!!

@win11bot approve

@win11bot Don't fall into the Darkside, resist the temptation to bypass non-approving reviews!


How to using API's in Java?

Hi @zawadz88
I am trying to using API's in Java, but I am getting error while adding item to section holder. Please find below snippet of the same:
ItemHolder item = new ItemHolder();
    item.setLabel("Item 1");

    SectionHolder section = new SectionHolder();
    section.setTitle("Section");

    section.item(item);

It is giving me below exception at last line:

Can you please guide me on how to add a item to section
Thanks
Pranav

@prscX Could you share how to use it in Java? I'm a student learning java so I'm not so familiar with Kotlin. Thanks very much.
使用 FastHub 从我的 Xperia Z5 dual 发送

@prscX Could you share how to use it in Java? I'm a student learning java so I'm not so familiar with Kotlin. Thanks very much.

Hi @Soptq,
Please refer below class file Show method for the bridging between Java and Kotlin:
https://github.com/prscX/react-native-popover-menu/blob/master/android/src/main/java/ui/popovermenu/RNPopoverMenuModule.java
Let me know in case you need any help.
Thanks
Pranav

@prscX I got it! I really enjoy your concise code, mine is always a mess.:smile:
Thanks very much!


Add BHNT 55 - "Post Eclipse Hacking"

@blinry I was writing down david as a name for you - but github states a different one - can you please check if the name you want to use is used here?
cc @frehberg @dashersw

Hi, my first name is Sebastian – but please double check that you have the correct GitHub project. This reaches me out of the blue and I have no context for what happened at BHNT. It's likely you've got me confused with someone else.

@blinry thanks for the clarification - then I might have found the wrong github repo. His project was called flatland and it was a 1D game - so I thought this is the one - but as it does not seem to be this one I corrected the PR - sorry for the confusion.

It works for me! Although it looks like there are two "by"s before my name.


chore(deps): update devdependency vite-plugin-dts to ^4.4.0

This PR contains the following updates:

Package
Type
Update
Change

vite-plugin-dts
devDependencies
minor
^4.3.0 -> ^4.4.0

Release Notes

qmhc/vite-plugin-dts (vite-plugin-dts)
v4.4.0
Compare Source
Bug Fixes

correctly generate declaration for custom SFC (acf627d), closes #394

Features

add support for ${configDir} in path (#393) (97e19c0)
resolve file if wildcard element is used (#396) (bb4650d), closes #330

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Hywax Assistant.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (f3e7dd7) to head (2c29ffa).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##              main       #94   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines          147       147
  Branches        26        26
=========================================
  Hits           147       147

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