ACR login alone is not sufficient for docker push operations

The quickstart section  "Log in to the registry"
https://learn.microsoft.com/en-us/azure/container-registry/container-registry-get-started-azure-cli#log-in-to-registry
is followed by
https://learn.microsoft.com/en-us/azure/container-registry/container-registry-get-started-azure-cli#push-image-to-registry
However, this will fail with an access denied message: "denied: requested access to the resource is denied" - possibly related to an longstanding open issue with the Azure CLI https://github.com/Azure/azure-cli/issues/23987
Given the docs at
https://learn.microsoft.com/en-us/azure/container-registry/container-registry-authentication?tabs=azure-cli#authentication-options
instruct that acr login is suitable for "Interactive push/pull by developers, testers" the instructions are insufficient for a user to successfully follow the quickstart scenario.
Note this is while running az commands within a Windows terminal (command prompt) session - I've not tried a WSL session or other platforms.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 8dbcf10f-f74c-5550-db79-cb221e05f408
Version Independent ID: b484281b-ad06-5aff-c04a-d97693169674
Content: Tutorial - Prepare container registry to deploy image - Azure Container Instances
Content Source: articles/container-instances/container-instances-tutorial-prepare-acr.md
Service: container-instances
GitHub Login: @tomvcassidy
Microsoft Alias: tomcassidy

@eweatherley
Thanks for your feedback! We will investigate and update as appropriate.

@tomvcassidy
please review it.

@eweatherley
It seems that the quick start section "Log in to the registry" is not sufficient for a user to successfully.
It looks like the issue may be related to an open issue with the Azure CLI. In the meantime, you can try using the acr login command instead of az acr login for interactive push/pull by developers and testers.
Here are the steps to log in to the registry using acr login:
Open a command prompt or terminal window.
Run the following command to log in to your registry:
docker login .azurecr.io
Replace  with the name of your registry.
When prompted, enter your registry's username and password.
Note: If you're using a service principal, use the service principal's client ID as the username and the client secret as the password.
After you're logged in, you can push and pull images to and from your registry.
If there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.

It looks like the issue may be related to an open issue with the Azure CLI. In the meantime, you can try using the acr login command instead of az acr login for interactive push/pull by developers and testers.

@SaibabaBalapur-MSFT I guess you mean docker login here?

Here are the steps to log in to the registry using acr login:

I guess what I am reporting is not that I am unable to push/pull after logging in to the registry, it's more that for a general user the docs are not giving sufficient instructions as to how to do so - I figure this nearly year-old issue could be causing this.
With the issue nearing a year open maybe it's worth updating the docs to reflect reality, and save users a bunch of frustration.

@eweatherley
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.
@tomvcassidy
Can you please check and add your comments on this doc update request as applicable.


TagUI hangs, AVG Internet Security false-positive for tagui_chrome.php - see this

I was alerted by my colleague that AVG Anti-virus / Internet Security started detecting tagui_chrome.php as a threat and deleting it to move to Quarantine. This will hang TagUI on startup because the file is needed to establish a websocket connection to Chrome to automate it. Have registered and pending a whitelisting account from AVG to file a report.
In the meantime, AVG users experiencing TagUI hangs on start-up can follow the steps below to add whitelist exception. If you are using both TagUI in human language and Python package version, note that there are 2 tagui_chrome.php files to be added to exception because the Python version runs a forked version of TagUI and is installed to a separate folder.

Completed whitelisting submission, advised to check back a few days later by scanning file again -
https://support.avast.com/en-us/article/160?option=ftpwhitelisting

Ok whitelisted!
Hello,

the following files were whitelisted by the whitelisting system:

Filename: tagui_chrome.php SHA: 3E4267CF36808213F0AF5B3143F42FE98CC3AECAF16837BA603BEF99F3DEAE9E
Filename: ._tagui_chrome.php SHA: C4E9AF49BF0013E5D71789B367E5DA2DA39AAF94A2C4812078A40A234692E92E


OAuth2Implicit Not Sending Authorization Header

Describe the bug
After authenticating properly with OAuth2Implicit, I get redirected back to the swagger docs with the token in the url fragment, but it does not send those as a Bearer token for my requests.
Even with this security definition:
// @securitydefinitions.oauth2.implicit OAuth2Implicit
// @in header
// @name Authorization
// @authorizationurl myauthurl.com

and my endpoint has: // @Security OAuth2Implicit on each
To Reproduce
Steps to reproduce the behavior:

Setup swagger with OAuth2Implicit
Authenticate in swagger
Make a request inside swagger
Realize the Authorization header is not sent

Expected behavior
The Bearer token should be sent as a header called Authorization when making requests
Your swag version
e.g. 1.6.3
Your go version
e.g. 1.13.4
Desktop (please complete the following information):

OS: [e.g. iOS] Ubuntu
Browser: [e.g. chrome, safari] Firefox
Version: [e.g. 22

@rametta can you produce the desired behavior using swagger editor and share it with us.
It's not clear for me if is a generator bug (swag) or a frontend (swagger.js) issue.

@rametta , did you find a solution ?


New package: HadronicLineshapes v0.4.0

Registering package: HadronicLineshapes
Repository: https://github.com/mmikhasenko/HadronicLineshapes.jl
Created by: @mmikhasenko
Version: v0.4.0
Commit: 643d00f6b5704fb9400b4f9f007c338ef42ad450
Reviewed by: @mmikhasenko
Reference: https://github.com/mmikhasenko/HadronicLineshapes.jl/issues/4#issuecomment-2298364858

[noblock]
newer version PR https://github.com/JuliaRegistries/General/pull/113570


Don't shorten available choices on --help / other stylistic changes.

Now we show all choices on options (e.g --style, --auth-type, etc.)
pie-* styles are priortized on --style.

Codecov Report

Merging #1379 (dfd5122) into master (4d7d6b6) will decrease coverage by 1.74%.
The diff coverage is 93.57%.

@@            Coverage Diff             @@
##           master    #1379      +/-   ##
==========================================
- Coverage   97.28%   95.54%   -1.75%
==========================================
  Files          67      103      +36
  Lines        4235     7226    +2991
==========================================
+ Hits         4120     6904    +2784
- Misses        115      322     +207

Impacted Files
Coverage Δ

httpie/output/ui/man_pages.py
0.00% <0.00%> (ø)

httpie/output/ui/rich_utils.py
0.00% <0.00%> (ø)

tests/test_binary.py
100.00% <ø> (ø)

tests/utils/http_server.py
99.00% <ø> (ø)

tests/utils/matching/parsing.py
97.95% <ø> (-2.05%)
:arrow_down:

tests/utils/matching/test_matching.py
100.00% <ø> (ø)

tests/utils/matching/tokens.py
100.00% <ø> (ø)

tests/utils/plugins_cli.py
99.20% <ø> (ø)

httpie/compat.py
39.21% <36.73%> (-60.79%)
:arrow_down:

httpie/manager/compat.py
63.88% <63.88%> (ø)

... and 92 more

Continue to review full report at Codecov.

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


HDFS-16110. Remove unused method reportChecksumFailure in DFSClient

3174

 Quality gate: Passed
 Everything looks good
Details

 Quality gate: Passed
 Everything looks good
Details


remove convert to ts todo item

Description
Check explorer build status

test to see why #1203 and #1233 are failing


Make an ugly mockup of the Student Voice section of profile

First step in integrating student feedback / answers to survey questions into the Student Profile: Make a very ugly mockup expressing what we want from the feature.
Then if needed we can work with a designer to make it prettier.

this was done!


Devserver cannot serve static assets from parent or sibling directories

Consider a project with the following structure:
//apps/my-app-1/src/...
         my-app-2/src/...
//libs/my-common-asset/src/asset.png

We cannot serve the static asset out of the //libs directory since the devserver build rule is located within //apps/APP_NAME/src:devserver. This already affects .js files from node_modules (such as zone.js). We need a more generic solution than what we do with zone.js currently (which is copying the file to where the devserver build rule is).

Yeah in google3 there's a way to add more roots to ts_devserver, we should do the same

Resolved with #177. Example usage of additional_root_paths in ts_devserver can be found here (https://github.com/alexeagle/angular-bazel-example/blob/master/src/BUILD.bazel#L32):
ts_devserver(
    name = "devserver",
    # serve these files rooted at /
    additional_root_paths = [
        "npm/node_modules/zone.js/dist",
        "npm/node_modules/tslib",
        "npm/node_modules/@ngrx/store/bundles",
    ],
    # Start from the development version of the main
    entry_module = "angular_bazel_example/src/main.dev",
    scripts = [
        ":require.config.js",
    ],
    # This is the URL we'll point our <script> tag at
    serving_path = "/bundle.min.js",
    # Serve these files in addition to the JavaScript bundle
    static_files = [
        "@npm//node_modules/zone.js:dist/zone.min.js",
        "@npm//node_modules/tslib:tslib.js",
        "@npm//node_modules/@ngrx/store:bundles/store.umd.min.js",
        "index.html",
    ],
    # Tell Bazel to build the sources first
    deps = ["//src"],
)


Add flag for google oauth2 api version

From CHANGELOG-1.10.md:

kube-apiserver: the OpenID Connect authenticator no longer accepts tokens from the Google v3 token APIs; users must switch to the "https://www.googleapis.com/oauth2/v4/token" endpoint.

If you use the token retrieved from version 3 of the api to access the k8s apiserver, kubectl will log:
error: You must be logged in to the server (Unauthorized)"
And the following will be logged in the apiserver:
E0418 12:26:47.196237       1 authentication.go:63] Unable to authenticate the request due to an error: [invalid bearer token, [invalid bearer token, invalid bearer token]]
This PR adds an "api-version" flag that defaults to "v3" for backwards compatibility. Feel free to modify it as you like before merging.

