text:
Support dot-sourcing shell scripts (*nix)

Summary of the new feature / enhancement
A major blocker in using PowerShell for my daily driver shell on macOS is lack of support for dot-sourcing shell scripts.  Dot-sourcing is a big extensibility point for shell scripts as it allows them to update the environment of the parent process, so I cannot use tools that require a bash/zsh profile.  If PowerShell supported dot-sourcing non-PowerShell scripts, these tools could be installed by dot-sourcing them (as they are done in the bash/zsh profile) or just dot-sourcing the bash/zsh profile.
Proposed technical implementation details (optional)

Use file extension and shebang to intelligently detect shell script language.
If the file is a bash or zsh script, interpret the script in its associated interpreter.
In the same interpreter, output all the environment variables to the PowerShell process.
Set the environment variables in the PowerShell process from the output of the shell script.

Just came across this: https://github.com/oh-my-fish/plugin-foreign-env
Might be worth consideration given that fish does this

Proof of concept:
# Execute bash to obtain the environment
$divider = '----DIVIDER----'
$command = "echo && echo '$divider' && env"
if ($args.Count -gt 0) { $command = "$args && $command" }
$output = bash -c $command

# Find the divider index in the output
$i = 0
while ($output[$i] -ne $divider) { $i++ }
$i++

# Parse the environment and set it in the parent session
$output |
    Select-Object -Skip $i |
    ConvertFrom-Csv -Header 'Name','Value' -Delimiter '=' |
    ForEach-Object { Set-Item "env:$($_.Name)" $_.Value }

@SteveL-MSFT this is in your wheelhouse

authors: chriskuech rjmholt


text:
Progress Bar problems with Remove-AppxPackage

Prerequisites

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

Steps to reproduce
This script will demonstrate the problem by removing and re-installing the Calculator app.  (It requires Administrator privileges to be able to re-install the app.)
BugInRemove-AppxPackage.zip
The work-around to re-displaying the progress bar is to run the cmdlet in a new shell.  e.g.
$Env:AppxPackageName = $AppxPackage.Name
. (Get-Process -Id $PID).Processname  -Command 'Get-AppxPackage $Env:AppxPackageName | Remove-AppPackage'
Expected behavior
The progress bar should honor the ProgressPreference and never re-display after the cmdlet completes.

Actual behavior
Remove-AppxPackage does not honor $ProgressPreference = 'SilentlyContinue'.

Then, the progress bar is re-displayed and remains in view if the command is followed by [System.Console]::ReadKey().

These are probably two seperate bugs, but tied closely together.

Error details
No response
Environment data
The problem exists in V5.1 and V7.3.1

Visuals
No response

Pragmatically speaking, using pause instead of [Console]::ReadKey() is a simple workaround that can make a lingering progress bar disappear (though I'm not sure why); a simple demonstration:
# With [Console]::ReadKey(), the status bar would linger.
Write-Progress -Activity Test -Status  '100% complete'; Start-Sleep 2; pause

The root problem is that the Appx cmdlets apparently do not call Write-Progress -Completed, which means that PowerShell will eventually hide the progress bar automatically, but not until after the script at hand has terminated.
As for honoring $ProgressPreference:

As a shell-only variable, it isn't available across process  boundaries, so the code you're passing to . (Get-Process -Id $PID).Processname  -Command will not see the caller's value (btw, a better way to call via a child process is pwsh { Get-AppxPackage $args[0] | Remove-AppPackage } -Args $AppxPackage.Name

Even in-process, however, there's a wrinkle: since the AppX module in PS Core is loaded via the Windows PowerShell Compatibility feature, it uses implicit remoting via a script module, and functions in script modules do not see the caller's preference variables, unless they're defined in the global scope (e.g., $global:ProgressPreference = 'SilentlyContinue'), which requires explicitly restoring the previous value afterwards, so as not to affect subsequent code.

This is a longstanding problem; see #4568 for details.

I forgot about the alternative: you can call Write-Progress -Completed yourself, but, unfortunately, this requires you to supply a dummy -Activity argument; e.g.:
Write-Progress -Activity Test -Status '100% complete'; Start-Sleep 2; Write-Progress -Activity '(dummy)' -Completed; [System.Console]::ReadKey()

The unexpected need for an -Activity argument is the subject of #15252

I previously tried calling "Write-Progress - Activity 'dummy' -Complete" and that did not work.  I also tried creating a new progress bar and clearing it, but the old progress bar remained.
I also tried using pause right after the call and that did not protect the next ReadKey, which I was using to make a menu selection.  The menu display was trashed.
BTW, thanks for the better code idea, now using:
. (Get-Process -Id $PID).Processname { $args[0] | Remove-AppPackage } -Args $AppxPackage

Let's try to narrow this down:

With direct calls, doesn't setting $global:ProgressPreference = 'SilentlyContinue' solve your problem?

It is plausible that the implicit remoting involved in direct calls to (the proxy commands for) the AppX module thwarts the Write-Progress - Activity 'dummy' -Complete workaround. (I haven't tried, given that you shouldn't expect others to download source code just to reproduce your symptom).

Let's try to narrow this down:

With direct calls, doesn't setting $global:ProgressPreference = 'SilentlyContinue' solve your problem?

It is plausible that the implicit remoting involved in direct calls to (the proxy commands for) the AppX module thwarts the Write-Progress - Activity 'dummy' -Complete workaround. (I haven't tried, given that you shouldn't expect others to download source code just to reproduce your symptom).

I just tested $global:ProgressPreference = 'SilentlyContinue' and it does prevent the progress bar from appearing.  I looked in the documentation and saw nothing about when to specify global preference variables.  I did find this came up over 3 years ago in https://github.com/PlagueHO/CosmosDB/issues/308.
The script that I submitted was specifically written to demonstrate the problem and short enough to examine before running.  The problem does not present itself outside of a script and describing how to write the script seemed too cumbersome.  But I understand your reluctance, especially with the Administrator requirement to replace the deleted app.

First, a meta comment:

I dug deeper, and realized that I had some misconceptions and that some of what I suggested wouldn't help.

Notably, I found $global:ProgressPreference = 'SilentlyContinue' not to be effective: while the point about script modules only seeing preference variables if they're defined in the global scope is correct (see #4568), it seems that the additional factor of implicit remoting being involved makes the workaround ineffective.
I think it is due to the fact that the progress display must be silenced at the source, and the automatically generated local proxy script module makes no attempt to pass the local value on.

This may be worth reporting as a separate bug.

On a side note, a -ProgressAction common parameter is coming (though it wouldn't help here): see #18887

I've hidden my previous comments and will post a - hopefully  now correct - summary below.

It is commendable that you prepared detailed code to demonstrate the problem, but to make it easier for others to run it, please in general add it directly to your post, not as an attachment, ideally in the form of a minimal example.

The root problem is that the Appx cmdlets apparently do not call Write-Progress -Completed (or make an equivalent .WriteProgress()  method call, given that they are binary cmdlets) in order to remove the progress bar on completion, which means that PowerShell will eventually hide the progress bar automatically, but not until after the script at hand has terminated.

As such, the problem should be reported against the  Appx module, which is not maintained in this repo. The module's doc page has a "Feedback" section that suggests the Feedback Hub app should be used.

Given that properly removing a progress bar isn't enforced by syntax / tooling, the problem is likely to affect other modules as well.

In your case, since you're using an interactive feature that delays completion of the script - [Console]::ReadKey() - the progress bar lingers at that point.
(Interactive features provided by PowerShell - such as pause - may mask the problem, because they temporarily hide a progress bar, but they actually restores it afterwards).
As for workarounds:

Silencing the progress display altogether with $ProgressPreference = 'SilentlyContinue' is normally an option, but not in this particular case, given that the Appx module is loaded via the Windows PowerShell Compatibility feature, which involves implicit remoting via a proxy script module that is generated on demand, and this module seemingly does not relay the preference, even if set globally (which script modules in general require, unfortunately (see #4568)).

However, the workaround you came up with - calling via a child PowerShell process, using PowerShell's CLI - is effective, and even allows you to choose to display the progress bar, relying on the fact that the PowerShell child process automatically hides it on exiting:

In this case, given that Windows PowerShell is ultimately called anyway, the workaround can be optimized by always calling powershell.exe. Aside from paying a performance penalty (if you call more than once), no functionality is lost.
# With progress display
powershell.exe -NoProfile { Get-AppxPackage $args[0] | Remove-AppPackage } -args $AppxPackage.Name

# Without progress display
powershell.exe -NoProfile { $ProgressPreference = 'SilentlyContinue'; Get-AppxPackage $args[0] | Remove-AppPackage }  -args $AppxPackage.Name

Generally, in cases where implicit remoting is not involved by default, a CLI-based workaround comes with potential loss of type fidelity, however (a price you invariably pay when implicit remoting is involved).

Hiding another command's lingering progress bar on demand with Write-Progress -Activity 'unused' -Completed works only if the progress bar was put up from PowerShell code with Write-Progress too and without using an -Id argument.

Thank you for that detailed resolution.  I have reported this problem on the Feedback Hub as "Remove-AppxPackage does not close the progress bar".

source: gharchive/issue

repo: PowerShell/PowerShell

license: MIT

license_type: permissive

license_source: github-api


text:
Get-Content -Raw should always return a string, and should therefore return the empty string for zero-byte (empty) files - scalars vs. arrays (collections)

This is a follow-up to #3866.
Note: Even if the conclusion will be that Get-Content's behavior mustn't change for the sake of backward compatibility, the underlying scalar-vs.-collection design question is worth getting clarity on, for future reference.
The reasoning for expecting Get-Content -Raw to always return a string scalar is:

-Raw explicitly asks for the file contents to be returned as a single string.

By contrast, without -Raw - irrespective of the -Encoding requested (including -Byte) - Get-Content inherently returns a collection of items (even though PowerShell unwraps a single-item collection to a scalar for convenience):

an array of lines - by default and with any -Encoding value other than Byte
an array of bytes with -Encoding Byte

Therefore, with an empty (zero-byte) file:

-Raw should return the empty string ('')
Not using -Raw should return a null collection ("nothing", which is technically the [System.Management.Automation.Internal.AutomationNull]::Value singleton).

Note: The competing viewpoint from the linked issue is to conceive of a zero-byte file that is read with neither -Raw nor -Encoding Byte as a special case of a one-line file and therefore return the empty string in that case, rather than a null collection.
Steps to reproduce
# Create empty (zero-byte) file.
New-Item -Type File zero.txt

# Read it as a collection of lines, and count the line.
Get-Content zero.txt | Measure-Object | % Count

# Read it as a single string, and count that string (i.e., test if there actually IS a string).
Get-Content -Raw zero.txt | Measure-Object | % Count

# Explicitly compare the single string read to ''
'' -eq (Get-Content -Raw zero.txt)

Expected behavior
0    # Get-Content zero.txt returns a null collection
1    # Get-Content -Raw zero.txt *should* return string scalar ''
True  # Get-Content -Raw zero.txt *should return ''

Actual behavior
0      # OK: Get-Content zero.txt returns a null collection
0      # !! Get-Content -Raw zero.txt also returns a null collection
False  # !! Get-Content -Raw zero.txt does NOT return ''

Environment data
PowerShell Core v6.0.0-beta (v6.0.0-beta.1)

By pulling this out into its own issue, you have discarded the idea that Get-Content without -Raw and without using -Encoding Byte should return an empty string if the file does not contain any characters. There are good arguments indicating that having Get-Content behave differently for empty files than it does for files with one line and differently than it does for files with more than one line is just confusing. That idea should not be discarded just because you don't agree with it. It should be included in this issue as a point of discussion, awaiting input from the PowerShell Team to determine what can/will be done, if anything, with this issue.

@KirkMunro
While I created this issue from the perspective of what makes sense to me:

I linked to the originating issue,

and let everyone know there that I had done so.

That idea should not be discarded

With your response it was just reintroduced, and that was precisely the point of creating this issue:  so we can have a focused discussion here.
Let the conversation continue -  feel free to copy previously made points by you or @rkeithhill to this thread.

@KirkMunro: I've added a paragraph to the initial post to represent your viewpoint. I hope it sums it up reasonably well. If you agree, let's just continue the conversation here.

having Get-Content behave differently for empty files than it does for files with one line and differently than it does for files with more than one line is just confusing.

The one-item collection case (one-line case here) is not specific to Get-Content at all: it is at the heart of PowerShell, as has been mentioned: a one-item collection is automatically unwrapped, by PowerShell itself, irrespective of what command produces it:

This behavior is very convenient on the one hand, but, prior to v3, was a constant source of confusion and bugs: Because people thought that a cmdlet returned a collection, they didn't anticipate not getting one if the cmdlet happened to return just a one-item collection that was automatically unwrapped.

v3 ingeniously resolved this to retain the best of both worlds: even a scalar can now be treated like a collection, which means that you can consistently use .Count to count the number of items returned  and [0] to get the 1st item - whether there's only one or not. In other words: we no longer need to worry about the special-casing of one-item results, and can live happily ever after in the collection mindset.

On a side note: foreach ($v in $null) { 'here' } not causing the loop to be entered strikes me as an inconsistency: a scalar $null - as opposed to a null collection  - should be treated as an object to iterate over, just as happens with $null | % { 'here' }

So, now that cmdlets (with the appropriate options) that return collections in principle can consistently be treated as collections in the one- and multi-item cases, why should the no-item case be any different?
Also note that with your proposal a file made up of just a newline would be treated the same as a zero-byte file.
With the collection approach, you'd get a null collection in the zero-byte file case, and an empty string in the just-a-newline case.

Here's a screenshot of a table showing a comparison of Get-Content calls with and without -Raw, and with and without -Encoding Byte, run against ASCII and UTF-8 files that are either empty, contain only LF, contain a single-line of text with no LF, contain a single-line of text with LF, contain multiple lines of text with no trailing LF, and contain multiple lines of text with a trailing LF.

What this shows is the following:

As Get-Content stands today, looking only at the output, you can accurately identify exactly what the file the output came from contains as long as you are using either -Raw or -Encoding Byte. If you are not using -Raw or -Encoding Byte, you can still identify what the file the output came from contains, with the exception of knowing what type of newlines were used and with the exception of knowing whether or not there was a trailing newline (unless the file did not have a BOM and contained nothing other than a newline, in which case you can tell the file contained exactly that).
If Get-Content were changed to return an empty string from an empty file when -Raw is used and when -Encoding is not Byte, you would still be able to make the same determination.
If Get-Content were changed to return an empty string from an empty file when -Raw is not used and when -Encoding is not Byte, you would not be able to determine from the content if the original file ended with a newline or not, but that doesn't matter much because with the exception of files that don't contain any content or files that contain only a newline, you already cannot identify whether or not a file ended with a newline by looking at the content when you invoke Get-Content this way.

Cc @PowerShell/area-language

@KirkMunro  Thank you for your thorough analysis.

I still suspect this falls under the "breaking change without enough tangible benefit or reason, therefore rejected" category.

That may well be the outcome, but I want us to have clarity on what the right solution would be if we didn't have to worry about backward compatibility, so we can apply that pattern in the future:

Any call that is designed to return a collection (array) of items in principle should return a null collection ([System.Management.Automation.Internal.AutomationNull]::Value) when no items are being returned.

In the case at hand, this applies to Get-Content _without -Raw, irrespective of what -Encoding value if any, and including Byte, is used.

Conversely, any call that by design returns a scalar should, if there's nothing to output, return the empty version of that scalar ('' in the case of [string]), as appropriate, falling back to (scalar) $null.

In the case at hand, this applies to Get-Content -Raw, which, incidentally, you shouldn't be able to to combine with -Encoding Byte, going by the current docs: #3932

I see arguments for both sides when it comes to not using -Raw

I see one historical argument for returning '' when not using -Raw: The historical ambiguity with respect to whether a newline is a separator or a terminator, and the fact that a trailing newline is in practice considered an optional terminator.
Therefore, you could argue that an empty file ('', when interpreted as a string) and a file containing just <newline> are both a collection of one, empty line, which PowerShell then unwraps to the empty-string scalar.
My personal preference is to not perpetuate this historical ambiguity with respect to a truly empty file, in favor of overall consistency, but I do realize that with non-empty files (ones with actual content, aside from an Unicode signature ("BOM")) it must be preserved.

authors: KirkMunro SteveL-MSFT mklement0


text:
powershell package missing from 18.04 Ubuntu Repository

The Microsoft aptitude repository for Ubuntu 18.04 bionic at https://packages.microsoft.com/ubuntu/18.04/prod is missing the powershell package
wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt install --yes apt-transport-https
sudo apt update
sudo apt install --yes powershell

Last command from above fails with

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package powershell

I have verified the existance and correctness of the apt-list-file located at /etc/apt/sources.list.d/microsoft-prod.list which contains
deb [arch=amd64] https://packages.microsoft.com/ubuntu/18.04/prod bionic main

I can however install the .NET Core Runtime and SDK using this repository without problems.

Duplicate Issue! It has been already addressed and worked on for the next PowerShell Core release.
Dup - #6914
Dup - #6942
Dup - #6996
Next release of PSCore will be available for Ubuntu 18.04.
:)


text:
add hyper-operators

hello
please, add a hyper-operators to PS6 [ + - * / ]
here some examples
Steps to reproduce
PS C:\> 1 * 2 * 3 * 4 * 5
120
PS C:\> * 1..5
120
PS C:\> 5 + 998 + 41 + 7
1051
PS C:\> + 5,998,41,7
1051
PS C:\> $factor_10 = * 1..10
3628800

Intriguing idea - certainly makes for more flexible and concise operation expressions.
Just to note (I don't think the idea should be discounted for that reason): * and /  (but not + and -) are currently interpreted as command names at the start of a statement, so interpreting them as operators is technically a breaking change.
Conceivably, the pattern could be extended to -and / -or and -band / -bor, but note that, again, such tokens would currently be interpreted as command names at the start of a statement.

Hmmmm. The syntax seems a bit... Unclear in intent?
Perhaps something like:
-multiply $array
-sum $array

Might be a bit clearer?

Hmmmm. The syntax seems a bit... Unclear in intent?
Perhaps something like:
-multiply $array
-sum $array

Might be a bit clearer?

yes unary operator seem a good idea

Yeah, I see what you mean @mklement0. My main issue with them being unary operators too similar to their binary counterparts is that this then introduces... unclear syntax in more complex expressions. Or do we simply enforce either/or and prevent them also behaving as binary operators in such expressions?
Consider:
2 * 1..5 # Okay, so guess this would be equivalent to 2 * (* 1..5)? Or is it invalid syntax?
* 1..5 + 1..5 # This hurts my brain.

Etc., etc. -- Some of those look like they ought to work, but you could possibly argue either way on exactly how they ought to behave.

Yeah, I see what you mean @mklement0. My main issue with them being unary operators too similar to their binary counterparts is that this then introduces... unclear syntax in more complex expressions. Or do we simply enforce either/or and prevent them also behaving as binary operators in such expressions?
Consider:
2 * 1..5 # Okay, so guess this would be equivalent to 2 * (* 1..5)? Or is it invalid syntax?
* 1..5 + 1..5 # This hurts my brain.

Etc., etc. -- Some of those look like they ought to work, but you could possibly argue either way on exactly how they ought to behave.

using parens seem resolve most problem ?
(* 1..5) (+ 1..5)
(* 1..5) + (1..5)
* (1..5 + 1..5)
2 (* 1..5)

Exactly. In pure unary syntax the proposal is great, but in a more complex expression I think we'd just end up with a largely unintelligible or overly-parenthesized mess. 😕

I think the scenario can be addressed by LINQ. We already have a tracking Issue to add LINQ support.

I think that one's #2226?
Hmm, where did the RFC for that get to...

Yeah, I can see how the precedence issues can get mind-bending.
LINQ support (the RFC is here) would definitely give us the same functionality in principle:
Conveniently in the case of + (summing):
PS> (1, 2, 3, 4).Sum()  # once we have support for LINQ extension methods
10

Not so conveniently in the other cases, using * as an example:
PS> (1, 2, 3, 4).Aggregate({ param($soFar, $element) $element * $soFar })
24

On the plus side, .Aggregate() allows implementation of custom aggregations.

If you wanna turn PowerShell into an array language, steal some ideas from the J language 😃
http://www.jsoftware.com/help/learning/01.htm section 1.8 introduces the "Insert" operator, which is described as:

We see that +/2 3 4 means 2+3+4 and */2 3 4 means 2*3*4. The symbol / is called "Insert", because in effect it inserts whatever function is on its left between each item of the list on its right. The general scheme is that if F is any dyadic function and L is a list of numbers a, b, c, .... y, z then:
F / L     means    a F b F .... F y F z

And then we're well on the way to transforming an array all at once instead of loops and filters everywhere and...
But seriously, $array | measure-object -sum | select-object -expandproperty sum is the PowerShell way to sum a list, and LINQ Sum/Aggregate is the .Net way to reduce() a list, and I'd rather see LINQ support first, then more consideration of operators to cover for it missing.
+ 5,998,41,7 does already have a meaning in PowerShell.
# and maybe extend the syntax to math library:
-exponent 1..5,2

There is an open issue about an operator to map to [math]::pow() somewhere

Taking a leaf out of the Haskell book, where operators are just infix functions:
function *
{
    param(
        [Parameter(ValueFromRemainingArguments=$true, ValueFromPipeline=$true)]
        [object]
        $Num
    )

    begin
    {
        $acc = 1
    }

    process
    {
        if ($Num -as [object[]])
        {
            foreach ($v in $Num)
            {
                $acc = $acc * $v
            }
            return
        }

        $acc = $acc * $Num
    }

    end
    {
        return $acc
    }
}

> * (1..5)
120

> * 3 4 5
60

> 10,3,7 | *
210

Extending this a bit further, basic folds are possible:
function fold
{
    param(
        [Parameter()]
        [string]
        $Function,

        [Parameter()]
        [object]
        $Zero,

        [Parameter(ValueFromPipeline=$true, ValueFromRemainingArguments=$true)]
        [object]
        $Obj
    )

    begin
    {
        $acc = $Zero
    }

    process
    {
        if (-not ($Obj -as [object[]]))
        {
            $acc = & $Function $acc $Obj
            return
        }

        foreach ($o in $Obj)
        {
            $acc = & $Function $acc $o
        }
    }

    end
    {
        return $acc
    }
}

function *
{
    $args[0] * $args[1]
}

function +
{
    $args[0] + $args[1]
}

> fold + 0 1 2 3
6

> 3..7 | fold * 1
2520

> fold + '' 'x','y','z'
xyz


text:
[release/v7.4.1] Fix rendering of DisplayRoot for network PSDrive

Backport #20793

All CIs passed except the markdown link check, which is not related to the ported PR.

Backport #20793

Why 'backport'?

Seems there's an issue with this in 7.4.1 GA, as reported in https://github.com/PowerShell/PowerShell/issues/21064

source: gharchive/pull-request

authors: daxian-dbw no-identd sba923


text:
Add PS_DAILY_BUILD variable check in Test-DailyBuild

The PS_DAILY_BUILD variable is set in the Appveyor environment in the
PowerShell [Daily] project. When this is set we want to have full daily
build.

Hi @adityapatwardhan, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Aditya Patwardhan). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

authors: adityapatwardhan msftclas


text:
Wrapping a call to Registry so that Invoke-WebRequest does not fail on non-text responses

A small bug where content types from an Invoke-WebRequest that are not text-based fall through to a registry check.  Wrapping that check (which is additive) with a #if !CORECLR.  I can't find any tests that test out that specific behavior, or I would be happy to extend them.  I'm also happy to add a new test, just not sure if that is desired.

Hi @JonathanMalek, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Thanks for the background @mirichmo.  Changed to check for Platform.IsWindows instead.

@JonathanMalek Thanks for your contribution

authors: JonathanMalek mirichmo msftclas


text:
Fixed test to not create a file called 1 when run

When using Start-PSPester a file called 1 was being created.  This is due to incorrect usage of a redirection operator > when it should have been the comparison operator -gt.  After fixing this, a new
code path started executing which had incorrect assumption as the Format-Hex cmdlet works with
16-bytes at a time, so fixed that logic.

I fixed this same thing in PR #3800 but it doesn't look like it was merged.

@MiaRomero didn't see your PR, closing this one

authors: MiaRomero SteveL-MSFT


text:
Make TabCompletion case-insensitive for file names on Unix

Attempt to fix #1273

Options was added.
Also I had to fix an Issue with brackes in paths (tests failed for "Get-Help '.\My [Path]'").

One MacOs test failed - I have no opportunity to debug 😕 @vors could you help?

@vors Could you please build and check that we have case match.

@iSazonov order doesn't prefer the original casing from my experiments on macOS

@vors @lzybkr
Today I make some tests and now I suggest either close the PR or remove last commit (remove case-sensivire sorting for Unix) because I don't see a solution - we resolve wordToComplete to absolute filesystem paths then we should case-sensitively compare the paths with wordToComplete (as regex pattern) but in common case the wordToComplete can be relative "path" with wildcards or absolute "path" with wildcards. Ex.: /usr/*/*nn*/M*file and ./*/*nn*/M*file. Also we should convert (escape)  wordToComplete to regex pattern. I have no ideas how make that in short code and I have no Unix development environment to create large solition.

couple thoughts: order really matters only for a common case (no wildcards). If that is still hard, we can merge it without reordering and improve it later, if this behavior is guarded by an option flag.

authors: iSazonov vors


text:
Create unified release build for macOS and Linux packages

PR Summary
Create unified release build for macOS and Linux packages

Also, updated the definition with latest definitions from the definitions in use.

I will work on these in future PRs:

Add compliance Job
Add macOS Signing step
Merging Windows into the YAML

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[x] Not Applicable
OR
[ ] User-facing Documentation needed

[ ] Issue filed - Issue link:

Testing - New and feature

[x] Not Applicable or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] if the change is significant or affects feature tests

cc @alerickson

@adityapatwardhan 	I believe I have addressed your comments


text:
MSFT_xWebAppPoolDefaults: Move localization strings to strings.psd1 file #470

Move localization strings to strings.psd1 file
This Pull Request (PR) fixes the following issues
Fixe #470
Task list

[ ] Added an entry under the Unreleased section of the change log in the CHANGELOG.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[x ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

Codecov Report

Merging #519 into dev will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##              dev     #519   +/-   ##
=======================================
  Coverage   91.39%   91.39%
=======================================
  Files          17       17
  Lines        2661     2661
=======================================
  Hits         2432     2432
  Misses        229      229

Impacted Files
Coverage Δ

..._xWebAppPoolDefaults/MSFT_xWebAppPoolDefaults.psm1
97.61% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Please update this PR similar to https://github.com/PowerShell/xWebAdministration/pull/514.

CHANGELOG.md updated

@omiossec Thank you for the contribution! This got us closer to HQRM. 😄

authors: codecov-io johlju omiossec

repo: PowerShell/xWebAdministration

license: mit

license_source: bigquery


text:
Поддержка работы механизма UI Automation.

Поддержка работы механизма UI Automation.
Нужна возможность искать элементы формы любого процесса с помощью UI Automation.

Решено.

repo: Pr-Mex/vanessa-automation


text:
Не реализовано выполнение шага И я проверяю или создаю для справочника "ИмяОбъекта" объекты с обмен данными загрузка истина:

Укажите:

Версия Vanessa Automation: 1.2.38.1
Версия платформы: 8.3.20.1674
Режим совместимости базы, где запускается Vanessa Automation 8.3.20 (Не использовать)
Операционная система Windows Server 2019

Заполните шаблон обсуждения GIT

Сценарий: При запуске шага
И я проверяю или создаю для справочника "ИмяОбъекта" объекты с обмен данными загрузка истина:
Допустим:
`И я проверяю или создаю для справочника "ИмяОбъекта" объекты с обмен данными загрузка истина:`
		| 'Ссылка'                                                           | 'ПометкаУдаления' | 'Код'       | 'Наименование'           |
		| 'e1cib/data/Справочник.Банки?ref=8ca0000d8843cd1b11dc8d043d71008e' | 'False'           | '000000006' | 'МосСтройСити Банк'      |

Когда: Запускается выполнение шага
Тогда:
Выводится сообщение:
Пустой адрес снипета у шага: И я проверяю или создаю для справочника "Банки" объекты с обмен данными загрузка истина:`
Исследование вороса показало, что шаг
И я проверяю или создаю для справочника "Банки" объекты:
выполняется без ошибок.
Не выполняется именно, обмен данными = истина
Кроме того, оказались не реализованы и другие шаги с этим предложением .
У себя добавил реализацию этих шагов, могу сделать PR. Или же лучше чтобы исправил автор этого модуля?

@DitriXNew
Ответь, плиз.

На самом деле там была проблема в том, что исторически - шаги без  с обмен данными загрузка истина, грузились с ложью, и было много жалоб от людей.
Мы сделали новые шаги, с этим окончанием, но уже было написанно тысячи тестов, и переделывать их было почти не реально. Поэтому по сути надо реализовать:
с обмен данными загрузка Ложь, а не истина.
Или, лучше вообще указывать параметром Ложь или Истина.
А те что есть шаги - так и оставить уже для совместимости.
Так что перепроверьте код, там одни и те же функции вызываются. Если уже кто-то что-то не исправил :)

Так может быть реализовать оба варианта, Загрузка = Истина, и Загрузка = Ложь.

@dimjmur
Как я понял в коде была ошибка.
Этот реквест её должен исправить
https://github.com/Pr-Mex/vanessa-automation/pull/1518#issuecomment-1024640298

@dimjmur
Реквест принят. Можете проверить исправление?

@Pr-Mex, да, проверю - напишу.

Сообщение изменилось:
31.01.2022 11:57:54 {<Неизвестный модуль>(1)}: Метод объекта не обнаружен (ЯПроверяюИлиСоздаюДляСправочникаОбъектыСОбменДаннымиЗагрузкаИстина)
Не были внесены изменения в файл
..\vanessa-automation\features\Libraries\ПодготовкаИЗагрузкаДанных\ПодготовкаИЗагрузкаДанных.epf
Там тоже нужно добавить эти функции.

@dimjmur
Принял ещё один реквест по исправлению этой проблемы. Проверьте, пожалуйста.

@Pr-Mex Всё ОК!

аналогичная проблема с регистром сведений: подсказка есть, а снипет отсутствует

authors: DitriXEDT KalyakinAG Pr-Mex dimjmur


text:
Connection Timeout between prefect & Airbyte

Hi
For some flows / airbyte tasks I got some timeout when prefect is trying to get the airbyte task job status
Encountered exception during execution:
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/httpcore/backends/asyncio.py", line 33, in read
    return await self._stream.receive(max_bytes=max_bytes)
  File "/usr/local/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 1265, in receive
    await self._protocol.read_event.wait()
  File "/usr/local/lib/python3.9/asyncio/locks.py", line 226, in wait
    await fut
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/httpcore/_exceptions.py", line 8, in map_exceptions
    yield
  File "/usr/local/lib/python3.9/site-packages/httpcore/backends/asyncio.py", line 35, in read
    return b""
  File "/usr/local/lib/python3.9/site-packages/anyio/_core/_tasks.py", line 118, in __exit__
    raise TimeoutError
TimeoutError

The weird thing is that happens quite randomly, it happens on some task but some others are working well.
Any idea ?
Maybe at least we could have a retry on the request and not raise an exception directly ?

Hi @lucienfregosibodyguard!
Could you please provide an example showing how you were using prefect-airbyte's tasks?
If possible, it would also be helpful to see the part of the stack trace involving that task - from the portion provided, it's unclear what task you're using or where it's actually timing out.

I am experiencing a similar problem.
I am wondering if this problem could be caused by the default timeout of 5 seconds for httpx.AsyncClient used within AirbyteClient?
If this is correct, it would be greatly appreciated if you could add a timeout setting to trigger_sync.
https://github.com/PrefectHQ/prefect-airbyte/blob/v0.1.0/prefect_airbyte/client.py#L56
https://github.com/encode/httpx/blob/0.23.0/httpx/_client.py#L1355
https://github.com/encode/httpx/blob/0.23.0/httpx/_config.py#L361

Hi @zzstoatzz
Here are the code where I'm using airbyte task
        res = trigger_sync(
            connection_id=connection_id,
            poll_interval_s=3,
            status_updates=True,
            airbyte_server_host=airbyte_server_host,
            airbyte_server_port=airbyte_server_port,
        )

And the full stack trace :
https://pastebin.com/zuDYgpGe
I didn't know for the withoptions I will try with this.

hi @nyuta01 and @lucienfregosibodyguard !
I went ahead and added a timeout parameter to the trigger_sync task (as well as the export_configuration task) which will set the timeout for requests made by the httpx.AsyncClient.
prefect-airbyte==0.1.1 includes this change and has just been released - thank you both for raising this issue!

repo: PrefectHQ/prefect-airbyte


text:
Updates polling log level

Closes #94
Checklist

[x] This pull request references any related issue by including "Closes #<ISSUE_NUMBER>"

If no issue exists and your change is not a small fix, please create an issue first.

[ ] This pull request includes tests or only affects documentation.
[ ] Summarized PR's changes in CHANGELOG.md

lgtm! out of curiosity, what prompted this change?

@gabcoyne opened #94 which raises the issue that the primary flow of this collection is cluttering user logs. I think we can update the logging to be more selective, but this is a quick way to avoid cluttering user logs.

repo: PrefectHQ/prefect-dbt


text:
Improvements and Bug Fixes

Added ID checking against the eShop title ids
Fixed checking a title id with lowercase letters
Simplified title id generation a little
Fixed a bug in generateID that caused it to return undefined if the id was already in use
Fixed a possible HTML injection bug when setting the found title, and developer

@PremadeGames I'd like to suggest that you change the default branch to gh-pages and delete the master branch.
I unknowingly based my work off the master branch which has different commit IDs and it made a mess of things...

repo: PremadeGames/HomebrewTitleIDGenerator


text:
Display of list of notifications in my account

Questions
Answers

Description?
This improves the display of the list of notifications in the customer account: fixes alignment and margin issues.

Type?
bug fix

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes PrestaShop/Prestashop#28217.

How to test?
Using this branch, go on the list of notifications page in FO see if everything looks fine

@szavadskiy

The text is not vertical aligned on center

Are you sure you tested the latest version? Since this commit, the text and the trash can are vertically centered.

The background of product block is not white
I changed section background to black.

I don't understand why you are doing this! The background of product block IS white because the <section id="main" IS white.

@szavadskiy @hibatallahAouadni
I got it. Both for the vertical alignment and the bg-color. I fixed it.

@szavadskiy Sorry for the delay. I hope this time everything will be OK.

Thanks @lmeyer1 & @szavadskiy & @hibatallahAouadni


text:
In user profile show "followed by [from people I follow]"

On Twitter, when you go to someones profile, there is the basic info how many followers etc that person has, but there is also "followed by this accounts that you follow" list of icons.
For example:

This is important to quickly assert if this profile is real or imposter. There are already imposters on nostr trying to impersonate famous personalities. This would help identify them more easily.

This would be very helpful.

This is coming up in 2.0.

authors: PavleKreator nearlymad urza

repo: PrimalHQ/primal-ios-app


text:
Colored Signs & Another way of editing them

Hello,
got some feedback from players today which in case of 1 is for cyclic and in case 2 i thought might be something that might would fit into your mix of tweaks:

They would like to be able to edit signs without left clicking, as in creative this will remove the sign. Shift-Rightclick or Rightclick with a sign in hand would be preferred. Maybe something to think about?

There is no mod that i found yet that allows colorizing / formatting contents on signs. We all know it was possible with bukkit plugins but there is nothing for 1.12 forge yet. As i see that you do add some small tweaks - what about this one? In Bukkit they used & instead of § and then colored the following text.

for #1 yeah maybe i will think about changing to left click, right doesnt make sense since right click is attack/break.
for #2, yeah it does seem like all those are in game, but the only work in certain places.  Like book and quill they work fine but not sign.  ill see how possible it is https://minecraft.gamepedia.com/Formatting_codes#Sample_Text

You mean to change to rightclick? Left click is the actual behaviour atm.
Sam notifications@github.com schrieb am Mo., 28. Mai 2018, 07:39:

for #1 https://github.com/PrinceOfAmber/Cyclic/issues/1 yeah maybe i
will think about changing to left click, right doesnt make sense since
right click is attack/break.
for #2 https://github.com/PrinceOfAmber/Cyclic/pull/2, yeah it does
seem like all those are in game, but the only work in certain places. Like
book and quill they work fine but not sign. ill see how possible it is
https://minecraft.gamepedia.com/Formatting_codes#Sample_Text
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PrinceOfAmber/Cyclic/issues/789#issuecomment-392424410,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYtVcGDLFOzn9ST0QiOvAnLJpOXWlm7Nks5t242OgaJpZM4TrbBI
.

Nice.
Well, in Bukkit you just used $ instead of § for the color codes in text. That'd be enough for me.
You also could add Color-Buttons or something else - but i'm not sure if that's worth it.

Ok no keybinds.
Looks like vanilla sign rendering also supports the following options on top of colour
   private Boolean bold;     private Boolean italic;     private Boolean underlined;     private Boolean strikethrough;     private Boolean obfuscated; // not sure what this means yet

Obufscated makes the text to runes like in the enchantment table, while those runes are changing every second. It’s useless, but funny.
Gesendet von Mail für Windows 10
Von: Sam
Gesendet: Montag, 28. Mai 2018 22:38
An: PrinceOfAmber/Cyclic
Cc: D3nnis3n; Author
Betreff: Re: [PrinceOfAmber/Cyclic] Colored Signs & Another way of editingthem (#789)
Ok no keybinds.
Looks like vanilla sign rendering also supports the following options on top of colour
private Boolean bold; private Boolean italic; private Boolean underlined; private Boolean strikethrough; private Boolean obfuscated; // not sure what this means yet
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

a rainbow crayon

Yeah i wanted to make sure to save it in the vanilla data format, otherwise it seemed like it might involve more hacking into sign rendderer (unless im wrong)
For example it has data like this
https://minecraft.gamepedia.com/Sign
{Text2:"{\"text\":\"line2\",\"color\":\"blue\"}"}
so Text2 means this is line 2, and then it has one text tag for the line and one color tag

repo: PrinceOfAmber/Cyclic


text:
As a content admin, I want to export information about people in the database so I can work with it in other systems such as OpenRefine.

testing notes
note: because this export functionality was also retroactively applied to the books export tool, we need to test both tools. repeat these steps on both the items list page and people list page.

From the list page, check that a "Download all as CSV" button appears in the upper right (near "Add Item"). Click it.
You should get a prompt to download a CSV file. Accept and wait while the file is streamed - this could take a while! If it takes more than 1-2 minutes, something is wrong.
Check that the filename of the CSV matches what you were downloading and contains a timestamp, e.g. mep-people-20180920... etc.
Open Excel (but don't open the file itself yet!). Create a new workbook, then choose File -> Import and pick CSV file. Choose the file you downloaded.
Leave the data on the "Delimited" setting. Under "File origin", choose "Unicode (UTF-8)", towards the bottom of the list.
On the next screen, ensure only "comma" is checked as a delimiter. The preview should look like a normal spreadsheet. You can click through and finish the wizard without changing anything else - import the data into your existing sheet in the new workbook.
Skim through the imported data and check that item titles, person names, etc. appear correct, including special characters (for example, Tolstoy's name includes Cyrillic text). Ensure that all the relevant fields are present.
If everything looks right, go back to the admin interface for the model you're testing (books or people).
Select a subset of your results. You can do this using a combination of the checkboxes in the list and the filters at the top right (for example, try filtering people to just Creators, then clicking the top-left checkbox to select the whole page, and finally clicking "Select all 2443 people" at the bottom left to select all Creators).
At the lower left, find the dropdown that says ------------- and from it choose "Export selected to CSV". Click "Go".
From this point, you can repeat steps 2-7. Everything about the process should be identical, except the data included in the download, which should match what you selected. Smaller subsets (a few to a few hundred items) should download much more quickly.

notes for development

Create a new view to generate a CSV export of people. Include the following fields:

name
sort name
mep id
birth year
death year
sex
title
profession
is organization
updated at
notes
is creator (author or other creator of items in the library)
has account (is a library member)
in logbooks (has subscription or reimbursement events)
has card (account has an associated library lending card)

Add a button to people admin view to download the report

Should we include the new "is verified" field in this export?  If it would be easy to add, maybe we might as well--just in case we find a use for it in a later workflow.

@elspethgreen I wondered about that when I added the new verified field. It is indeed easy to include - just updated the test site with a change to include that field in the CSV export.

I think this looks good!

authors: clmahoney elspethgreen rlskoeser

repo: Princeton-CDH/mep-django


text:
Implement visual review workflow

see https://github.com/Princeton-CDH/cdh-web/pull/260

[ ] install percy js dependencies
[ ] install selenium python dependencies
[ ] create visual tests github workflow file
[ ] copy over/adapt visual test running script from cdhweb (visual_tests.py)
[ ] create management command to populate test site — use fixtures + setup_site_pages command for wagtail pages
[ ] add repository to percy web UI and add project percy token to github repo secrets for PPA

repo: Princeton-CDH/ppa-django


text:
Change atom to element

Change references in the code from atom to the correct term, element

OK, I did some more research myself, and it does seem that most cases in this project, atom is the correct / appropriate term. An atom can be defined as "An atom is the smallest unit of matter that retains all of the chemical properties of an element.". An element is "a substance that is made entirely from one type of atom".
Since we are discussing the labeling of individual atoms, it would make sense to me to use atom consistently throughout this project. I think it's appropriate to use the term "carbon atom" when referring to an individual atom of the element carbon.
Thoughts from @hepcat72 or @mneinast ?

Yeah.  I think atom is fine.  It's funny.  I always thought of "atmoic number" in the periodic table as "number of atoms" (number of protons and of neutrons, I guess).  Proton, neutron, and electron are unambiguous, at least.  And the original notion of "atom" was the smallest piece of matter that could not be divided, but the term has evolved from that original notion when it was discovered you could "split" the "atom".  So I think either term works.  I just think atom is just slightly ambiguous.


text:
Bicep: Resolved TODO + improvements

This PR resolves the TODO for interpolated strings and multiline strings.
I also added highlighting for object properties, data types, and arbitrary functions.

@johnnyreilly
I never used Bicep. Does this highlighting make sense?
Also, this is a bit late, but what are these function names? Will the more general function detection I used (/\b[a-z_]\w*(?=[ \t]*\()/i) find them as well?

This is brilliant! And yes the highlighting makes sense.

Also, this is a bit late, but what are these function names

These are the array functions for ARM templates
If the regex you mention covers camel case words without spaces (and I think it does) then it could work

Question: how do you get to see the highlighting? Is there a way to test locally? I was just basing my work on the test results - I didn't realise there was an alternative!

If the regex you mention covers camel case words without spaces (and I think it does)

Yes, it does. I'll remove the ARM template functions then since they are already highlighted by the function regex.

Is there a way to test locally?

Yes, you can use the local version of the test page. Just open test.html in your browser.

Bicep doesn't have classes

True, it has data types. However, we use the token name class-name for all type-like names (classes, interfaces, built-in types, any data type really). Tests are named after the token name, so I named the test file class-name_feature.test.
I'll just name the token datatype and give it a class-name alias.

Great work!

Hey @RunDevelopment ! Do you have an idea when you're likely do the next release of prism? I'm really looking forward to using Bicep - but can't until a new version ships!

@johnnyreilly In about a month. In the meantime, it is available on our download page and you can configure npm to get prism directly from this repo. Our master branch is always stable.

Thanks - in my case I'm going to be consuming it via Docusaurus and so it won't be until the new version that I'll be able to consume this.
I look forward to next month!

Interestingly I did give adding this dependency to my Docusaurus package.json:
    "prismjs": "PrismJS/prism",

and updating my docusaurus.config.js to add bicep in:
    prism: {
      additionalLanguages: ["bicep"],
    },

But when I ran I experienced this issue:

Uncaught Error: Cannot find module './prism-bicep'

Not sure if this is a sign of an issue - or just user error on my behalf. Thought I'd mention it just in case this is significant.

That should work, I think. It might be some dependency problem. Could you please check the following:

Does "prismjs": "PrismJS/prism" work? Basically does node_modules/prismjs/components/prism-bicep.js exist?
Does Docusaurus use that version of Prism? It might be that Docusaurus has its own version Prism given to it by npm. You can see this in package-lock.json. If yes, then npm dedup might fix it.

yes - it looks like it's a transitive dependency issue with @docusaurus/theme-classic
I was able to workaround it by adding the following to the package.json:
  "resolutions": {
    "prismjs": "PrismJS/prism"
  },

I ended up writing this up here: https://blog.johnnyreilly.com/2021/08/19/bicep-syntax-highlighting-with-prismjs

authors: RunDevelopment johnnyreilly

repo: PrismJS/prism


text:
Update numpy<2 and onnxruntime<2 for compatibility

numpy v2.0 is out.
https://numpy.org/doc/stable/release/2.0.0-notes.html However onnxruntime only supports v1.

A recent PR merge entailed changing a package version. So you need to pull latest and send an update to this PR.

@PrithivirajDamodaran done. :)

The upstream onnxruntime has mitigated to compatible with numpy 2 onwards. No more breaking in FlashRank, case could be closed. Thanks for consideration.

authors: PrithivirajDamodaran gnought

repo: PrithivirajDamodaran/FlashRank


text:
#634 issue number.Enhance Header and Navigation Styles

This pull request implements a complete redesign of the header and navigation bar for your travel website to improve aesthetics and user experience.
Header Design:

Set a dark grayish-blackish-blue background color for the header to provide a modern look.
Changed the text color to white  for better readability against the dark background.
Added padding for improved spacing and overall appearance.

Navigation Bar:

Implemented a cohesive navigation structure beneath the header, ensuring easy access to key website sections.
Navigation links are styled with white text to maintain visibility and clarity.
Added a hover effect that changes the link background to a lighter gray and the text color to gold, enhancing user interaction.

Please consider this pull request and merge @PriyaGhosal
Thank You

@prakruthiprasad20 header not looking good Please see the conflicts . Resolve the conflicts . Ensure you pull all the latest changes before pushing your feature/bug fixes to the main branch. After resolving the conflicts, please open a new PR for review.
Thank you!

repo: PriyaGhosal/BuddyTrail


text:
Improve DB interface

Use abc.ABC and abstractmethod to properly define the database interface. I've used TypedDict to model the database, we might consider using pydantic models in the future to run validations on the input files.
I assumed that we are not using GraphQL to simplify the code. Let me know if we actually use it.
Additionally, removed comments (platzky's feature). Perhaps it could be in a separate PR as it's unrelated to the other changes, but I'll leave it here for now.

Discussed on slack, but stating it here for some vagabonds.
This pull request is blocked by #51

authors: oskarrrrrrr raven-wing

repo: Problematy/goodmap


text:
Replace some test-case uses of addCompletionBlock with DidFinishObserver

Unless explicitly testing completion blocks, we really ought to be using DidFinishObservers instead of completion blocks in tests.

NOTE: addCompletionBlockToTestOperation internally uses a DidFinishObserver, so there is no need to replace use of that function.

In BasicTests.swift:

[ ] test__delay_operation_completes_after_interval
[ ] test__operation_with_long_running_dependency_cancels_and_finishes_without_...

In GroupOperationTests.swift:

[ ] test__group_operations_are_performed_in_order
[ ] test__adding_operation_to_running_group
[ ] test__group_operation__does_not_finish_before_child_operations_have_finished
[ ] test__group_operation__does_not_finish_before_child_groupoperations_are_finished
[ ] test__group_operation_does_not_finish_before_child_produced_operations_are_finished
[ ] test__group_operation_cancellation__queue_is_empty_when_finished
[ ] test__group_operation_operations_array_receives_operations_produced_by_children
[ ] test__group_operation_ignores_queue_delegate_calls_from_other_queues

In NetworkObserverTests.swift:

[ ] test__network_indicator_hides_after_short_delay_when_operation_ends

In StressTests.swift:

[ ] test__group_operation_cancel_and_add_operation
[ ] test__repeated_operation_cancel
[ ] test__group_operation__does_not_finish_before_child_operations_are_finished

I think we can probable close this now as it's gonna be redundant. :)

authors: danthorpe swiftlyfalling

repo: ProcedureKit/ProcedureKit


text:
Item as unit of reporting

Clarifying implication of item as unit on book reporting

Merging to facilitate clean up and text edit issues


text:
156 split loader and saver from processing

Fixes #156 .
Description
This PR modifies the inference script of spleen_ct_segmentation bundle via putting image load out of preprocessing and putting image save out of postprocessing.
a flag use_loader is used to determine if LoadImaged is included into preprocessing, and a flag use_saver is used to determine if SaveImaged is included into postprocessing.
After these changes:

if users want to use the default settings, they do not need to change anything.
if users want to load images by using other methods, but still use the dataset inside the script, they can specify use_loader to False and then override dataset#data, the following is an example:

Status
Ready
Please ensure all the checkboxes:

[x] Codeformat tests passed locally by running ./runtests.sh --codeformat.
[ ] In-line docstrings updated.
[ ] Update version and changelog in metadata.json if changing an existing bundle.
[ ] Please ensure the naming rules in config files meet our requirements (please refer to: CONTRIBUTING.md).
[ ] Ensure versions of packages such as monai, pytorch and numpy are correct in metadata.json.
[ ] Descriptions should be consistent with the content, such as eval_metrics of the provided weights and TorchScript modules.
[ ] Files larger than 25MB are excluded and replaced by providing download links in large_file.yml.
[ ] Avoid using path that contains personal information within config files (such as use /home/your_name/ for "bundle_root").

/build

Thanks for the quick update of the inference config.
Based on your modification, I feel maybe make it even simpler:
"disable_loader": "false",
"disable_writer": "false",
"preprocessing": {
        "_target_": "Compose",
        "transforms": [
            {
                "_target_": "LoadImaged",
                "keys": "image",
                "_disabled_": "@disable_loader",
                "_desc_": "the default image loader, if disabled, the preprocessing accepts data volume directly."
            },
            {
                "_target_": "EnsureChannelFirstd",
                "keys": "image"
            },
            {
                "_target_": "Orientationd",
                "keys": "image",
                "axcodes": "RAS"
            },
            {
                "_target_": "Spacingd",
                "keys": "image",
                "pixdim": [
                    1.5,
                    1.5,
                    2.0
                ],
                "mode": "bilinear"
            },
            {
                "_target_": "ScaleIntensityRanged",
                "keys": "image",
                "a_min": -57,
                "a_max": 164,
                "b_min": 0,
                "b_max": 1,
                "clip": true
            },
            {
                "_target_": "EnsureTyped",
                "keys": "image"
            }
        ]
    },

@yiheng-wang-nv , @wyli , @SachidanandAlle , @MMelQin What do you think?
Thanks in advance.

Thanks for the quick update of the inference config. Based on your modification, I feel maybe make it even simpler:
"disable_loader": "false",
"disable_writer": "false",
"preprocessing": {
        "_target_": "Compose",
        "transforms": [
            {
                "_target_": "LoadImaged",
                "keys": "image",
                "_disabled_": "@disable_loader",
                "_desc_": "the default image loader, if disabled, the preprocessing accepts data volume directly."
            },
            {
                "_target_": "EnsureChannelFirstd",
                "keys": "image"
            },
            {
                "_target_": "Orientationd",
                "keys": "image",
                "axcodes": "RAS"
            },
            {
                "_target_": "Spacingd",
                "keys": "image",
                "pixdim": [
                    1.5,
                    1.5,
                    2.0
                ],
                "mode": "bilinear"
            },
            {
                "_target_": "ScaleIntensityRanged",
                "keys": "image",
                "a_min": -57,
                "a_max": 164,
                "b_min": 0,
                "b_max": 1,
                "clip": true
            },
            {
                "_target_": "EnsureTyped",
                "keys": "image"
            }
        ]
    },

@yiheng-wang-nv , @wyli , @SachidanandAlle , @MMelQin What do you think?
Thanks in advance.

Thanks @Nic-Ma . I think this version is much more clear than I did. I will add a new commit to use this way!

Thanks for the quick update of the inference config. Based on your modification, I feel maybe make it even simpler:
"disable_loader": "false",
"disable_writer": "false",
"preprocessing": {
        "_target_": "Compose",
        "transforms": [
            {
                "_target_": "LoadImaged",
                "keys": "image",
                "_disabled_": "@disable_loader",
                "_desc_": "the default image loader, if disabled, the preprocessing accepts data volume directly."
            },
            {
                "_target_": "EnsureChannelFirstd",
                "keys": "image"
            },
            {
                "_target_": "Orientationd",
                "keys": "image",
                "axcodes": "RAS"
            },
            {
                "_target_": "Spacingd",
                "keys": "image",
                "pixdim": [
                    1.5,
                    1.5,
                    2.0
                ],
                "mode": "bilinear"
            },
            {
                "_target_": "ScaleIntensityRanged",
                "keys": "image",
                "a_min": -57,
                "a_max": 164,
                "b_min": 0,
                "b_max": 1,
                "clip": true
            },
            {
                "_target_": "EnsureTyped",
                "keys": "image"
            }
        ]
    },

@yiheng-wang-nv , @wyli , @SachidanandAlle , @MMelQin What do you think?
Thanks in advance.

Thanks @Nic-Ma . I think this version is much more clear than I did. I will add a new commit to use this way!

Though it does not really change how App SDK ignores the LoadImage and SaveImage (filtering out the specific transform names once all are parsed from the config file), the explicit attribute makes it much cleaner and easier to read.
What the difficulties that I see are the logic to align and feed the correct data input to the transforms. The App SDK has two ways to customize the image/tensor loading,

provide a custom ImageReader (to read from memory the already prepared DICOM image) to the LoadImage
completely ignores LoadImage in the Bundle Inference operator to be more generic on feeding in-memory image/tensor to transform Compose

For image based, it is straightforward, even if multiple keyed images, other data types might not be so simple. The App SDK Bundle Inference Operator has the code to do it but I do feel it can be enhanced, or the core can provide some API to help feed the transform Compose now that the LoadImage can be legitimately ignored. Also, parsing the output from post-transform more generically is also tricky.
Hence, 80% of the models can have automated App SDK bundle inference support, while the others requiring custom application (maybe re-using custom transform/apps from core).

Hi @MMelQin ,
Thanks for your detailed analysis. The explicit attributes can help easily ignore the read / write logic, especially when the bundle developer uses some customized read / write transform (for example maybe inherit from LoadImage) which can't be filtered by name.
Thanks.

I meant to change my last comment. For sure these attribute will make the App SDK code simpler by setting the the explicitly instead of filtering on magic string matching.

close this PR as currently we will not continue this method to change the bundle format.

authors: MMelQin Nic-Ma yiheng-wang-nv

repo: Project-MONAI/model-zoo


text:
Mistral 7 b

closes #42
Mistral is now working locally and can be used.

Look into fixing AMD compatibility before acceptance (if possible)

authors: VeriHeppi vnuotio

repo: ProjectCED/CED-LLM


text:
✨Gas golfing: make constructors payable

Motivation
You can cut out 10 opcodes in the creation-time EVM bytecode if you declare a constructor payable. For more in-depth information see here: https://forum.openzeppelin.com/t/a-collection-of-gas-optimisation-tricks/19966/5.
Solution
Make all constructors payable including the reference implementation due to the sake of consistency.

Cc: @0age @transmissions11

repo: ProjectOpenSea/seaport


text:
When trying to run npm run dev, it fails to render the content

When I try running npm run dev to see the boilerplate code, the components are not loading and no issues are found shown on the console.
My process was:

git clone git@github.com:ProjectPenrose/paradox.git
npm install
npm run dev

I also tried running npm run webpack but I get the error
`> paradox@0.0.1 webpack

./node_modules/.bin/webpack.cmd -w

sh: 1: ./node_modules/.bin/webpack.cmd: not found`

In paradox@0.0.1 You need to run dev and webpack in parallel. I refactored the "dev" script. Now you should be able to render without executing npm run webpack
Please try to pull the repository again and:

npm i
npm run dev

repo: ProjectPenrose/paradox


text:
The state of these workflows

Overview
I thought it would be useful to write down an explicit list of tasks that we want these workflows to accomplish, with a checklist to keep track of what still needs work.
What basic functionality are we trying to achieve? There's a matrix of different use cases that we are trying to cover, which fall into two basic groups: building (i.e. executing notebooks and rendering the html of the book pages), and publishing (pushing the built html to GitHub Pages)
Building
We are trying to support notebook execution on GitHub Actions as well as on a Binder, with and without credentials (or secrets) needed for the build, and for both Pull Requests and builds that originate from the main branch.
Use cases without credentials (or secrets)
For Cookbooks that don't need any credentials for data access, we are supporting:

[x] Scheduled nightly builds of the main branch, with notebook execution on GitHub Actions
[x] Scheduled nightly builds of the main branch, with notebook execution on a Binder
[x] Book build from Pull Request, with notebook execution on GitHub Actions
[x] Book build from Pull Request, with notebook execution on Binder

Use cases where secrets are needed
Supporting passing secrets through to notebook execution (such as the Radar Cookbook requires) makes things trickier. The list of use cases is the same as above, but the implementation is different:

[x] Scheduled nightly builds of the main branch, with notebook execution on GitHub Actions -- secrets needed
[x] Scheduled nightly builds of the main branch, with notebook execution on a Binder -- secrets needed
[x] Book build from Pull Request, with notebook execution on GitHub Actions -- secrets needed
[ ] Book build from Pull Request, with notebook execution on Binder -- secrets needed

All these build cases (with and without secrets) must be able to handle changes in the environment file appropriately. That is the last sticking point. For the case with secrets and on Binder we still don't have a solution to point the Binder toward the correct environment file.
Publishing
Publishing here means deploying the built and rendered html to GitHub Pages. Use cases we need to support:

[x] Displaying previews of Pull Requests that are built without secrets
[x] Displaying previews of Pull Requests built with secrets
[ ] Displaying the preview link and/or notifying the user when preview is ready (avoid displaying non-functional links)
[x] Publishing the built book upon push to main branch
[ ] Publishing the built book after successful nightly build (#62)

I'm checking off things that I feel are adequately supported with our current code.

Maybe the text above can serve as the beginnings of some documentation for this elaborate build-and-publish machine that we've been building.

repo: ProjectPythia/cookbook-actions


text:
🐛 神器アセット周辺システムの改修

Fix #660

Blocked by #726

repo: ProjectTSB/TheSkyBlessing


text:
Improve/json2imas

Summary
This PR improves the performance of the first-call of json2imas or dict2imas functions.
Following is the summarized changes:

Preallocate Vector of the required size instead of using resize! in dict2imas and push! in coordinates functions
For coordinates and setraw! methods, the type of given IDS object is now deteremined during the run-time to avoid the expensive Type-inference at compilation
Reduce allocations from unnecessary repeated calls of WeakRef(ids) for setting :_parent in dd.jl. As this change has no big impact on the performance, you may ignore this change (the last commit).

Performance comparison
I've tested json2imas function for reading sample/omas_sample.json in IMASdd folder.
Fisrt call (with compilation)

IMASdd version
Elapsed time
allocations

2.4.4
~ 19 secs
91.39 M allocations (4.618 GiB)

2.4.7
~ 10 secs
50.71 M allocations (2.557 GiB)

This PR
~ 5.5 secs
29.13 M allocations (1.474 GiB)

After compilation (@benchmark result)

IMASdd version
Elapsed time
allocations

2.4.4
~ 17.048 $\pm$ 1.464 ms
71249 allocations (3.66 MiB)

2.4.7
~ 17.270 $\pm$ 1.235 ms
78064 allocations (3.91 MiB)

This PR
~ 17.277 $\pm$ 1.152 ms
71721 allocations (3.67 MiB)

Once again, thank you @mgyoo86  everyone benefits of these low-level optimizations!
I merged the first three commits into master


text:
delete question functionality implemented

Fixed Issues
#21464
#21465
#21466
Files Changed
1.QuestionController.cs : Added API DeleteQuestion() for delete question
2.IQuestionRepository.cs : Added Method GetQuestionByIdAsync()and DeleteQuestionAsync() and IsQuestionExistInTestAsync()
3.QuestionRepository.cs :  Added Method GetQuestionByIdAsync() and DeleteQuestionAsync(),IsQuestionExistInTestAsync()
4..QuestionsRepositoryTest.cs : Added method DeleteQuestionTest() and GetQuestionByIdTest for unit-test
5.delete-question-dialog.component.ts : Added Component and methods for delete Question
6.delete-question-dialog.html : deleteQuestion() Added
7.questions.service.ts : Added Client side API deleteQuestion() for delete Question
8.questions-dashboard.component.ts : changes in deleteQuestionDialog() method
9.questions-dashboard.html : deleteQuestionDialog() method Added
Checks

[x] Naming Conventions
[x] Server side code comments (proper English, grammar and no spelling mistakes)
[x] Client side code comments (proper English, grammar and no spelling mistakes)
[x] Unused variables, methods, blank spaces and name spaces.
[x] Optimal Code and code formatting
[x] Commit History is proper, no merge is done.
[x] Commit/pull request messages should be proper to justify your feature
[ ] All test cases are executed provided by tester.

Known Issues
Comments

This change is

SonarQube analysis reported 2 issues

 2 major

Watch the comments in this conversation to review them.

Reviewed 5 of 11 files at r1, 1 of 5 files at r2, 1 of 3 files at r5, 4 of 4 files at r6.
Review status: all files reviewed at latest revision, 13 unresolved discussions.

Comments from Reviewable

authors: Krunal-Promact chintans spartha1995

repo: Promact/trappist


text:
On mobile while scrolling on rating element triggers onChange with NaN value

Operating system: Windows 10
Browser and version (if relevant): chrome 64

Steps to Reproduce

Open chrome browser in mobile emulation mode
Add rating
Scroll page on rating element
Previous rating value lost

@laimonas can you share an example with reproducible issue on codepen or something similar? I try to reproduce it on demo page but I'm not able to reproduce the reported issue.

authors: laimonas mavimo

repo: ProntoPro/react-rating


text:
Repeated mz values

Hello, I am using msconvert to convert raw files to mzML with centroiding (using cwt filter with SNR=1 and a minimum peak spacing=0.01), but after converting the files I noticed that some of the scans have repeated mz values.
I am using MSConvert 3.019269 1e153dfa2 on Windows 10 Enterprise 2016 LTSB, but I also saw this bug on Windows 7 SP1.
The files I am trying to convert are Waters RAW files, but I also saw repeated values on Thermo Files.

Can you give more details and examples? Is it Waters IMS data?

It's LC-MS data from a Waters Xevo G2-S QTof. I can provide a .RAW file as an example if you want.
Duplicate values only appear when performing peak picking on profile data. If no centroiding is done there aren't any problems...
I noticed the duplicate values when I was processing the converted data using pyopenms, but I don't think it's a problem of pyopenms

Yes I'll need an example file.

Hi, sorry for the delay. Here is a link for one of the RAW files were I detected duplicated values. The filters I used on msconvert were:

Subset with MSLevel = 1
cwt with SNR=1 and minimum peak distance=0.01

in this python script you can see where the repeated values appear:

Fixed in #937 . Only for CWT though. I noticed that the Waters peak picker also returns duplicate peaks. I may fix that in a separate PR, but for now it is returning the peaks exactly as Waters provides them. I also added a centroid option to CWT (defaults to off for now) which will use the centroid (weighted average) of each peak profile as the m/z rather than the apex m/z. I didn't make it the default because I haven't tested it enough. But it should theroetically be good to use on Waters IMS data after --combineIonMobilitySpectra and scan summing, because in that case their native centroiding doesn't work.

authors: chambm griquelme

repo: ProteoWizard/pwiz


text:
Rename sample files

Made sure it is clear which sample file belongs to which software and created an "outdated" files dir

Also added i2MassChroQ to the testing of dda quant.

repo: Proteobench/ProteoBench


text:
依赖冲突

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
langchain 0.0.141 requires dataclasses-json<0.6.0,>=0.5.7, but you have dataclasses-json 0.6.4 which is incompatible.

Finished, check the latest commit:)

repo: Protosec-Research/ChatWithBinary


text:
Increase max number of mainnet validators to 15

Motivation
Increases the maximum number of mainnet validators to 15.
Test Plan
In order to really test this, we'll actually have to go through the elaborate effort of generating a temporary mainnet genesis block and bonding in new validators. However, assuming equal behaviour across network traits, this should be a sufficient change.

Opening on AleoNet instead

repo: ProvableHQ/snarkVM


text:
detach from Sinova/Collisions

Hi
I use this great library quite a lot, and I often find myself searching in its code. Since it is still a fork of Sinova/Collisions, it is impossible to do through github as they don't index fork code.
Seeing as the origin project is not active, and this one is years ahead, perhaps it is time to detach?
Here is how to do it, in case you choose to

nice i didnt know that
started the detachment process thanks @amir-arad

authors: Prozi amir-arad

repo: Prozi/detect-collisions


text:
Voice channel functions

Adding a handful of functions for managing voice channels:

discord_member_get_voice_channel
discord_member_is_muted
discord_member_set_muted
discord_member_move_voice_channel

Haven't been able to test this properly on a server but it's mostly based on the other examples.

Thanks. Looks good at first glance.

authors: Murreey PseudoKnight

repo: PseudoKnight/CHDiscord


text:
Backups System

Idea of Backups System:

Per-server backup space allocation, or per-server total backup quantity.
Ability to store backups offsite or onsite; support for Backblaze B2, AWS, and Google Cloud at minimum.
In-panel management interface to specify which files and folders should be backed up.
Integration with command sending system to send commands to server before starting the backup (i.e. save-off, or telling users a backup is in progress)
Ability to schedule backups through the task system.
View, download, delete backups though panel.
Ability to restore backup through the panel.

This is a great thought since not many panels currently offer this. As usual, I have my own thought of what this would look like:
First off, I do agree that per-server space allocation is a great way to limit backups from getting out of control. It would also be great to have the option to specify "backup storage size" on a per-client basis.
I'm not so keen on keeping the backups on the storage that their particular game server is being run on since if the host goes down, bye bye server and bye bye backups. This is another reason it would be nice to specify the amount of size to allow for backups on a per-client basis. I really like the thought you had of doing offsite backups as well. If you do this, though, it might be helpful to have some sort of way to limit the bandwidth used for backups.
I also had a thought that may or may not work: You guys have the option to add "database servers". What about adding something like "backup servers" as well? Just chunk storage to store backups on a routine basis. Users can setup scheduled tasks to backup as often as they'd like (or perhaps this can be limited to a certain timeframe based on the admin's preferences?) until their disk space allocation is at capacity. I haven't given this much thought in terms of security, since obviously an admin won't want to deploy a different server for each client just for backups, so the files will need to be separated and secured somehow, but just a thought. When the user wants to restore data, they can pick a snapshot from a drop down list that they want to restore from.
Just thinking out loud, as usual. You guys always come up with a very pretty way to do things, so I'm sure this will be just the same if/once it's implemented.

Maybe a way to define a NODE as a Backup NODE so it can save there the backups

How about something like this?

Every hour a backup which is kept for a day
Every day a backup which is kept for a week
Every week a backup which is kept for a month
Every month a backup (kept forever)

I'd say just give the users the option to select the frequency and files which should be backed up instead of limiting it, just like with the tasks.

We could add an option to the existing tasks system:

Power change
Server command
Make backup

I'm currently working on a backup system with bash script via tar and ran automatically via crontab. I will update when I have it setup so that it is working and you can select restore to a date and time on the panel.

It might be worth using a differential backup method so you don't have to store files you already have twice.

That would be a later iteration as it is harder to implement. The first approach will be full backups.

Why not just base the backup system off rsync?

This is an amazing feature to add!

yes please

For encrypting, I believe a zip password is sufficient.

Restic is another great option and supports a lot backup services. However it might be too complex.

Is backup function already included?

I don't think so, but you can do it yourself with a sh script and cron

Can anyone give me a backup sh file?

Encrypting backups natively with PHP 7.2: https://twitter.com/skollro/status/1145041226682503169?s=20

any update?

just throwing this in here:
export all MySQL databases for a server to sql dump files in the root of the server. Name the sql backup of database "s2_test" s2_test.sql and if there's an option planned to restore backups, restore the sql dumps to their respective databases

This functionality was added to the panel in ad9194a65cb82a7a624930b379ba119d616f952e, 15b436d26e8e0219c672c741242816cbfbf85ab8, be05d2df81cf85c2bd9444a86bd685294bae649c, and 7b69b4b82409833c5238156d7e7400cf5586e275. Functionality was added to the daemon in https://github.com/pterodactyl/wings/commit/4ce2b734907448ed669b71dbc5c50816689de4b2. A basic backup functionality is now present in the panel core, and we will be continuing to iterate on it before release.
To answer a few common questions here:
1.) Yes, you will be able to generate backups on a schedule.
2.) Yes, you can limit the number of backups that any given server is allowed to have at a single time.
3.) Backups are generated as compressed tar archives.
4.) At this time the only two supported modes will be storing them on the local machine in a specific directory and storing them in AWS S3. We do have plans to support plenty more, we're just starting with a very narrow scope to ensure it works well.

authors: 104938-sevenwolden DaneEveritt Derkades Dream-cake ExoUNX IlPicasso PaziHD bloggy inklit lancepioch marrobHD piajesse schrej xion87 xtechgamer735 xyeLz

repo: Pterodactyl/Panel


text:
CanCOGeN template - LIMS export change to Specimen source field label

Currently the CNPHI export from the CanCOGeN template outputs an extra field not in the template called "Specimen Type" where the sample is classified using hard coded logic as Human, Environmental or Animal. In the NML LIMS export, this field should be renamed as "PH_SPECIMEN_SOURCE" and the values tweaked to HUMAN, ENVIRO and ANIMAL.

This is included in Cancogen nml lims v0.1 #155 pull request.

authors: ddooley griffie


text:
Can't upload files to server. It throws an unknown error and It won't show details

when uploading jar file
running v. 2.5.1

ok fixed. It was because of nginx and its configuration of file size limit.
sry for creating this unnecessary issue :(

repo: PufferPanel/PufferPanel


text:
Deleted colors.ts and created scss file for buttons

Description:
issue

[x] Open new file: socialButtons.module.scss in buttons folder
[x] Import new scss file to socialButtons.tsx
[x] Remove style tag from socialButtons and replace with 'styles[classname]' + 'styles.socialButtons'
[x] Find all usages of colors.ts and adjust them
[x] Delete colors.ts file

Please fix conflicts

authors: MichalPorag hadarose


text:
Request not attached to Response

The current request is not attached to the response returned by FakeHttpHandler

Hi @Kralizek - I don't really understand the reason behind this issue and PR 😊
I can see that you make a new copy of the HttpResponseMessage result but I don't understand why?
Can you explain what was wrong before and what this now solves? What is an example scenario, also?

Hi @PureKrome
You can look at this method https://github.com/Kralizek/Assembla.Connector/blob/master/src/Kralizek.Assembla.Connector/Connector/HttpAssemblaClient.cs#L232
It tries to log the result of a request including fields both from the response and the request itself.

Hi @Kralizek - Why are you cloning the HttpResponseMessage ? I see how the it can accept an HttpRequestMessage .. so I get that now (and why that was important to you).
But why the clone/copy? Why not just set the request, on the way out?
e.g.
// Increment the number of times this option had been 'called'.
            IncrementCalls(expectedOption);

            // HERE HERE HERE - Pass the request along.
            expectedOption.HttpResponseMessage.RequestMessage = request;

            tcs.SetResult(expectedOption.HttpResponseMessage);
            return tcs.Task;

The risk was that the HttpRequestMessage attached to the response was tempered in some way (e.g. Disposed) by the code of the system under test.

Hmm. I think I'm actually OK with that, though.
I'm thinking: this is the real request instance that was used. Sure, it could be disposed by some outside code (ie. test code) ... but the instance still exists. AND more importantly, if someone tries to do something with that instance ... and it's a COPY ... and now it does something when it shouldn't .. that would be bad IMO.

Hi @Kralizek  - I've now got a beta/development version of this library hosted up in my nuget development hosting server:
https://www.myget.org/feed/Packages/pk-development
So you can download the nuget package there or just add that custom nuget feed and test it out there.
It's .NETStandard 1.4 which means the minimum is .NET 4.6.1.
Can you please give that a run and see if it's working for you, etc? plz?

Happy to re-open this if my current understanding/decision is unacceptable/poor/crap, etc.

authors: Kralizek PureKrome


text:
Added GATT Descriptors

Issue
Fixes #46.
What does this PR Do?
Added the Characteristic Extended Properties Descriptor
Where should the reviewer start?
GATTDescriptor.swift ~> 127
Sweet giphy showing how you feel about this PR

Result of Integration 2
Duration: 2 minutes and 58 seconds
Result: All 98 tests passed, but please fix 3 warnings.
Test Coverage: 74%

Result of Integration 3
Duration: 2 minutes and 3 seconds
Result: 4 errors, failing state: build-errors

Result of Integration 3
Duration: 2 minutes and 3 seconds
Result: 4 errors, failing state: build-errors

Result of Integration 3
Duration: 2 minutes and 3 seconds
Result: 4 errors, failing state: build-errors

Result of Integration 4
Duration: 2 minutes and 6 seconds
Result: 4 errors, failing state: build-errors

Result of Integration 4
Duration: 2 minutes and 6 seconds
Result: 4 errors, failing state: build-errors

Result of Integration 5
Duration: 2 minutes and 49 seconds
Result: Perfect build! All 101 tests passed. :+1:
Test Coverage: 77%

Result of Integration 5
Duration: 2 minutes and 49 seconds
Result: Perfect build! All 101 tests passed. :+1:
Test Coverage: 77%

Codecov Report

Merging #47 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #47      +/-   ##
==========================================
+ Coverage   98.39%   98.41%   +0.01%
==========================================
  Files          16       16
  Lines        8058     8131      +73
==========================================
+ Hits         7929     8002      +73
  Misses        129      129

Flag
Coverage Δ

#osx
98.41% <100%> (+0.01%)
:arrow_up:

Impacted Files
Coverage Δ

Tests/BluetoothTests/GATTTests.swift
94.79% <100%> (+0.37%)
:arrow_up:

Continue to review full report at Codecov.

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

Result of Integration 6
Duration: 8 minutes and 24 seconds
Result: Perfect build! All 101 tests passed. :+1:
Test Coverage: 76%

Result of Integration 7
Duration: 3 minutes and 40 seconds
Result: Perfect build! All 103 tests passed. :+1:
Test Coverage: 77%

Result of Integration 7
Duration: 3 minutes and 40 seconds
Result: Perfect build! All 103 tests passed. :+1:
Test Coverage: 77%

Result of Integration 7
Duration: 3 minutes and 40 seconds
Result: Perfect build! All 103 tests passed. :+1:
Test Coverage: 77%

Result of Integration 7
Duration: 3 minutes and 40 seconds
Result: Perfect build! All 103 tests passed. :+1:
Test Coverage: 77%

Result of Integration 8
Duration: 4 minutes and 9 seconds
Result: Perfect build! All 103 tests passed. :+1:
Test Coverage: 77%

Result of Integration 8
Duration: 4 minutes and 9 seconds
Result: Perfect build! All 103 tests passed. :+1:
Test Coverage: 77%

Result of Integration 9
Duration: 3 minutes and 2 seconds
Result: 13 errors, failing state: build-errors

Result of Integration 9
Duration: 3 minutes and 2 seconds
Result: 13 errors, failing state: build-errors

Result of Integration 10
Duration: 3 minutes and 53 seconds
Result: Perfect build! All 103 tests passed. :+1:
Test Coverage: 77%

Result of Integration 10
Duration: 3 minutes and 53 seconds
Result: Perfect build! All 103 tests passed. :+1:
Test Coverage: 77%

Result of Integration 10
Duration: 3 minutes and 53 seconds
Result: Perfect build! All 103 tests passed. :+1:
Test Coverage: 77%

WIP, still some types need to be implemented, but we will merge the current work.

authors: JurjDev codecov-io colemancda

repo: PureSwift/Bluetooth


text:
Support for other platforms than Android

First of all: the solution is a nice approach to get control over the soft keyboard in Android. Thanks for that, I am using it in a project that I am working on.
Rright now the solution only works for Android, but fails to build for other platforms. I fixed it with directives, so that the extended keyboard functionalities are relevant for Android only.
Do you have any idea/plans to extend compatibilty to other platforms?

@hsteinmaurer the version that's up now should work for iOS

Thanks a lot for considering my input in the update!

authors: PureWeen hsteinmaurer

repo: PureWeen/ShanedlerSamples


text:
Cant open WebGUI

I have installed this beloved pykms on a debian distribution linux and tested a bunch of other distros as well, but the only way that I can open WebGUI on port 8080 is docker-compose but I prefer using systemd. I think the documention is not updated or something!
Can you walk me through? I used just the same python3 commands you mentioned and event tried the py-kms-web-gui.kms on port 8080 but all I got was error 84.
Help please!

Heyho - I have to admit that I did not build the web-ui to work without its specific Docker environment. Could you please send me the specific crash log, so I can further debug this issue?

unfortunately I have tried to run webui.py file as a systemd but I can't run it so if you have a specific way to run the webui so I can get you the logs, feel free to instruct me.
appreciate your work BTW.

@click23 I believe the pykms_WebUI.py is based on flask, and it doesn't have the run() function called within it. I'm not sure either how it would be normally called since I haven't looked at the entire repo.
If you want to run it manually, you'd have to do a manual run(host="0.0.0.0", port=8080) or something similar if you're planning on using flask.

after reading a few files I found out start.py inside docker folder runs the web ui using gunicorn. it's in line 61 if you wanna read how it's being run

after reading a few files I found out start.py inside docker folder runs the web ui using gunicorn. it's in line 61 if you wanna read how it's being run

Yes, that is it! Thanks for pointing that out. As the UI is indeed written in Flask it must be run using an external WSGI-compatible (or was ist ASGI?) application. In this case I'm using gunicorn, but something like flask run (https://www.digitalocean.com/community/tutorials/how-to-make-a-web-application-using-flask-in-python-3) should also work, although not recommended for production use...

Long time, no update - as it works for me, I'll close it.

It would be advisable to add documentation regarding this. I've created a modified start.py file to achieve this, but without proper documentation explaining how to run the web UI outside of Docker, many other users will be left in a similar situation.

As a side note, when running in dual stack, the kms component will start with :: - but the web UI will only start with 0.0.0.0 - meaning no IPv6 on that UI.

As a side note, when running in dual stack, the kms component will start with :: - but the web UI will only start with 0.0.0.0 - meaning no IPv6 on that UI.

Oi... Maybe open a bug-report for that.

authors: CRCinAU click23 didotb elderlabs simonmicro

repo: Py-KMS-Organization/py-kms

license: Unlicense