This can be closed if you merge https://github.com/micahhausler/k8s-oidc-helper/pull/14 which solves the problem in a better way.

👍 merge, merge it now, you can do it, you know you want to, make us all happy


Update voice search icon logic in widget

Task/Issue URL: https://app.asana.com/0/0/1205567110221448/f
Description
When launching a searh from the widget, only show the voice search icon when empty
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #3477

PR #3585

PR #3587

PR #3607

PR #3608

PR #3613

PR #3618   👈

PR #3583
PR #3574
PR #3489

PR #3516
PR #3491
PR #3490

PR #3528

PR #3541

PR #3564

PR #3567

PR #3550

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #3477

PR #3585

PR #3587

PR #3607

PR #3608

PR #3613

PR #3618   👈

PR #3583
PR #3574
PR #3489

PR #3516
PR #3491
PR #3490

PR #3528

PR #3541

PR #3564

PR #3567

PR #3550

This comment was auto-generated by Graphite.


Add User Supplied ServerCertificateCustomValidationCallback Support to Web Cmdlets

Problem
Currently users only have 2 options for dealing with Server SSL/TLS Certificates with Invoke-WebRequest and Invoke-RestMethod: the default validation and to skip validation. Some scenarios warrant tighter security on web requests where a certificate is not fully trusted by the host environment but is known to be trusted by the user. This could include internal web APIs that use a self signed certificate with a specific thumbprint or from a known CA that is not trusted by the host. Or if a user wishes to ensure a certain CA/Thumbprint/Subject is blocked (a known bad actor).
Also [System.Net.ServicePointManager]::ServerCertificateValidationCallback has no effect in Core and HttpClient only uses the settings provided by HttpClientHandler.
Proposal
Add a parameter of type Func<HttpRequestMessage,X509Certificate2,X509Chain,SslPolicyErrors,Boolean> that accepts a ScriptBlock to both Web Cmdlets. This is to be set on HttpClientHandler.ServerCertificateCustomValidationCallback. The -SkipCertificateCheck would have priority, meaning if both were supplied either a parameter exception is thrown or -SkipCertificateCheck would be applied and the callback ignored.
The Parameter will be named CertificateValidationScript
For consideration

What to name this parameter?
Throw or no throw on clash with -SkipCertificateCheck?

For name of the parameter we could start discussion with ServerCertificateCustomValidationCallback.
As for ScriptBlock we need remember about binary cmdlets too.

I don't think Callback fits well into the PowerShell user's domain.  Also, Custom is a bit redundant IMO.
How about ServerCertificateValidationAction?  Or may since the other parameter is just -SkipCertificateCheck (not SkipServerCertificateCheck), maybe the parameter should be just CertificateValidationAction?

@iSazonov I believe there is a way to accept both binary and shell friendly callbacks. I need to find an example to borrow from, but I'm sure I have seen that done somewhere before. I just can't remember where. But before I go down that rabit hole, is this something that really needs considering? The Web Cmdlets inherit from PSCmdLet, not Cmdlet there is a bit of an understanding there that it will be running inside a PowerShell runspace, a ScriptBlock in that scenario is probably no more or less cumbersome than Func<HttpRequestMessage,X509Certificate2,X509Chain,SslPolicyErrors,Boolean>
@rkeithhill  Action hmm. I don't think that is a PowerShell friendly name either. Script maybe. CertificateValidationScript, CertificateValidationOverride hmm.

Action is used in a number of commands including Set-PSBreakpoint and Register-ObjectEvent.  Fortunately, this sort of thing is easy to analyze in PowerShell e.g.:
15:10ms> (gcm -CommandType Cmdlet).ParameterSets.Parameters.Where({$_.ParameterType -match 'ScriptBlock'}) | Group Name
| Sort Count -Descending

Count Name                      Group
----- ----                      -----
   15 ScriptBlock               {System.Management.Automation.CommandParameterInfo, System.Management.Automation.Com...
    7 Action                    {System.Management.Automation.CommandParameterInfo, System.Management.Automation.Com...
    3 InitializationScript      {System.Management.Automation.CommandParameterInfo, System.Management.Automation.Com...
    3 Expression                {System.Management.Automation.CommandParameterInfo, System.Management.Automation.Com...
    1 TransactedScript          {System.Management.Automation.CommandParameterInfo}
    1 FilterScript              {System.Management.Automation.CommandParameterInfo}
    1 End                       {System.Management.Automation.CommandParameterInfo}
    1 Process                   {System.Management.Automation.CommandParameterInfo}
    1 Begin                     {System.Management.Automation.CommandParameterInfo}
    1 RemainingScripts          {System.Management.Automation.CommandParameterInfo}

However, ScriptBlock and Action are used as the entire parameter name.  OTOH Script is used as a common suffix.  So your suggestion of CertificateValidationScript is probably the best parameter name.

As for ScriptBlock we need remember about binary cmdlets too.

You can always expose a public property that is not marked with [Parameter] that is a delegate type.

Since I don't deal with binaries that talk directly to PowerShell, what exactly is the problem?
From what I can tell, if I type the parameter as a Func<HttpRequestMessage,X509Certificate2,X509Chain,SslPolicyErrors,Boolean> which is the same type as HttpClientHandler.ServerCertificateCustomValidationCallback, PowerShell script users will be able to pass a ScriptBlock to it.
Will this some how cause problems for Binary users?

When you are writing a binary cmdlet you can invoke other binary cmdlets.  While you can create ScriptBlocks in C#, I guess it might be a little clunky to use that instead of a delegate.  OTOH I'm not sure how common this scenario is.  I've done this before but pretty rarely and never with something that took a delegate/ScriptBlock.  OTOH if your parameter type is already a delegate then problem solved.  :-)

All good then, that was the plan all along. I just wasn't clear in my proposal. 😄

OK, I have a working example here.
1 Problem: since the callback is run async the runspace is not available in that thread. To work around this, I am wrapping the provided delegate with code that creates the runspace, calls the delegate, then cleans up the runspace. This works fine. However, this means that there is no access to the current session state (variables, modules, functions, etc).
I'm not sure it needs to. If this is properly documented that the code in the script runs in its own context, it should be fine.  I don't want to make an overcomplicated feature for something that has a limited target audience.
Thoughts and Feedback welcome.

@lzybkr Could you please comment - what is right way to implement the callback parameter?

I'm not sure how important it is to support delegate callbacks - I'd imagine these cmdlets are mostly called from PowerShell scripts, so I would just take a scriptblock.
This mostly solves the problem of invoking the scriptblock without a runspace because PowerShell marshals the scriptblock.invoke() call back to the runspace creating the scriptblock - though this can cause a hang if that runspace is blocked in a .Net method.

@lzybkr so if I set handler.ServerCertificateCustomValidationCallback with the supplied script block, and that callback is called async, it will work with the current scope and without needing to initialize a runspace?

It depends on what is happening on the cmdlet's thread.
First, you will need to convert the scriptblock to the appropriate delegate type with LanguagePrimitives.ConvertTo<DelegateType>(scriptblock).
But as I mentioned - if the cmdlet's thread is stuck in code outside of PowerShell, there is no way for that thread to invoke the scriptblock - it will instead hang waiting until PowerShell gets control of the thread again.
In an ideal case, you have:

Pipeline thread (cmdlet's thread):
Starts some async code.
Receive and write some output.

Background thread
scriptblock.Invoke() - sends event to Runspace thread, blocking until event is processed

The important thing is to reach this code on the pipeline thread. This happens naturally if you execute some PowerShell script or write to the pipeline.
If neither of those things are happening, you need to do something like this assuming you can regain control after calling into some non-PowerShell code. Async methods normally give you control, so hopefully you can make this work.

https://github.com/markekraus/PowerShell/blob/7c8e5dd83d5c1c78fc67c288e28e5c956d0ecb88/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/CoreCLR/WebRequestPSCmdlet.CoreClr.cs#L180
So this ended up working for me:
Func<HttpRequestMessage,X509Certificate2,X509Chain,SslPolicyErrors,bool> certificateValidationDelegate = LanguagePrimitives.ConvertTo<Func<HttpRequestMessage,X509Certificate2,X509Chain,SslPolicyErrors,bool>>(CertificateValidationScript);

// This wraps the supplied CertificateValidationScript and sets the PowerShell runspace in the async callback.
// This allows for script users to supply a ScriptBlock and have it properly execute in the async thread.
Runspace defaultRunspace = Runspace.DefaultRunspace;
Func<HttpRequestMessage,X509Certificate2,X509Chain,SslPolicyErrors,bool> validationCallBackWrapper =
    delegate(HttpRequestMessage httpRequestMessage, X509Certificate2 x509Certificate2, X509Chain x509Chain, SslPolicyErrors sslPolicyErrors)
    {
        Runspace.DefaultRunspace = defaultRunspace;
        Boolean result = certificateValidationDelegate.Invoke(httpRequestMessage, x509Certificate2, x509Chain, sslPolicyErrors);
        return result;
    };

handler.ServerCertificateCustomValidationCallback = validationCallBackWrapper;

I thought maybe there would be some kind of hang or crash, but it appears to work without issue and the ScriptBlock runs with access to the calling RunSpace.
@iSazonov and @lzybkr Do you see anything wrong with this implementation? If not, I will clean it up, add tests, and do a PR.

Does "using:variable" work?

I don't think so, but it's not needed.
$Script = { return $condition }

# will accept any cert
$condition = $true
Invoke-RestMethod https://expired.badssl.com/ -CertificateValidationScript $Script

# will block any cert
$condition = $false
Invoke-RestMethod https://google.com/ -CertificateValidationScript $Script

# Set a value ion calling scope
$resulthash = @{}
$Script = { $resulthash['thumbprint'] = $args[1].Thumbprint; return $true }
Invoke-RestMethod https://google.com/ -CertificateValidationScript $Script
$resulthash['thumbprint']

These all work as would be expected., The first one bypasses the bad cert. the second one blocks the good cert, and the third one populates $resulthash['thumbprint'] with the cert thumbprint.
As far as I can tell, the using: implementation only works in certain special ScriptBlock scenarios (such as those used in remote sessions). and is not a standard feature. It also doesn't look simple to implement.

@iSazonov Actually, this made me realize something.
$condition = $true
$Script = { return $using:condition }
Invoke-RestMethod https://expired.badssl.com/ -CertificateValidationScript $Script

This hangs the thread. I'm guessing it's because the ScriptBlock throws a UsingWithoutInvokeCommand exception and never returns true or false from the delegate. A the very least I need to do some exception handling in the wrapper delegate.

My concern is that users will expect that "using:" will work. Although if the script block is in the same context it don't make sense - silently ignore by exception handling?

@iSazonov I don't think users should have that expectation, and if they do, then we would need to add it as a standard feature to all ScriptBlocks. $using: only works in very limited use cases (Invoke-Command and  DSC). The documentation about $using: is about_Remote_Variables and in this case, the variables are all local.
We could at least call it out in documentation that it is not supported in this instance. But, my opinion is that users should assume it is not available unless the documentation explicitly says that it is.
The plan is to treat all exceptions from the ScriptBlock as a failure. It would err on the side of caution and allow for throw be used.  Since $using: creates an exception in most cases, it would result in an ssl fail:
$condition = $true
$Script = { return $using:condition }
Invoke-RestMethod https://expired.badssl.com/ -CertificateValidationScript $Script

That would fail. To understand why, a user would only need to run $Script.Invoke() to find out that it is causing an exception.

I agree that if we document the parameter properly the behavior is good.

param() works
$Script = {
     param(
        [System.Net.Http.HttpRequestMessage]
        $HttpRequestMessage,

        [System.Security.Cryptography.X509Certificates.X509Certificate2]
        $X509Certificate2,

        [System.Security.Cryptography.X509Certificates.X509Chain]
        $X509Chain,

        [System.Net.Security.SslPolicyErrors]
        $SslPolicyErrors
    )
    Return (
        $HttpRequestMessage.RequestUri.AbsoluteUri -eq 'https://www.google.com/' -and
        $X509Certificate2.Subject -eq 'CN=www.google.com, O=Google Inc, L=Mountain View, S=California, C=US' -and
        $X509Chain.ChainElements[2].Certificate.Thumbprint -eq 'DE28F4A4FFE5B92FA3C503D1A349A7F9962A8212' -and
        $SslPolicyErrors -eq 'None'
    )
}
Invoke-RestMethod https://www.google.com/ -CertificateValidationScript $Script

pr: #4970

@markekraus Is the intent that the usual certificate checks are omitted when the -CertificateValidateScript is provided?  If so, is there some way to invoke those checks from the user scriptblock?
The reason I am asking is that Invoke-WebRequest is currently very permissive of bad certificates (you can run this test for details) compared with browsers.
I like the idea of using -CertificateValidateScript to perform certificate checking but I wouldn't want to give up the checks that Invoke-WebRequest already performs.
It seems like being able to enable and disable the built-in certificate check independently of -CertificateValidateScript would be the most flexible, but #4970 includes a test called "Verifies Invoke-WebRequest -CertificateValidationScript is ignored when -SkipCertificateCheck is present" which seems to imply that's not how it's intended to work.

@alx9r The intent is that the ScriptBlock completely replaces the usual logic associated with certificates with that of the logic supplied in the block.
However, you have access to the SslPolicyErrors object. The default check is to ensure that it is None
This is the equivalent PowerShell ScriptBlock implementation through my proposed PR
$Script = { $SslPolicyErrors -eq 'None' }
Invoke-RestMethod -Uri https://contoso.com -CertificateValidationScript $Script

Using that, the behavior would not change from normal operation. That meas you can use the $SslPolicyErrors as a fallback like this:
$Script = {
    if ($Certificate.Subject -match 'Contoso') {
        return $true
    }
    else {
        return ($SslPolicyErrors -eq 'None')
    }
}
Invoke-RestMethod -CertificateValidationScript $Script -Uri https://contoso.com/

That would accept any certificate with Contoso in the subject and for any other certificate it would be processed as normal.

Using SslPolicyErrors  object is not obvious. Does it make sense to put it into parameters?

@alx9r Regarding the -SkipCertificateCheck, that has precedence. meaning, that if it is supplied all validation is ignored and any certificate will be accepted.
PowerShell Core uses HttpClient and the current implementation of the Web Cmdlets creates a one-time-use HttpClientHandler for each call to the Web Cmdlets. The HttpClientHandler is the mechanism through which the certificate validation callback is implimented. That means that we have the option of implementing validation on a per-call basis.
In Windows PowerShell this was done through [System.NetServicePointManager]::ServerCertificateValidationCallback and that callback persisted through all calls to the Web Cmdlets. To emulate the behavior in core you would use the following:
$Script = { <# whatever validation code #> }
$PSDefaultParameterValues['*:ServerCertificateValidationCallback'] = $Script

To allow for a one off command override the default, -SkipCertificateCheck is used.

@iSazonov Parameters for what? the SslPolicyErrors object is passed to the user supplied callback by the HttpClientHandler during SSL key exchange. In my PR it is already being passed as $SslPolicyErrors
https://github.com/markekraus/PowerShell/blob/06ae9e2219b900e80f7fec20a0e52d28e55a7256/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/CoreCLR/WebRequestPSCmdlet.CoreClr.cs#L198
and as $args[3] here
https://github.com/markekraus/PowerShell/blob/06ae9e2219b900e80f7fec20a0e52d28e55a7256/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/CoreCLR/WebRequestPSCmdlet.CoreClr.cs#L209
and the user can accept it in param()
$Script = {
    param(
       [System.Net.Http.HttpRequestMessage]
       $Message,

       [System.Security.Cryptography.X509Certificates.X509Certificate2]
       $Cert,

       [System.Security.Cryptography.X509Certificates.X509Chain]
       $Chain,

       [System.Net.Security.SslPolicyErrors]
       $PolicyErrors
   )
   <# Validation code #>
}

The user can even mix and match in the same script if they want.
$Script = {
    param(
       [System.Net.Http.HttpRequestMessage]
       $Message,

       [System.Security.Cryptography.X509Certificates.X509Certificate2]
       $Cert,

       [System.Security.Cryptography.X509Certificates.X509Chain]
       $Chain,

       [System.Net.Security.SslPolicyErrors]
       $PolicyErrors
   )
   if ($args[3] -eq 'None' -and $SslPolicyErrors -eq 'None' -and $PolicyErrors -eq 'None') {
       return $true
   }
   else {
    return $false
   }
}

There is nothing obvious about any of this. Certificate validation callbacks are an advanced concept. Users will be required to learn about the 4 objects and draw from examples in the C# world. We can fix some of this with documentation, but most users who will use this feature are already advanced in knowing the dangers of -SkipCertificateCheck or may be familiar with them from C# or with [System.NetServicePointManager]::ServerCertificateValidationCallback in Windows PowerShell.

PowerShell allow do complex things easily. We should thing how make the callback easy to use.
-AfterCertificateValidateScript - validate after standard checks.
-ReplaceCertificateValidateScript - validate instead of standard checks.

@iSazonov I don't think we should over-complicate these cmdlets with more parameters for a feature that has a limited user scope that is already advanced. If I'm new to the language and I see the 2 primary web cmdlets have some these  parameters:
-Certificate
-CertificateThumbprint
-SkipCertificateCheck
-AfterCertificateValidateScript
-BeforeCertificateValidateScript
-ReplaceCertificateValidateScript

I'm going to be very overwhelmed.
I was going to suggest an about_ topic that would include how to implement around $SslPolicyErrors. I personally think a singe replacement callback is all that's needed so long as it's documented.

Can you just add examples to the help to show what scriptblock is needed for these particular cases?  That would be more useful than an about topic unless it requires a lot of supporting text.  Honestly, the issue with about topics is that folks don't find them that often compared to the help for the command.

It, unfortunately, requires a bunch of supporting text, more than is acceptable for a parameter. The idea I had was to add the about_ topic and have that listed in the parameter help which would also have some small examples and details.  "For more examples and details see get-help about_CertificateValidationScript".
If the web cmdlets didn't already have a heroic epics worth of text in their help, maybe this could all be in the parameter help.
Maybe adding another auto-variable like an $isValidCertificate bool could help. a little? It at least eases the SslPolicyErrors burden.

@markekraus perhaps you can submit PR to https://github.com/PowerShell/PowerShell-Docs/blob/staging/reference/6/Microsoft.PowerShell.Utility/Invoke-RestMethod.md and add some examples?

The best traditional approach to creating documentation is to have three guides - a description of the syntax (fast discover features, syntax and short examples), a user guide (full feature description), and a description of the scenarios (HowTo).

@SteveL-MSFT I was planning to do that after the PR here was merged. But I guess there is no harm in doing it beforehand.
@iSazonov This was my planned approach:

Example section would include the before/permissive and after/restrictive scenarios.
Parameter section would provide a description, include details about the auto-variables, another small example, and a link/mention to the about_ topic
about_ topic would go more in depth about the objects (links to .NET docs), How and when the callback is called, more examples, and a troubleshooting guide.

It seems in alignment with what you suggested.

Here is a draft of the Invoke-RestMethod documentation.
https://github.com/PowerShell/PowerShell-Docs/compare/staging...markekraus:CertificatevalidationScriptDraft

@markekraus, awesome!  Looks good enough to submit as PR.  One thing I noticed is the capitalization of the word Four

@SteveL-MSFT Should I wait for #4970 to be approved first before making the PR to PowerShell-Docs?
(I made some fixes including the Four capitalization and added the equivalent Invoke-WebRequest documentation`).

Better wait merge - we can get useful feedback.

FWIW, I have implemented ServerCertificateValidationCallback calling into a user-supplied PowerShell scriptblock for this other project.  There were a few things that weren't obvious at first that I had to overcome, so I will note them here in case it helps someone.
Callback Thread, Runspace, and PowerShell Instance
ServerCertificateValidationCallback can be called on a different thread from the one that initiated the connection to the server.  The remarks in the Runspace.DefaultRunspace documentation include the following statement:

The Runspace used to set this property should not be shared between different threads.

Clearly the callback needs its own runspace which suggests the solution might be as simple as calling
Runspace.DefaultRunspace = RunspaceFactory.CreateRunspace()
scriptBlock.Invoke()

in the callback.  The solution is not quite that simple and doing this in the callback causes PowerShell to do strange things or crash in many scenarios.  I think this is the result of the same state being accessed by the two threads in a non-threadsafe manner.  In any case, @proxb seems to have multithreading working reliably in PowerShell and his examples use one PowerShell instance from PowerShell.Create() for each thread.  I used those principles to create a C# scriptblock invoker class whose invoke method does something like this:
    public void Invoke()
    {
       // ...
        var iss = InitialSessionState.CreateDefault()
        // define variables and functions, import modules
        using (var rs = RunspaceFactory.CreateRunspace(iss))
        using (var ps = PowerShell.Create())
        {
            ps.Runspace = rs;
            rs.Open();
            ps.AddScript(ScriptBlock.ToString());
            // add arguments and parameters to scriptblock
            ReturnValue = ps.Invoke();
        }
        // ...
    }

Another method on that object is the callback which looks something like this:
    public bool CertValidationCallback(
        object sender,
        X509Certificate certificate,
        X509Chain chain,
        SslPolicyErrors sslPolicyErrors)
    {
         // prepare the parameters for the scriptblock
         Invoke()
         // interpret the output from the scriptblock and return a bool
    }

This all seems to work rather reliably under testing including a race condition test similar to the one suggested by @lzybkr.
Interpreting the Output from the Scriptblock
The stakes are fairly high here so I tried to use conservative interpretations of the scriptblock's output to reduce the chance of falsely interpreting a bad certificate as good.  I settled on interpreting any of the following as a bad certificate:

any non-boolean output from the scriptblock
any false value output from the scriptblock
any exception not caught inside the scriptblock
any error in the scriptblock

Exception Propagation
An exception thrown in the callback is interpreted as a bad certificate and eventually appears in some deeply-nested exception on the caller's thread.  When that exception originates in the scriptblock, it provides valuable diagnostic information.  Exceptions thrown by the scriptblock should not be caught in the callback because doing so hides valuable information from the user about what's happening in their scriptblock.
Interacting with the Callback Arguments
At first I found it extremely difficult to write a acceptable certificate validation scriptblocks.  Even the rather straightforward sha1-intermediate check was difficult because I didn't have access to the objects passed to the callback in a debugger or interactive session.  I ended up writing a function that copies those objects to the degree I was able to and brings them into the caller's context.  This capability seems rather important to write good certificate validation scriptblocks.
Certificate Analysis Helpers
I'm fairly certain that meaningful certificate validation will rely on calling some sort of helper functions inside the scriptblock.  Because the callback is in a different context from the caller, such helper functions have to be deliberately made available in the scriptblock.  Injecting functions into the scriptblock by way of adding SessionStateFunctionEntrys to InitialSessionState.Command in the callback seems to work fine for this purpose.

BTW, thank you @lzybkr for the advice you gave in the #4970 review -- it probably saved me a few days of research.

@alx9r Thanks! I will have to look at what you provided this weekend. Have you tested any of this with the HttpClientHandler.ServerCertificateCustomValidationCallback? It appears to be a slightly different beast in CoreFX than what was on the ServicePointManager in full CLR.

@markekraus I did do a bit of testing of HttpClientHandler.ServerCertificateCustomValidationCallback using one of the v6.0.0-beta.8.  I didn't notice any obvious differences in behavior.

It appears to be a slightly different beast in CoreFX than what was on the ServicePointManager in full CLR.

I haven't worked with ServicePointManager so I can't really speak to that.  The work I talked about in my last post is all with full 4.7 WebRequestHandler.ServerCertificateValidationCallback (see here) which looks rather similar to core 2.0 HttpClientHandler.ServerCertificateCustomValidationCallback.  I would have used HttpClientHandler instead of WebRequestHandler, but it didn't expose ServerCertificateCustomValidationCallback until 4.7.1 which was only released a couple of days ago.

Just to let you know, the callback currently (as of .Net Core 2.0) does not work on all platforms (e.g. OSX). The two modes that you are referring to (default validation and skip validation) are the only consistent modes currently supported by .Net Core. There is hope for this to get fixed with the next version of .Net Core.
I am trying to get this documented: https://github.com/dotnet/corefx/issues/24774
It might be ok to handle the PlatformNotSupported exception and inform the user that the parameter(s) are not supported on your platform.

@atanasa Yup, I'm aware. Though in some instances it seems to work and in others it doesn't. It was passing our macOS tests for awhile and then stopped. I finally got a loaner mac to troubleshoot, but I just haven't had time (real job getting in the way ☹ ). We have a similar issues with -Certificate and certificate based authentication with the web cmdlets.

I have a PowerShell 5.1 Module that implements a custom class from ICertificatePolicy to be used with [System.Net.ServicePointManager]::CertificatePolicy to allow for normal Certificate Validation with support for overriding the Common Name validation by providing a custom whitelist of acceptable Common Names which is useful when connecting to HTTPS via IP address rather than FQDN but you still wish to validate the server certificate.
It would be useful to have this capability again across the Web Cmdlets without having to make my own replica Cmdlets, based around HttpClient, just to support this, or, having to use SkipCertificateCheck and lose all protection.


Excel areas

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-add-ins-areas.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

//-22 true chk

@0sus0 this PR has been deemed invalid and closed, as you did not submit any of the commits that it contains. In the future, please only submit PRs that contain work which you have done (not PRs that contain only work done by others). Thank you.


Existential crisis

The locked directory can be unlocked without password with just "chmod". So what's the purpose of this program or is it just a joke?

Yes, it is a naive locker.


Manual S3 purge possibility

Hello,
is there a possibility to tell Secor to upload the data to S3 manually, instead of the configured values?
(200MB, 1 hour).
We need this feature since we are considering to run Secor on AWS Spot Instances, and in case the EC2 will be interrupted, the storage can be lost so uploading the current data to S3 can be helpful.
Thanks,
Lior

Wasn't sure what the request is, do you want to upload the pending data
secor saved on the local disk before the node crash?  Can you just tune the
upload policy (on time or file size) to upload more frequent to S3?  Even
if the node crashes with the unloaded data, nothing is really lost since
the data is still in the Kafka queue and secor will pick up those data
again from Kafka when the node restarted.
On Thu, May 21, 2020 at 2:01 AM Lior Yakobov<EMAIL_ADDRESS>wrote:

Hello,
is there a possibility to tell Secor to upload the data to S3 manually,
instead of the configured values?
(200MB, 1 hour).
We need this feature since we are considering to run Secor on AWS Spot
Instances, and in case the EC2 will be interrupted, the storage can be lost
so uploading the current data to S3 can be helpful.
Thanks,
Lior
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pinterest/secor/issues/1336, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYJP74WN2EB7DFIUPCPYXTRSTUXHANCNFSM4NGVNFQQ
.

Hey @HenryCaiHaiying ,
I can configure Secor to upload more frequently, lets say that I'm uploading every 5 minutes instead of 1 hour.
I know that if the node will restart it will continue to pull from Kafka from where it stopped, but in my case if the node has crashed, it's storage is deleted, so it can cause that data which was read from Kafka and stored on the disk, was not uploaded to S3.
This is why I asked, if there is a possibility to make Secor upload data to S3 at a specific point of time.
Thanks,
Lior

There is no data loss even in that situation.  Secor will re-pull from
Kafka from the last committed offset point on node restart and the
committed offset is only updated when secor is able to upload to S3
successfully.  The committed offset was used to store in ZK node and I
think it can also be configured to save in Kafka's __consumer_offsets topic
On Sun, May 24, 2020 at 1:05 AM Lior Yakobov<EMAIL_ADDRESS>wrote:

Hey @HenryCaiHaiying https://github.com/HenryCaiHaiying ,
I can configure Secor to upload more frequently, lets say that I'm
uploading every 5 minutes instead of 1 hour.
I know that if the node will restart it will continue to pull from Kafka
from where it stopped, but in my case if the node has crashed, it's storage
is deleted, so it can cause that data which was read from Kafka and stored
on the disk, was not uploaded to S3.
This is why I asked, if there is a possibility to make Secor upload data
to S3 at a specific point of time.
Thanks,
Lior
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pinterest/secor/issues/1336#issuecomment-633195223,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYJP7Z2PG7HRA3FTOAUA7TRTDILVANCNFSM4NGVNFQQ
.


Provide more Zuul route details in the routes actuator endpoint

Add a query parameter to control the level of details returned with the routes actuator endpoint. If requested, return all available Zuul route details including ID, prefix, sensitive headers, etc.
Example:
A detailed rendition of the routes endpoint can be requested with /routes?format=details. The output looks as follows:
 {
 	"/stores/**": {
 		"id": "stores",
 		"fullPath": "/stores/**",
 		"location": "http://localhost:8081",
 		"path": "/**",
 		"prefix": "/stores",
 		"retryable": false,
 		"customSensitiveHeaders": false,
 		"prefixStripped": true
 	}
 }

Thanks for your feedback, @ryanjbaxter.  I have removed Lombok and updated the documentation.


Migration to use modern Django patterns for URLs

See https://docs.djangoproject.com/en/2.2/ref/urls/#path for documentation, but basically the url() thing we're using in */urls.py has been renamed to re_path, and there's a cleaner thing, path, that is better for cases where one doesn't need a regular expression.
./corporate/urls.py
./analytics/urls.py
./zilencer/urls.py
./zproject/dev_urls.py
./zproject/legacy_urls.py
./zproject/urls.py

This migration needs to be done very carefully, since accidentally URL changes can result in serious bugs.

@zulipbot claim

There is a problem with some urls and trailing slashes. In analytics/urls.py (and maybe other files), we currently have some regex like:
r'^analytics/chart_data/realm/(?P<realm_str>[\S]+)$'

The [\S] thing catches all non-whitespace characters, so it actually catches \ too, so both analytics/chart_data/realm/one and analytics/chart_data/realm/one/ fit in this url, and in the second one, realm_str will be one/ instead of one. I guess that's not expected behavior, but changing it now will break backwards compatibility (since maybe someone calls api endpoint with slash and someone calls without it).
In new path thing, we can't have OR like in regex, so we can't define one url with or without slash. We use now the APPEND_SLASH functionality, but that gives us HTTP redirect error, instead of just redirecting it, and again, I think we can't just save one option (for example with trailing slash) and other just will return HTTP redirect, because I guess we want to save backwards compatibility.
@timabbott What do you think? Should we just use the re_path in that problematic regexes to save the current behavior, or maybe we should use the 'move permanently' functionality, and break backwards compatibility? The third option would be to have both this url with and without slash, but that would be actually 2 different websites, so it would be harder to maintain.

@Wowol Particularly for the analytics system, I think we can just do the correct thing here and not worry too much about backward compatibility.  You should be able to do things like git grep chart_data/realm to verify that, at least internally, we don't append slashes to the URLs when we call them.
Then for the regular system (zproject/urls.py) we may want to be a bit more conservative:
zproject/urls.py:    url(r'^realm/subdomain/(?P<subdomain>\S+)$', zerver.views.realm.check_subdomain_available,
zproject/urls.py:    url(r'^realm/domains/(?P<domain>\S+)$', rest_dispatch,
zproject/urls.py:    url(r'^accounts/send_confirm/(?P<email>[\S]+)?$',
zproject/urls.py:    url(r'^accounts/new/send_confirm/(?P<email>[\S]+)?$',
zproject/urls.py:    url(r'^join/(?P<confirmation_key>\S+)/$',
zproject/urls.py:    url(r'^avatar/(?P<email_or_id>[\S]+)/(?P<medium>[\S]+)?$',
zproject/urls.py:    url(r'^avatar/(?P<email_or_id>[\S]+)$',
zproject/urls.py:urls += url(r'^external_content/(?P<digest>[\S]+)/(?P<received_url>[\S]+)$',

Let's see what Tim says, but I think you can at least move forward optimistically on the analytics side.

Yeah, agreed, the analytics URLs aren't in a public API, so we can just change those.
Assuming your analysis is correct, in at least all of those cases, that \S behavior is a bug, and it'd be fine to remove.  But it might be best to address that bug in its own commit after doing the migration -- so let's do the simple re_path translation for the weird ones first, and then do a smaller (and thus more easily reverted!) commit to convert them to use path.


microsoft defender endpoint development machine configuration

Question: How do I configure security policies for real-time protection on development computers using a ton modern technologies.
Use case:
A Company needs to secure machines but there a 1000 plus difference processes that defender can scan that are development only.
Is there a policy or a recommended config template that can be documented for microsoft defender endpoint security for macs?
Why this needs to be public information:

Companies that enact defender on development machines can potentially increase a development task's time by 1000s of times. Example running rm -rf node_module could take 20 minutes vs 1min.
So far from the docs it looks like all frequently used development processes need to be manually ignored in order to avoid these bottlenecks.

Does microsoft have recommendations regarding process/folder exclusions related to Real-Time protection for developers using the MacOS platform?
I see a bunch of documentation regarding android development for windows defender but microsoft defender Endpoint does not cover exclusions.
The docs would need to be gear towards security team JAMF deployment exclusions for Mac OS.
Something like the Defender Performance article  but for microsoft defender ATP (mac)
Tutorials and recommendations for the following software development exclusions:

nodeJS development (yarn, node, npm, node_module) folder/process exclusions
android development
ios development (frequently build artifacts and cache would be scanned)
java development
mac base environment IE commands like (rm, find, grep, tar, gzip)
mac environment caching and base path exclusions (IE when tar unpacks to a temp directory should it be scanned 1 time during unpack or two times if it is unpacked and then later moved to a directory and then scanned)

My hope is having more recommendations would help shed some light on performance improvements and potential efficiency loss development machines can have it these performance improvements are not implemented.

@mjcaparas Please help us in resolving this issue. Thanks

Please contact support.


fix: new build

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


update ocaml version constraint to allow 4.08, bump package version to 3.4.2, add test script for esy, update README.md and HISTORY.md

Bumped ocaml version constraints now that https://github.com/facebook/reason/pull/2345 is released. It looks like there were already notes written up for 3.4.2 so I bumped to that version as this seems fine for a patch version.

There have been similar changes pushed to master. Closing this one.


Error message for glmer class

I want to extract the equation for my mixed-effects regression (through glmer), but when I applied  the function extract_eq
to my regression, I keep getting this error message :
Error in UseMethod("extract_lhs", model) :
pas de méthode pour 'extract_lhs' applicable pour un objet de classe "c('glmerMod', 'merMod')"
Is there any way to solve this?
Thank you in advance
Ilhem

Hi - you probably just need to install the dev version with remotes::install_github("datalorax/equatiomatic") and then try again. Let me know if that doesn't work.

Hi,
great package! Thanks a lot.
I am also having trouble with lmerModclass (lme4). I have been trying to use extract_eq but I get the following:
Error in mapply_chr(function(lev, var) { : is.character(out) is not TRUE
I am using the glmer branch, I think, installed via remotes::install_github("datalorax/equatiomatic@glmer")
Any idea why?
cheers

The glmer branch has been removed and merged into the main branch. Can you try re-installing with remotes::install_github("datalorax/equatiomatic")? If you still have issues, it would be great if you could provide a reproducible example. Otherwise it is pretty difficult to track down why and how the error is occurring.

hey, thanks
I have tried also the main branch, but I have the same issue.
Sure, I will prepare a reproducible example and will post it

I haven't been able to reproduce the error, which is actually good news because now all seems to be working just fine :)
Not sure what the problem was, maybe I had some other package attached that had conflicting functions? But I cannot say it for sure. Will let you know if it happens again.
So, all good for now!

Sounds good, glad you got it resolved! And thank you for the update. I'll close this issue for now.


Downloads

Need to move downloads from bitcoin.org. Should be easily accessible/findable from the main page.

I think the plan was not to do this and regardless, it may not be possible due to the infrastructure of the current site.

I agree with luke-jr that it'd be good if the binaries were hosted on this site if also on bitcoin.org. I'm not familiar with the hosting infrastructure here, but I'd venture to guess it's GitHub Pages. Is that right? In that case you're right that the infrastructure wouldn't support it as is. GitHub recently added support for large files but Pages doesn't support that yet.

Bitcoin.org pays for its own dedicated server in a datacenter specializing in DDoS-resistant hosting.  The funding so far has been paid for by the Bitcoin Foundation, and it's @saivann who actually pays the bills, so the server is not controlled by Theymos or Cøbra (since I know distancing yourselves from them was key to the genesis of this site).
Saïvann is happy to have the Bitcoin Core site hosted on the same server, with the same DDoS protection, as Bitcoin.org.  If that is done, the Bitcoin Core binaries folder can be conveniently shared by both sites.  (Note, in the current Bitcoin.org design, the site is compiled on a separate VPS and uploaded as static HTML to prevent changes to the site content from being able to change the binaries.)
In addition, leaving GitHub pages allows you to drop CloudFlare which puts up an annoying CAPTCHA for page loads through Tor.
Funding for the Bitcoin.org server is currently pre-paid for a year in advance; after that, whatever sites are hosted on that server will have to figure out how to raise the current $590/month hosting expense.

[...] $590/month

Side note: where I live, DDoS protected dedicated and managed servers cost around 150EUR/month. 590$ sounds very expansive. Isn't it just a website where super-script-performance is not required?

@jonasschnelli I dunno, we haven't found credible non-Cloudflare DDoS options and good dedicated servers for less so far. But either way, the bills are paid so it's a bit late to consider alternatives. This server is all yours if you want to use it for static website hosting including Bitcoin Core binaries.

I'm not really sure a github issue is the place to discuss this. In any case I have some opinions regarding this topic.
We don't have intentions of moving binary downloads from bitcoin.org and neither does it make sense because bitcoin.org has established itself as the one-stop-shop for all Bitcoin wallets and that alone is compelling enough.
With regards to hosting of bitcoincore.org website on servers paid for by the Bitcoin Foundation, while the offer is very kind, the reputation and history of the Bitcoin Foundation is exceptionally poor and to be "sponsored by the BF" is the last thing we need right now.
Our needs for the time being are pretty basic and Github Pages serves it well enough. We don't have to rely on anyone, nor do we have to concern with server upkeep and maintenance. I favour simplicity but I think we also have to be realistic and keep away from controversy as much as possible.

@btcdrak Just to clarify, the sponsorship with the Foundation has ended and there is no need for the Bitcoin Core website to display any banner.

We don't have to rely on anyone

Well, currently Bitcoin Core relies on bitcoin.org for binary hosting. For the next 12 months it doesn't make much difference if you use bitcoin.org's servers with your domain, or bitcoin.org directly. In all case, after that time, you either need to find your own hosting, or ask Theymos / Cobra-Bitcoin to see if they can provide something either for your domain or bitcoin.org .

Bitcoin.org is not currently sponsored by the Bitcoin Foundation and has not been since Sept 2015.  We used the last few months of sponsorship money to pay for server expenses in advance.  No "Sponsored by" banner is required, and none would be required at all unless (1) you decided to stay for more than a year until we needed more money and (2) a sponsored by banner is how we chose to raise funds.
In any case, the offer remains open.

[Somewhat off topic:] @btcdrak Where would you have this discussion take place? This seems to me to be the right venue. If there's a non-GitHub communication channel for development of this site, it'd be good to mention it in the readme to make it easier for interested members of the community to participate.

I think its time to revisit this issue. bitcoin.org switched their hosting to just a blind DO instance, which is likely worse than github pages + Cloudflare (which is shit, but...).

@TheBlueMatt good idea to raise this issue, thank you.  I forwarded your comment to the current Bitcoin.org infrastructure maintainers in case they want to comment as @saivann and myself are no longer involved with that part of the site.

Hey, just wanted to comment here, I have commit access on Bitcoin.org but unfortunately don't have access to any of the hosting servers, etc. I agree that the security can be improved.

Just to recap what happened - previously, Bitcoin.org was hosted with Black Lotus (Level 3) in a multiserver environment which included a build server along with GPG signature based deployments. The hosting contract came up for renewal, and the decision was made by the domain owner (Cobra) to migrate and consolidate everything onto DO.
I offered to pay all hosting/infrastructure costs for the site to retain the previous hosting, as well as maintain said infrastructure (or set up something new/comparable somewhere else), however, that offer was declined (and the site was moved to DO) instead.
If you all want to host the files elsewhere, I could update the links on the download page to point there.
Bitcoin.org receives around a million unique visitors each month - last month, approximately 80,000 people visited the download page - I think it's important to have. Maybe the easiest thing to do if you all want to improve security would be to just not have the files hosted on Bitcoin.org (but still retain the downloads page there).

Binaries shouldn't be hosted in one place. Anyone can host the Bitcoin Core binaries. This actually is better since it makes one site much less of a target.
Bitcoin.org already has the infrastructure, web pages, user trust, etc, so we don't really want to undermine that by directing users to alternative places, so we'll continue to distribute the Core binaries on our site (and store them locally). Anyone is free to replicate the binaries though, and host it on other places.
Maybe in future releases, the binaries can be made available on many different mirrors, and users can pick from these. No need to have just one authoritative website that distributes the binaries!

@Cobra-Bitcoin Ideally folks would be validating the binaries as well, we can only hope... :p.
Indeed, for users downloading from bitcoin.org, it may make sense to have them hosted on bitcoin.org, as you point out, but we should have consistent messaging for "where the download page is". Previously "the download page" was kept on bitcoin.org as it had a much better security story (ie not cloudflare), but with that gone (I dont really trust DO either, let alone with it running jekyll on it), I think we should move the messaging around "where to go to download Bitcoin Core" to somewhere where we can maintain a better security story (which ideally we would have done with the introduction of bitcoincore.org, so no time like the present :p).
It would be helpful if, even though the binaries will likely continue to be served off bitcoin.org, the bitcoin.org "Bitcoin Core download page" were to say "this page is moving to bitcoincore.org". That way the user isnt pushed to a link to go to another page immediately, but we can transition users to a setup that has consistent messaging (ie clear bitcoin.org/bitcoincore.org distinction) and that we can more easily maintain the security requirements of serving Bitcoin binaries from.

@TheBlueMatt The download process is so integrated into the site, and users are so used to it, that I can't see much utility in pushing users to another site just to create "consistent messaging". If bitcoincore.org wants to distribute binaries, it can do that, but it shouldn't have to mean bitcoin.org has to change how it's currently operating (which is working well).
There's no need for a single authoritative place to download the binaries from. Lets just have mirrors up on bitcoin.org, bitcoincore.org, and some other sites, and we can distribute them in a more decentralized way.

This sounds reasonable to me.

@Cobra-Bitcoin Bitcoin Core binaries do have one authoritative source though, it is the Bitcoin Core developers. It would be more respectful and transparent for bitcoin.org to acknowledge that fact and refer visitors to the official website IMO, should it have a download page.
It doesn't mean that bitcoin.org cannot mirror the binaries on bitcoin.org/bin/, this is only good. If the download page isn't replaced by a redirect completely, at least a visible banner citing the real source of the binaries would be good IMO.

@laanwj What are your thoughts on this? Would be interested to know what the person handling the release process thinks...

@Cobra-Bitcoin I think there are two separate issues. One is secure hosting/distribution of the binaries. We know most users do not verify their binaries so we should protect them as much as possible by default with a secure hosting setup.
Now that the Bitcoin Core project has it's own established website, it makes sense that it does make those binaries available for download/link from the project website.
bitcoin.org is obviously a huge resource for bitcoin in general, and the wallet section of the site links to many different wallets. I think it makes sense for it to be the same for Bitcoin Core. Mirroring binaries is also ok, as is linking to bitcoincore.org binaries directly while keeping a separate download page, but it is inconsistent with how all the other wallets are linked - which is with a splashpage and a link to each wallet's own website.

Just wanted to add some data to this thread. Unlike other wallets, Bitcoin Core has it's own subsite on Bitcoin.org:
https://bitcoin.org/en/bitcoin-core/
This subsite received approximately 22.5K unique visits last month; 108K unique visits so far this year. Separate from this, is the download page, which received close to 80K unique visits last month; 380K+ unique visits so far this year. Also, keep in mind that the download page is translated into many languages, so it displays natively to people in other countries in their own vernacular.
All in all, we're talking about at the minimum, 400K unique visits of people all over the world so far this year, so I would just recommend we exercise great caution when decided what to do with this page. The first result for "download bitcoin" is this page. If we heavily modify this page, we could lose that result and there is no guarantee that Bitcoin Core's website will replace it as number one. We could lose a lot of visitors via search engines. Also, an alternative client could very well improve it's own rankings as a result. For example Bitcoin Unlimited is currently the fifth search result for "download bitcoin". If Bitcoin.org loses #1, there is a likely probability that it would improve BU's ranking.
Anyhow, just sharing this data so we can hopefully make a data-driven decision, here, and try to approach this objectively as possible. My personal recommendation if something must be done would be to as a compromise, only change the actual file link locations themselves (the hyperlink references) and add a note/string with an additional note/link to Bitcoin Core's website mentioning that it is the official site of the client.

I have two questions:

@TheBlueMatt thinks Bitcoin.org's current Digital Ocean (DO) hosting is "likely worse" than GitHub pages (which uses Cloudflare).  Is everyone in general agreement with that?  I confess I don't know much about either DO or GitHub Pages+Cloudflare, but in my naivety it seems like there are tradeoffs either way.

How would hosting the binaries on GitHub pages work?  Bitcoin.org currently hosts, I think, about a GB of binaries (current releases and historic releases across multiple platforms).  Even if we start adding just the newest releases to BitcoinCore.org's git repository, we're looking at increasing the size of the repository by several multiples of its current size.

@harding re 2: the binaries could be uploaded to Github under each tagged release and then the download links directly to those files. This is how we do it with Armory. Otherwise there would need to be another server hosting the binaries and the site linking to those.

I just noticed the downloads are already available on bitcoincore.org (https://bitcoincore.org/bin/bitcoin-core-0.14.2/), but the download link in the release notes still links to bitcoin.org.
Imho it would make sense to point the download link in the release notes to bitcoincore.org, but also have the files hosted as mirror on bitcoin.org.

Just for reference, bitcoincore.org it's own dedicated servers colocated with DDOS protection and various other security measures.

Future releases will be linked.


Clipboard on Debian 7 Host

I know this is a frequent & common issue both here and on other forums.
I've created a somewhat working installer for Debian 7 and the only thing that isn't working for me is clipboard, and thus copy paste between any client and the debian "xrdp" server.
I can copy and paste on the "xrdp" server desktop(I mean on the server itself) just fine but I can't copy anything to or from the "xrdp" server.
If I could get copy paste working, I could ditch using Windows servers as temporary desktops once and for all.
Clients I have:
Debian 9, freerdp-x11, version: 1.1.0-beta1 (git n/a)
Windows 7 SP1
Windows Server 2012 R2

All of these have at least fairly modern rdp clients. What's surprising is not even Windows machines can copy paste to and from the Debian 7 "xrdp" server.
I'm not sure what options I'm missing. All my installer does is standard stuff.
I'm not even modifying anything, only adding EN-GB keyboard on the server as that's what I use.
Let me know what options you want to be shared. I'm quite new to XRDP & its troubleshooting.

I have been using XRDP for over a year now.  Most of our issues can be traced back to the configuration of the RDP client.  On Windows 7 SP1 we have to open the "Advanced" tab and make a few changes.
On the tab "Local Resources"

Printers MUST be unchecked
Clipboard must be checked
More... Smart Cards MUST be unchecked

After those changes in the client, try connecting and see if your clipboard problems go away.
Best of luck to you

Please reopen if the issue still happens with the latest xrdp.


Allow 'unlimited' and 'infinity' for LimitNOFILE

I think this is an improvement (thought this had already been fixed). However, there may still be some valid values which can't be set this way.

cc: @bastelfreak: could you review this?

#63 is probably a better fix.


local Time with moment js

Hello ALASQL team,
I cannot seem to get the local time. I used below: but it differs 2 hours.
  `
moment.locale('nl');
alasql.fn.moment = moment;
alasql('SELECT moment(StartDate)->format("HH:mm") AS startTime,
  `
Can you advise?
Kind regards,
Mario

Can you make momentjs spit out the correct values when not using AlaSQL?

Hello Mathias,
I have captured the REST date output and the result = Wed Mar 30 2016 12:00:00 GMT+0200 (W. Europe Daylight Time)
We need to get 10:00:00
			var jsonDateTime = "\/Date(1459332000000)\/";
			var result = new Date(parseInt(jsonDateTime.substr(6)));
			console.log("result: "+result)

When I simply call moment() I get the right time at this moment.
Does this help?
Kind regards,
Mario

@MarioVanDenEijnde
It looks like moment.locale('nl') is not having any effect.
Feel free to fiddle around with http://jsfiddle.net/zpc8yzns/
However - using moments directly and using it via alasql yelds same result - so its not related to alasql - so Im closing the issue. Please reopen if you get a different result when using moments directly and using it via alasql.

Hello Mathias,
I had to add ".utc()" to moment() and then it works fine.
Kind regards,
Mario

Nice. Thanks for sharing.


Update intake catalog

Updated to latest list of datasets, excluding datasets with errors.
Error output included:
errors.txt
Also excluded these datasets
c3s-cmip6.ScenarioMIP.THU.CIESM.ssp585.r1i1p1f1.Amon.rsus.gr.v20200806
c3s-cmip6.ScenarioMIP.THU.CIESM.ssp585.r1i1p1f1.Amon.rsdt.gr.v20200806
c3s-cmip6.ScenarioMIP.THU.CIESM.ssp585.r1i1p1f1.Amon.rlus.gr.v20200806
As their time ranges were from 4029 to 4114.

@ellesmith88 @agstephens do we want to merge and use this catalog? Or the demo one:
https://github.com/cp4cds/c3s_34g_manifests/blob/master/intake/demos/c3s.yml

@cehbrecht If we merge this at the moment, it will break the production service I think - because the fix mentioned in https://github.com/roocs/34e-mngmt/issues/95 is needed for this catalog.

@ellesmith88 ok ... to be save we can merge after the successful update of the rook service. But I will use for the update the catalog from this PR:
[catalog]
#intake_catalog_url = https://raw.githubusercontent.com/cp4cds/c3s_34g_manifests/master/intake/catalogs/c3s.yaml
intake_catalog_url = https://raw.githubusercontent.com/cp4cds/c3s_34g_manifests/update_intake_catalog/intake/catalogs/c3s.yaml

@cehbrecht ok 👍  I'll make sure not to delete/ change this branch


what happened to the usersettings json format?

ctrl+shift+p userjson shows the user settins UI view..
Issue Type: Bug
User settings used to have an option to edit in json. Can't see this anymore and this is frustrating.
VS Code version: Code 1.31.1 (1b8e8302e405050205e69b59abb3559592bb9e60, 2019-02-12T02:20:54.427Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
Intel(R) Xeon(R) W-2145 CPU @ 3.70GHz (16 x 3696)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
31.73GB (20.65GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (18)

Extension
Author (truncated)
Version

gitlens
eam
9.5.1

vscode-azureappservice
ms-
0.12.0

vscode-azurefunctions
ms-
0.15.0

vscode-azurestorage
ms-
0.7.0

vscode-cosmosdb
ms-
0.10.0

mssql
ms-
1.4.0

python
ms-
2019.1.0

azure-account
ms-
0.8.0

azurecli
ms-
0.4.2

csharp
ms-
1.17.1

PowerShell
ms-
1.11.0

vscode-node-azure-pack
ms-
0.0.5

vsliveshare
ms-
0.3.1225

azurerm-vscode-tools
msa
0.4.2

debugger-for-chrome
msj
4.11.2

vscode-docker
Pet
0.5.2

vscode-icons
rob
8.2.0

azure-iot-toolkit
vsc
2.3.0

It's still there for settings that can't be edited in the GUI. What setting are you missing it for?

I wanted to change my default command from powershell to windows command as I have a configured environment. It used to be easy to find it in json. UI is bad.. In general why was the option to edit json removed?

It wasn't, there is a button in the upper right to switch:

I just have this setting to permanently switch to the JSON editor:
"workbench.settings.editor": "json"

t only shows the modified settings. Previously, it used to show available settings on left and modified on right. That was much nicer to have a context on left.

Here is where we show it in the docs.. https://vscode.readthedocs.io/en/latest/getstarted/settings/

See https://github.com/Microsoft/vscode/issues/68119.

Ah, thanks. This can be dup'ed to #68119


Add remove button functionality to single selects

I had implemented this on my own before finding a previous pull request for this at https://github.com/brianreavis/selectize.js/pull/848. However, my solution refactors far, far less of the original code than the other pull request does. Hope this helps get a remove button on single selects. Thanks

:+1:  to accept this Pull request


Add a code coverage badge

Is your feature request related to a problem? Please describe.
We want to show off how much code coverage we have.
Describe the solution you'd like
A little badge on the README with a percentage of code coverage.
Describe alternatives you've considered
We could use coveralls instead of the current actions artifact solution.
Additional context
Coverage is currently uploaded as an html artifact after unit tests run. Somewhat unclear how to convert that to a badge, but there's probably a way to script it from go tool cover -func output.

It also might be nice to make the coverage action add comments to files PRs. https://stackoverflow.com/questions/58468495/how-create-a-comment-on-commit-with-github-actions

Not a badge but might make the job output nicer:

https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/
https://github.com/actions/toolkit/blob/main/packages/core/src/summary.ts
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary


Mongodb SRV not supported

MongoDB supports SRV DSN format (https://www.mongodb.com/blog/post/mongodb-3-6-here-to-SRV-you-with-easier-replica-set-connections) since v3.6
In yii2-mongodb/src/Connection.php there's a regex expecting mongodb://, whereas the new format is mongodb+srv://, so this regex fails.

@samdark it does not, as then it fails on the Native PHP driver for some reason after that...

This regex is only used to parse the default database name when it is not set; the work around is to simply provide a defaultDatabaseName in the configuration in config.php:
'mongodb' => [
	'class' => '\yii\mongodb\Connection',
	'dsn' => 'mongodb+srv://user:pass@my-cluster.5vfchy1.mongodb.net/?retryWrites=true&w=majority',
	'defaultDatabaseName' => 'my_database',
],


Fix typo in README.md

what

Fix typo in README.md file

why

Because of my OCD issues

references

worker

@BrunoChauvet README.md is a generated file. You probably want to change README.yaml. If you find other typos, it would be nice to collect them all in 1 PR. Thank you for caring.

Thanks @Nuru, I didn't catch any other typos in the readme. I'm new to this project and love it, thanks for the good work :+1:

/test readme

/test all

@SweetOps I miss this frequently myself, and maybe no one even told you about it: with small changes like this, please apply the patch or bugfix label. At some point, for changes only to the documentation, you will be able to add a no-release label which is even better.


Is there a way to filter the NodeStructuresMigrationConfig

I have several projects that I'm trying to split up. I'd like to migrate a specific set of area and iteration children to a new project. This is fine for work items as I can filter the WorkItemMigrationConfig using the QueryBit and something like a "[System.AreaPath] UNDER" query. However, the NoteStructureMigrationConfig copies everything, regardless of whether it is needed or not. It would be nice to be able to either specify a filter for the NoteStructureMigrationConfig, or to make it aware of the WorkItemMigrationConfig such that it only creates the nodes that are needed for the Work Item Migration.

This is an interesting idea. Do you have an idea how you would like to configure it? Maybe a filter based on Regex?

Could be anything really. In my particular case I’m mostly only ever interested in one sub-path, as most of our projects are organized the same way — as an example:
CCO
CCO\ATC
CCO\MTM
CCO\PLA
etc.
each of ATC, MTM and PLA are teams/projects controlled by a department “CCO” — this facilitates planning across teams in a department and seems to work fairly well for us, but on occasion a project is moved to a different department, so I have to take everything under “ATC” for instance and move it to a new base project as so:
CCO2\ATC
So for a filter, I could see simply a single path, or perhaps a comma separated list if I need to do more than one:
NodePaths: \CCO\ATC, \CCO\MTM
A regex could work as well, but might be a bit overkill.
For my case “Area” and “Iteration” paths are generally the same at the top two levels (so they would both be “CCO\ATC” for example and then differ after that level), for others however having two different filter criteria might be useful.
The other potential alternative (and I seem to recall that this was how the really old MS supplied migration tool used to work) is simply to create node paths as required based on the ticket itself being migrated — rather than having a separate plugin for that purpose.
Thanks
James

On Sep 13, 2017, at 7:11 AM, Martin Hinshelwood nkdAgility.com<EMAIL_ADDRESS>wrote:
This is an interesting idea. Do you have an idea how you would like to configure it? Maybe a filter based on Regex?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/nkdAgility/vsts-sync-migration/issues/54#issuecomment-329135667, or mute the thread https://github.com/notifications/unsubscribe-auth/AAOaBl2oeYE4SM8rXZxvdQu7IzHX8qWPks5sh7hxgaJpZM4PVIrA.

I too would find something like this useful. Almost every work item migration I've ever done was a subset of items from a given team project. And I would never need the entire area/iteration tree from the source project applied to the target.
Another suggestion in handling this would be to use "QueryBit" in the NodeStructuresMigrationConfig processor. The idea would be to only migrate the areas/iterations it finds in the work items returned by the query.
Lastly, it would be very helpful to be able to map area/iteration values like you can for other fields, and like you could in the old TFS Integration tool. Example would be I want to map all work items to a specific area path in the target project, regardless of what path they have in the source project.
Thank you,
Patrick

I guess this can be closed now @MrHinsh


API: Window state

This will allow me to address #11918
Introduced ExtHostWindow et al, due to the lack of a better option of putting these properties.
Question: should the onDidChangeWindowFocus event have a better type for the event message, other than plain boolean?
Fixes #18263

@jrieken Made them changes:

use readonly instead of a getter
assume the window starts focused
come up with interface WindowState

@jrieken Here's what we can get from Electron:

isFocused(): boolean
isVisible(): boolean
isModal(): boolean - doesn't apply to us
isMaximized(): boolean
isMinimized(): boolean
isFullScreen(): boolean

I'd say besides focus, visibility is the only other interesting attribute.
I'm also not yet convinced to go with a constraint solution which disallows impossible situations (eg is not visible yet focused), since we might lock ourselves into an API which would be harder to grow. For example, we could come up with a triple state focused | visible | hidden. Yet, this would just make things harder once another window-state-related variable comes into play and then we'd have to create that interface we talked about.
I keep my suggestion to go with the interface.

@jrieken I'll go with the interface for now.

or example, we could come up with a triple state focused | visible | hidden. Yet, this would just make things harder once another window-state-related variable comes

Sounds like an interface with two enums 🙊 So, what will it be?
interface WindowState {
  // these four some all talk about the window state and are mutually exclusive, right?
  // That would make them a candidate for an enum
  isVisible: boolean; // false means is hidden?
  isMinimized
  isMaximised
  isFullscreen

  // this one can be combined with all previous four I'd say
  isFocused: boolean;
}

Not so sure whether those four are mutually exclusive. Doesn't minimized imply being hidden?
As much as I also dislike having possible inconsistencies in the different combinations of values, I believe we're asking too much from the type system to solve everything for us. My suggestion would be:
interface WindowState {
  readonly visible: boolean;
  readonly focused: boolean;
}

And go from there.

Going with focused only for now, as I agree that visibility is a hard concept to get right. We can introduce that one once we have a better defined use case for it.


Add platform specific unit tests

Now that we start to have very platform specific implementations for NetworkChannels such as the CoapUdpIpChannel for RIOT OS, it makes sense that we add unit tests that are executed on the correct runtime.
I am not yet sure how to integrate the CMAKE stuff to run make based RIOT OS tests, but I think we should find a way.

Yes, agreed. The first challenge is finding a nice test environment, such as RIOT with the tap interface


Members able to view group meeting codes

Describe the bug
Members can access mentor/admin group control panel through dashboard link.
To Reproduce
Steps to reproduce the behavior:

Create new member
Go to dashboard
Large group link is clickable and directs to mentor/admin group page, which includes past attendance meeting codes

Expected behavior
Should either be prevented from viewing group pages entirely or shown less information

This should be a good first issue since you should just have to add a guard to here:
https://github.com/rcos/observatory-new/blob/a341f14e63cbd4d94ede1fdfb8d20b01d4345aeb/templates/group/group.html#L63
There are examples of guards in that file a bit higher up than where I linked.

cannot reproduce due to issue #28


Dockerfile for duckling

Proposed changes:
Duckling requires a JVM so adding it to requirements is not enough, JRE needs to be installed.
This is not an ideal solution as duckling can be used with several pipelines, but it may be a useful reference for users needing duckling in a container until a better solution is provided: it's a copy of Dockerfile_bare with commands to install a JRE.
A better solution could be a rasa/rasa_nlu_bare_jre image.
Status:

[ ] ready for code review
[ ] there are tests for the functionality
[ ] documentation updated
[ ] changelog updated

the full docker file already provides a reference and installs both java and duckling https://github.com/RasaHQ/rasa_nlu/blob/master/docker/Dockerfile_full#L11 for installing duckling and the JRE.
Is the manual install method you provided superior to just installing the default-jre?
@milutz FYI.

I completely missed that! No, default-jre is the way to go. I think I need to brush up my Googling skills :)


django-grpc-framework doesn't work with Django 4.1.1

Following quick start tutorial:
https://djangogrpcframework.readthedocs.io/en/latest/quickstart.html
with Django 4.1.1
command
python manage.py grpcrunserver --dev
return error:
Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/franco/.virtualenvs/proto/lib/python3.8/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
    utility.execute()
  File "/home/franco/.virtualenvs/proto/lib/python3.8/site-packages/django/core/management/__init__.py", line 440, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/franco/.virtualenvs/proto/lib/python3.8/site-packages/django/core/management/__init__.py", line 279, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "/home/franco/.virtualenvs/proto/lib/python3.8/site-packages/django/core/management/__init__.py", line 49, in load_command_class
    return module.Command()
  File "/home/franco/.virtualenvs/proto/lib/python3.8/site-packages/django/core/management/base.py", line 274, in __init__
    raise TypeError("requires_system_checks must be a list or tuple.")
TypeError: requires_system_checks must be a list or tuple.

This lib is not maintained anymore, I suggest you take a look at https://github.com/socotecio/django-socio-grpc which was originally based on this library. It does support Django 4.1.

@legau what would it take to boot this back up?

I also have this problem

I also got this same error

Or try my project i upgrade it to Django 4
https://github.com/fan9704/NeoRPCSeach
but I,m it can work correctly(long time ago)

for fix this problem, need change one string in file of [django-grpc-framework]:
in file: "path_to_venv/lib/python3.10/site-packages/django_grpc_framework/management/commands/grpcrunserver.py"
replace 20 string from 'requires_system_checks = False' to 'requires_system_checks = []'


Delete item button doesn't work

I am using Dspace version 7.1. When I try to permanently delete the item, nothing happens. Delete button not working properly. Also, sometimes when I click the permanently delete button on the edit item page, it throws a "null" request.
https://[domain]/server/api/core/entitytypes/label/null

@muhep06 : I cannot reproduce this on our Demo site (https://demo7.dspace.org/), or locally in the latest code on main (which does include code updates since the 7.1 release).  So, it appears to me that we've fixed this bug already, and the fix will be available in the upcoming 7.2 release (coming in Feb)

I can confirm this issue happening with DSpace 7.1.1 when working as administrator (creation and deletion).

I fix this issue insert entity models into database with using this command.
[dspace]/bin/dspace initialize-entities -f [dspace]/config/entities/relationship-types.xml

https://wiki.lyrasis.org/display/DSDOC7x/Configurable+Entities#ConfigurableEntities-DefaultEntityModels
Then i select entity type for new collection.

After all, i try to permanently delete again it works.
The entity type field must be required if permanent deletion will not work if I don't select an entity type for the collection.

Thanks for the hint. With items (not collections) I have not been successful so far, though.

@firoball and @muhep06 : thanks for the additional discussion here.  It appears I missed that this bug was related to the existence of an empty dspace.entity.type field.   That said, I'll leave this ticket closed, as it's now been duplicated into #1501.
However, you'll both be glad to hear we have a PR to fix this issue in #1503.
So, this bug will be fixed on main shortly & will be released in 7.2

I have already added this new PR into our local setup and can confirm this fixes the issue for me without leftovers.


Provide an implemention on hf transformers

https://github.com/Brett-z/LayerRemoval
This repo provides an implementation for layer removal in the HuggingFace Transformers library

Thanks for sharing! Do you know if it handles removal the same or different to my HuggingFace removal implementation?

Yes! Your HuggingFace removal is almost the same as https://github.com/Brett-z/LayerRemoval, and it's more concise. Thanks for your contributions.


Pageup/down keybindings don't work when in Quick Open

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.82.2
OS Version: Windows 10 & 11

Steps to Reproduce:

Assign a keybinding to pageup and/or pagedown
Open the Quick Open dialog
Press pageup/pagedown

Expected behavior: My keybinding executes
Actual behavior: The focused item scrolls to the bottom of the quick open options
I disabled all other keybindings for pageup/down when testing this.

/duplicate https://github.com/microsoft/vscode/issues/98479 because when that is addressed, this will also be addressed

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Changed the Memory & Storage Section

Proposed changes
Completely edited the previous memory & storage section(Readme.md) , as the information was incomplete , was unreadable as no formatting was used and also included some typos. Hope you would like this..
Will be adding more topics to this section in future.
Types of changes
What types of changes does your content introduce to this project?
Put an x in the boxes that apply (without "`")

[x] Proofreading (fix spelling, grammar, punctuation, accuracy) Proofreading
[x] New content (new section, new readme, etc.)
[ ] Modifications (modifying existing content)
[ ] Other (please describe)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. Don't hesitate to ask if you're unsure about any of them. We're here to help! This simply reminds us of what we will look for before merging your code.
Note: If you submit code make sure to test it

[ ] Tested any code that was added/modified in this PR
[ ] Added external links
[ ] Added internal links
[ ] Added images
[ ] Added videos
[ ] Added code snippets

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...
Adding your name to the contributor's list
Comment "@all-contributors please add @your_username for content" to add your name to the contributor's list.
You can change the "content" with any of this
Reviewers:

[x] @shhossain

Please ensure that you are not adding any sensitive information like API keys, secrets, passwords, tokens, usernames, or other credentials. Refrain from adding your name, email, or other personal information.

@shhossain If you want I can add some of the content from the previous Virtual memory part, but the format I used should be perfect as it fits the topic , as it gives an overall knowledge.


Supporting 32-bit builds in cpi code

I'm not sure where the VmSlice should really be defined.
This is just for early review.

Complete at this time (pending other issues that may be brought up in review by Anza, etc.)