"RegisterMicrosoftUpdate.ps1" fails and freezes installer when AppLocker / WDAC rules exist (despite the script being whitelisted & running full language mode)

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
Situation Where This Occurs: When a system is set up with any security/execution policy that causes PowerShell to run in Constrained Language mode by default, such as the PowerShell Core Group Policy Editor execution policy being set as "Allow only signed scripts", or AppLocker rules that require whitelisting to run in Full Language mode.
Problem: If the user runs the installer and selects to use Microsoft Update (I believe, or otherwise whatever causes RegisterMicrosoftUpdate.ps1 to be run as part of the installation), and the system is set up as described above, the installer will hang at the end forever showing no error and never complete.
Root Cause: The problem exists in RegisterMicrosoftUpdate.ps1 and the fact that the $jobScript block is run as a new thread which creates a new session outside of the whitelisted session, therefore it is in Constrained Language Mode instead of the outer script's Full Language Mode, so it fails. Then for some reason the installer doesn't notice this and just hangs instead of displaying an error and moving on.

More Problem Details
I noticed the PowerShell 7 MSI installer would freeze near the end and show no movement or message. I ran the MSI installer with verbose logging and it was hanging completely with the last line being this:
CAQuietExec:  "C:\Program Files\PowerShell\7\pwsh.exe" -NoProfile -ExecutionPolicy Bypass -File "C:\Program Files\PowerShell\7\RegisterMicrosoftUpdate.ps1"

To be clear, the script should theoretically be able to run no problem, because in AppLocker I have rules to allow any signed scripts, as well as the powershell core policy in GPE being set to allow only signed scripts (which it is). I also even tried explicitly adding an allow rule on the script's file hash and temporarily changing the group policy GPE setting, but it didn't work (because AppLocker was still active, therefore defaulting to Constrained Language), but given the cause, this is not a surprise. The script itself is running in Full Language mode, that's not the problem, rather the inner code block mentioned before.
Running the script by itself yields these errors:
PS C:\Program Files\PowerShell\7> .\RegisterMicrosoftUpdate.ps1
VERBOSE: Running job script:
            # This registers Microsoft Update via a predifened GUID with the Windows Update Agent.
            # https://learn.microsoft.com/windows/win32/wua_sdk/opt-in-to-microsoft-update

            $serviceManager = (New-Object -ComObject Microsoft.Update.ServiceManager)
            $isRegistered = $serviceManager.QueryServiceRegistration('7971f918-a847-4430-9279-4a52d1efe18d').Service.IsRegisteredWithAu

            if (!$isRegistered) {
                Write-Verbose -Verbose "Opting into Microsoft Update as the Autmatic Update Service"
                # 7 is the combination of asfAllowPendingRegistration, asfAllowOnlineRegistration, asfRegisterServiceWithAU
                # AU means Automatic Updates
                $null = $serviceManager.AddService2('7971f918-a847-4430-9279-4a52d1efe18d', 7, '')
            }
            else {
                Write-Verbose -Verbose "Microsoft Update is already registered for Automatic Updates"
            }

            $isRegistered = $serviceManager.QueryServiceRegistration('7971f918-a847-4430-9279-4a52d1efe18d').Service.IsRegisteredWithAu

            # Return if it was successful, which is the opposite of Pending.
            return $isRegistered

VERBOSE: Waiting on Job for 300 seconds
VERBOSE: Job finished.  State: Completed
New-Object:
Line |
   5 |  … viceManager = (New-Object -ComObject Microsoft.Update.ServiceManager)
     |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot create type. Only core types are supported in this language mode.
InvalidOperation:
Line |
   6 |              $isRegistered = $serviceManager.QueryServiceRegistration( …
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | You cannot call a method on a null-valued expression.
InvalidOperation:
Line |
  12 |  …             $null = $serviceManager.AddService2('7971f918-a847-4430-9 …
     |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | You cannot call a method on a null-valued expression.
InvalidOperation:
Line |
  18 |              $isRegistered = $serviceManager.QueryServiceRegistration( …
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | You cannot call a method on a null-valued expression.
VERBOSE: Opting into Microsoft Update as the Autmatic Update Service
VERBOSE: Result:
VERBOSE: Registration failed

With the main problem being:
Cannot create type. Only core types are supported in this language mode.
The problem is like I described above, how $scriptBlock is being run in a new session/context so it doesn't inherit the Full Language mode and fails despite being within the allowed script.
Expected behavior
I would expect the installer to display an error message that the registering to Windows Update had failed but the installation was otherwise a success.
Example Solution:
With the help of ChatGPT I had it create a version of the script that runs the script block in the same context and works:
param(
    [ValidateSet('Hang', 'Fail')]
    $TestHook
)

$waitTimeoutSeconds = 300
switch ($TestHook) {
    'Hang' {
        $waitTimeoutSeconds = 10
        $jobScript = { Start-Sleep -Seconds 600 }
    }
    'Fail' {
        $jobScript = { throw "This job script should fail" }
    }
    default {
        $jobScript = {
            # This registers Microsoft Update via a predifened GUID with the Windows Update Agent.
            # https://learn.microsoft.com/windows/win32/wua_sdk/opt-in-to-microsoft-update

            $serviceManager = (New-Object -ComObject Microsoft.Update.ServiceManager)
            $isRegistered = $serviceManager.QueryServiceRegistration('7971f918-a847-4430-9279-4a52d1efe18d').Service.IsRegisteredWithAu

            if (!$isRegistered) {
                Write-Verbose -Verbose "Opting into Microsoft Update as the Automatic Update Service"
                # 7 is the combination of asfAllowPendingRegistration, asfAllowOnlineRegistration, asfRegisterServiceWithAU
                # AU means Automatic Updates
                $null = $serviceManager.AddService2('7971f918-a847-4430-9279-4a52d1efe18d', 7, '')
            }
            else {
                Write-Verbose -Verbose "Microsoft Update is already registered for Automatic Updates"
            }

            $isRegistered = $serviceManager.QueryServiceRegistration('7971f918-a847-4430-9279-4a52d1efe18d').Service.IsRegisteredWithAu

            # Return if it was successful, which is the opposite of Pending.
            return $isRegistered
        }
    }
}

Write-Verbose "Running job script" -Verbose

# Run the script block synchronously in the current session
$result = & $jobScript

Write-Verbose "Result: $result" -Verbose
if ($result) {
    Write-Verbose "Registration succeeded" -Verbose
    exit 0
}
else {
    Write-Verbose "Registration failed" -Verbose
    # at the time this was written, the MSI is ignoring the exit code
    exit 1
}

Actual behavior
Installer hangs forever until force quit with Task manager.
I added logging lines to various parts of the script to see the language mode at different parts which revealed that part of it was running in constrained language mode.
Here is the modified script:
param(
    [ValidateSet('Hang', 'Fail')]
    $TestHook
)

Write-Output "1 The execution policy is: $($ExecutionContext.SessionState.LanguageMode)`n"

$waitTimeoutSeconds = 300
switch ($TestHook) {
    'Hang' {
        $waitTimeoutSeconds = 10
        $jobScript = { Start-Sleep -Seconds 600 }
    }
    'Fail' {
        $jobScript = { throw "This job script should fail" }
    }
    default {
        $jobScript = {
            # This registers Microsoft Update via a predifened GUID with the Windows Update Agent.
            # https://learn.microsoft.com/windows/win32/wua_sdk/opt-in-to-microsoft-update
			Write-Output "2 The execution policy is: $($ExecutionContext.SessionState.LanguageMode)`n"
            $serviceManager = (New-Object -ComObject Microsoft.Update.ServiceManager)
            $isRegistered = $serviceManager.QueryServiceRegistration('7971f918-a847-4430-9279-4a52d1efe18d').Service.IsRegisteredWithAu
			Write-Output "3 The execution policy is: $($ExecutionContext.SessionState.LanguageMode)`n"
            if (!$isRegistered) {
				Write-Output "4 The execution policy is: $($ExecutionContext.SessionState.LanguageMode)`n"
                Write-Verbose -Verbose "Opting into Microsoft Update as the Autmatic Update Service"
                # 7 is the combination of asfAllowPendingRegistration, asfAllowOnlineRegistration, asfRegisterServiceWithAU
                # AU means Automatic Updates
                $null = $serviceManager.AddService2('7971f918-a847-4430-9279-4a52d1efe18d', 7, '')
				Write-Output "5 The execution policy is: $($ExecutionContext.SessionState.LanguageMode)`n"
            }
            else {
                Write-Verbose -Verbose "Microsoft Update is already registered for Automatic Updates"
            }

            $isRegistered = $serviceManager.QueryServiceRegistration('7971f918-a847-4430-9279-4a52d1efe18d').Service.IsRegisteredWithAu
			Write-Output "6 The execution policy is: $($ExecutionContext.SessionState.LanguageMode)`n"
            # Return if it was successful, which is the opposite of Pending.
            return $isRegistered
        }
    }
}

Write-Verbose "Running job script: $jobScript" -Verbose
$job = Start-ThreadJob -ScriptBlock $jobScript

Write-Verbose "Waiting on Job for $waitTimeoutSeconds seconds" -Verbose
$null = Wait-Job -Job $job -Timeout $waitTimeoutSeconds

if ($job.State -ne 'Running') {
    Write-Verbose "Job finished.  State: $($job.State)" -Verbose
    $result = Receive-Job -Job $job -Verbose
    Write-Verbose "Result: $result" -Verbose
    if ($result) {
        Write-Verbose "Registration succeeded" -Verbose
        exit 0
    }
    else {
        Write-Verbose "Registration failed" -Verbose
        # at the time this was written, the MSI is ignoring the exit code
        exit 1
    }
}
else {
    Write-Verbose "Job timed out" -Verbose
    Write-Verbose "Stopping Job.  State: $($job.State)" -Verbose
    Stop-Job -Job $job
    # at the time this was written, the MSI is ignoring the exit code
    exit 258
}

And its output:
PS C:\Users\Joe\Desktop\Tests\Powershell bug> .\RegisterMicrosoftUpdate.ps1
1 The execution policy is: FullLanguage

[[[ Removed redundant verbose lines ]]]

New-Object:
Line |
   5 |  … viceManager = (New-Object -ComObject Microsoft.Update.ServiceManager)
     |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot create type. Only core types are supported in this language mode.
InvalidOperation:
Line |
   6 |              $isRegistered = $serviceManager.QueryServiceRegistration( …
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | You cannot call a method on a null-valued expression.
InvalidOperation:
Line |
  13 |  …             $null = $serviceManager.AddService2('7971f918-a847-4430-9 …
     |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | You cannot call a method on a null-valued expression.
InvalidOperation:
Line |
  20 |              $isRegistered = $serviceManager.QueryServiceRegistration( …
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | You cannot call a method on a null-valued expression.
VERBOSE: Opting into Microsoft Update as the Autmatic Update Service
VERBOSE: Result: 2 The execution policy is: ConstrainedLanguage
 3 The execution policy is: ConstrainedLanguage 4 The execution policy is: ConstrainedLanguage
 5 The execution policy is: ConstrainedLanguage
 6 The execution policy is: ConstrainedLanguage

VERBOSE: Registration succeeded

Notice it starts out in full language mode but once inside $jobScript it is constrained
Error details
New-Object:
Line |
   5 |  … viceManager = (New-Object -ComObject Microsoft.Update.ServiceManager)
     |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot create type. Only core types are supported in this language mode.

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

Visuals
No response

It seems that the script failing to run might be two-fold, and even if the script were modified to not keep the code block in full language mode, it would fail to run anyway because of #20508 . I realize this because RegisterManifest.ps1 also seems to cause the installer to hang, though it doesn't cause such an error as above.
So unless it's decided the scripts should be run in a different manner than using -File, I still think the main issue is that the installer hangs if the script fails.

/cc @SteveL-MSFT @TravisEz13

We reviewed this and determined that this is not a security issue.... we need to determine that we are in constrained language mode so that we can disable this feature or exit out... @JamesWTruher has experience with this


适配后字体变得好大啊

Environment

[x] Autosize Version:
[x] Target Android Version:
[x] Device Model:
[x] Device Resolution:
[x] Design Size On AndroidManifest:

Bug Description:

Log:

Screenshot

Related Code:

Others:

补全上面的问题模板

@JessYanCoding  救救我，救救我


Update auto-merge.md

@lamebrain : Thanks for your contribution! The author, @v-caxian, has been notified to review your proposed change.

@lamebrain : Thanks for your contribution! The author, @v-caxian, has been notified to review your proposed change.


Need Assistance Using XMLCoder!

A package based on XMLCoder
MusicXML written by Jame Bean, Ben Wetherfield & Sihao Lu is heavily base on XMLCoder & has been dormant for a couple of years now!
None of the maintainers respond unfortunately ...
What is the problem?
The package does not function & fails Tests & probably was left incomplete.
It is based on MusicXML 3.0 release & it misses some elements & data types (4.0 version was added after the project went dormant) which I'm currently adding them in a fork that I've created & renamed the package to
SwiftMXL.
Though things are missing & some must be reimplemented, I believe that's not  the only reason that the package is failing. I think that XMLCoder is not properly used as its dependency & that might be contributing to the thrown errors.
Assistance required
Since the maintainers of MusicXML have also contributed to XMLCoder & both packages share similarities, I'd appreciate if anyone could take a look at the crash logs & trace the errs back to its origin. Possibly some of you might even be able to find the problem in a glance.

@fjagerman I appreciate that you took time & investigated the package.
Lemme be frank here :) I don't even know how you faced 17 issues (in XCode 15). You should've faced 6 errors all of which are originated from the implementation of XMLChoiceDecodingContainer in XMLCoder.

Hi Treata
Sorry for bothering you with a fix for a problem you don’t have yourself. I changed package.swift (as shown below) because the tests could not access those resources (using Xcode 15.0 and MacOS Sonoma 14.0)
The resources were introduced with SE-0271. https://github.com/apple/swift-evolution/blob/main/proposals/0271-package-manager-resources.md
p.s. My own project seems to be working fine with  XMLCoder 17.1
Good luck with your project!
// swift-tools-version:5.3
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "SwiftMXL",
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "SwiftMXL",
targets: ["SwiftMXL"]
),
],
dependencies: [
.package(url: "https://github.com/MaxDesiatov/XMLCoder", from: "0.17.1"),
.package(url: "https://github.com/jpsim/Yams.git", from: "5.0.6"),
],
targets: [
.target(
name: "SwiftMXL",
dependencies: ["XMLCoder"]
),
.testTarget(
name: "SwiftMXLTests",
dependencies: ["SwiftMXL", "Yams"],
resources: [
.copy("Complex Types"),
.copy("LilyPondTests"),
.copy("ScoreTests"),
]),
]
)


integrations: Add Patreon webhook integration.

This PR adds the Patreon incoming webhook integration.
Fixes: #18321.

Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

@prah23 do you have time to update this following the feedback above?

Are there other OSS projects that integrate with Patreon? Maybe we can spelunk their codebases and figure out what their API is through that.

Closing in favor of https://github.com/zulip/zulip/pull/28384.


docs: sidebar refactor

https://github.com/OMGWINNING/aa-sdk-staging/assets/83442423/350f0779-0fb9-4ac6-be98-60a0c44a704a

also looks like you have a dead link: https://github.com/OMGWINNING/aa-sdk-staging/actions/runs/6472745401/job/17573993635?pr=97

Fixed dead links and merged the ERC-6900 content into modular account page


docs: Update doc comment from normalize function in path plugin to match definition

The doc comment from the normalize function in the path plugin was not matching the actual definition.
Rust definition: https://github.com/tauri-apps/tauri/blob/0cb0a15ce22af3d649cf219ac04188c14c5f4905/core/tauri/src/path/plugin.rs#L18
Typescript definition: https://github.com/tauri-apps/tauri/blob/0cb0a15ce22af3d649cf219ac04188c14c5f4905/tooling/api/src/path.ts#L589
Yet, the doc comment was passing the different segments from the path as arguments:
const path = await normalize(appDataDirPath, '..', 'users', 'tauri', 'avatar.png');

I suggest this, although I wonder if there is a better way (perhaps with the join function? I don't know, perhaps the extra call isn't worth, feel free to suggest other ways!):
const path = await normalize(`${appDataDirPath}/../users/tauri/avatar.png`);

I think we should support this instead right @amrbashir ?

By this, do you mean multiple aegs? as in normalize('path', '..', 'to')? If yes, then no we shouldn't, it should take only one arg, the doc comment is just incorrect


[release-v1.99] Automated cherry pick of #10300: Allow gardenlet to create its own Gardenlet resource for self-upgrades

/kind bug
/area ops-productivity
Cherry pick of #10300 on release-v1.99.
#10300: Allow gardenlet to create its own Gardenlet resource for self-upgrades
Release Notes:
A bug has been fixed which prevented `gardenlet` from creating its own `seedmanagement.gardener.cloud/v1alpha1.Gardenlet` resource when `selfUpgrade` was set in its Helm chart values ([more information](https://github.com/gardener/gardener/blob/master/docs/deployment/deploy_gardenlet_manually.md#optional-enable-self-upgrades)).

/cc @ScheererJ


MINOR: Extend release.py with a subcommand for staging docs into the kafka-site repo

@ijuma @dguy @gwenshap Doing this manually was becoming really annoying and I know at least streams has had something of an uptick in frequency of these changes, including on already released branches. For people writing patches, with the right organization of checkouts, it can help them validate their PRs. For reviewers, it lets you validate docs changes in this repo against the full site setup more easily, then do the full merge to kafka, generate docs, merge to kafka-site process more easily.

Thanks @ewencp, sounds like a great idea! However my python is pretty terrible, so I can't really offer much in terms of a review of the code!

I think all the issues have been addressed (as well as fixing to also copy the javadocs, which I had missed before).

Ping again, would like to get this merged as it's pretty painful trying to test changes to the docs tooling and styling without this.


Supercharging Previews

Storybook.js has taken off as a powerful and interactive way to document the React components in a project. The ViewComponent Previews could be enhanced to provide much the same power and allow teams to create automated "Design System" playgrounds for their server side rendered components.
Key Features to add that would make a big difference:

Load components in and iframe - This allows someone to browse the library of components without a bunch of back and forth in the browser.
Knobs - being able to dynamically alter the parameters passed to the component and seeing it live is a big win.
Docs - I assume we could leverage RDoc annotations or the like.

There are some other bells and whistles in Storybook Addons that we should consider. Viewport stands out most to me - others are much more JS focused.

@bostanio these are all excellent suggestions. I almost wonder if we should consider similar improvements for Mailer previews as well, as that's what we modeled the existing behavior after.

Agreed. The Mailer Previews a pretty bare bones IMO.

I have a theory that it might be possible to leverage Storybook directly. They've recently added support for "standalone" mode where the list of stories is loaded from an external source. Perhaps we can figure out the right dsl to provide AV:Components to Storybook?
https://github.com/storybookjs/storybook/tree/next/examples/standalone-preview

@bostanio Standalone mode was the first step towards supporting ANY backend, with Rails in mind as the most active server-side environment. We'd love to work with somebody from the Rails community to make Storybook for Rails a reality.
As a little background:

Standalone mode was released in Storybook 5.2 and community members have been making use of it in other server contexts, e.g. Parcel, es-dev-server.
There has been successful experimentation by @daKmoR of Open Web Components to statically bundle the UI so that everything can be served from an arbitrary server. This hasn't made its way back into Storybook yet, but is an active project.

Storybook's 6.0 ship window closes in two months (end of Feb), so right now would be the best time to get in any breaking changes. It's also likely that we could integrate without breaking changes in a 6.x release.

Hey, I've spend some cycles thinking about how "Storybook for Rails" could work in the past, and would be keen to get a POC going. A while back I posted some thoughts in the #server channel of Storybook's Discord, which @bostanio seems to have found.
Can continue the conversation there for the next little bit perhaps.

Proof of concept of using a rails backend as the preview url for Storybook running in standalone more: https://github.com/bostanio/avc_storybook
There are a few of things we could do in AV:C to simplify that approach as well as provide meta data to support Storybook knobs

For anyone following this I just release the first version of ViewComponent::Storybook that provides a bridge between ViewComponents previewed in Storybook: https://github.com/jonspalmer/view_component_storybook

@jonspalmer Oooo, I can't wait to try this out.


No/Low Code Configuration Builder

Enhancement Suggestion
Low Code / No Code visual drag-and-drop interface as agent creation and/or configuration of router(s). Similar to FlowWise.
FlowWise is built on LangChain and has a similar concept to BotSharp's router and agent configuration. A visual flow builder web component would be an ideal solution to improve ease of use and further visualization of key concepts.

That's a good idea. I've alwasy been thinking BotSharp has this kind of drag-and-drop editor.
Do you have any further detailed plan to acheive this?

Flowy or Drawflow are both good starting points with a decent and easy to integrate UIm they both export to JSON, and I'd imagine it would just be a matter of posting the object model to an endpoint or consumer to write it to file system or persistence. Complexity comes in the options you want to provide.


Add RSA Signature restrictions for X9.31 padding in the FIPS provider.

In FIPS 140-3, RSA Signing with X931 padding is not approved,
but verification is allowed for legacy purposes. An indicator has been added
for RSA signing with X931 padding.
A strict restriction on the size of the RSA modulus has been added
i.e. It must be 1024 + 256 * s (which is part of the ANSI X9.31 spec).
Added implementation comments to the X931 padding code

Checklist

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

Dependent on PR https://github.com/openssl/openssl/pull/24623
The first 5 commits should not be reviewed. This PR will be rebased once 24623 is merged.

Why ifndef FIPS_MODULE and instead just remove it? It is misleading and useless here, isn't it?

Should we completely remove X9.31 as a padding mode from RSA encryption (X9.31 was a signature standard)

CHANGES.md might need an update also for x9.31 padding with rsa encryption?

minor update for docs to use X9.31 rather than X931

Why ifndef FIPS_MODULE and instead just remove it? It is misleading and useless here, isn't it?

Should we completely remove X9.31 as a padding mode from RSA encryption (X9.31 was a signature standard)

IMO there is nothing for OTC to discuss here as RSA_X931_PADDING is not supported by rsa_ossl_private_decrypt() and rsa_ossl_public_encrypt() functions.
So you will just get the failure later when you call the encryption or decryption functions.

fixed some of the coding style issues.

Provider compat CI failures are not relevant.

24 hours has passed since 'approval: done' was set, but as this PR has been  updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Rebased to fix merge conflicts - will merge if tests pass.

Re added files to fix it using the wrong parent. No changes performed otherwise.

The errors are not related to this PR.


Rewrite recording bot policy setup doc

For convenience of viewing the outcome in a formatted manner:
https://github.com/LM-Development/aks-sample/blob/dev/fde/update-docs-setup-policy/Samples/PublicSamples/RecordingBot/docs/setup/policy.md

If assigning the policy is outside of the scope of the policy setup documentation we miss a policy assignment documentation


style(EMS-3785-3786): eligibility - content updates

Introduction :pencil2:
This PR introduces 2x content iterations for the following eligibility pages:

"End buyer"
"Contract too short (exit page)"

Resolution :heavy_check_mark:

Update content strings.
Update E2E test.
Remove now unused contractTooShort cypress selectors.
Update nunjucks template.

For any future debugging - I got a ticket number wrong here, this is for EMS-3785 and EMS-3786, not EMS-3784.


[doc] always include ReactDOM as option for React >= 0.14

Small documentation improvement to reflect it should always be passed. Any use of ReactDOM.findDOMNode for example will result in errors when ReactDOM is not passed as setReact is defaulting to React which no longer has that function.

I usually don't do "+1" type comments but this would have saved me a little time yesterday :)


drivers: can: fix CAN frame priority inversion

Fix the CAN drivers to not transmit frames in FIFO/chronological order but rather respect the priority specified by the CAN ID of the frame.
For now, this change has been verified for the following drivers:

NXP FlexCAN (twr_ke18f, mimxrt1024_evk).
Bosch M_CAN (lpcxpresso55s16).
STM32 bxCAN (stm32f3_disco).
Microchip MPC2515

Drivers yet to be fixed:

Renesas R-Car CAN (I do not have access to the hardware for testing).

The driver changes require changes to some of the higher level in-tree CAN protocols with respect to segmented messages:

ISO-TP (verified using tests/subsys/canbus/isotp/implementation, tests/subsys/canbus/isotp/conformance, and samples/subsys/canbus/isotp between two boards).
6LoCAN (will likely need something along the changes to ISO-TP, but I am unable to test it since #42559)

The following higher level CAN protocols already handle segmented messages correctly:

CANopenNode (verified using samples/modules/canopennode).

Fixes: #26541
The next logical step is to add a CAN frame software priority queue for use in drivers with a limited amount of TX MBs (such as the MCP2515 after the changes in this PR). I am working on that.

@kentindell FYI

I appreciate that you want to add the software priority queue for mcp2515. Are you planning on aborting the frame sitting in the tx mailbox if a higher priority frame is getting added to the queue and wouldn't that risk double transmission if the abort is timed poorly?

Thanks a lot @henrikbrixandersen!
Still, the priority inversion is there (however, reduced risk).
Let's take the MCP2515 as an example: You send a low prior frame and hence occupy the mailbox.
The bus is busy and the frame does not go out.
You cannot send any other frame since abortion is not possible -> priority inversion.
If I find some time, I'll try to work on the tx context-based sending again.

I appreciate that you want to add the software priority queue for mcp2515. Are you planning on aborting the frame sitting in the tx mailbox if a higher priority frame is getting added to the queue and wouldn't that risk double transmission if the abort is timed poorly?

@karstenkoenig Exactly. The SW priority queue will need to be able to abort the lowest priority frame in the TX MBs (or in case of the MCP2515, the only TX MB) in order to make room for a higher priority frame. The CAN controller normally disallows abortion of a TX MB which is in transmission - but will refrain from retransmitting it, should the transmission fail due to lost arbitration, missing ACK etc, so if carefully written, no race/double transmission should be possible.

Thanks a lot @henrikbrixandersen! Still, the priority inversion is there (however, reduced risk). Let's take the MCP2515 as an example: You send a low prior frame and hence occupy the mailbox. The bus is busy and the frame does not go out. You cannot send any other frame since abortion is not possible -> priority inversion.

Which is why this PR also mentions the next needed step (also outlined by @kentindell): a software priority queue with the same priority arbitration as the CAN controller/bus itself.

I appreciate that you want to add the software priority queue for mcp2515. Are you planning on aborting the frame sitting in the tx mailbox if a higher priority frame is getting added to the queue and wouldn't that risk double transmission if the abort is timed poorly?

@karstenkoenig Exactly. The SW priority queue will need to be able to abort the lowest priority frame in the TX MBs (or in case of the MCP2515, the only TX MB) in order to make room for a higher priority frame. The CAN controller normally disallows abortion of a TX MB which is in transmission - but will refrain from retransmitting it, should the transmission fail due to lost arbitration, missing ACK etc, so if carefully written, no race/double transmission should be possible.

Exactly. The abort request is resolved either to "frame sent" or "abort succeeded" so the driver knows what to do (in general the cleanest way to write the drivers is to use a "buffer empty" ISR where abort or success always results in an empty buffer).
The MCP2515 is an awkward device: I spoke to Microchip about this when it was being designed many years ago and emphasised the need for three transmit buffers. Unfortunately, some architectural design decisions were made that makes things awkward for performance. Because the transmit buffers are not arbitrated by priority (i.e. CAN ID) it means that in the time the drivers take to respond to a transmit or abort IRQ a lower priority frame from elsewhere can win arbitration, which means that on a busy bus a low priority frame can get in between every frame sent via the MCP2515, which ruins real-time performance. But this is the best that can be done with this architecture.


Added new Login Page v13

@ssm0801  please update with rebase to get PR merged.

I dont know how to do that. Can you tell me ?

if you doing from local machine ,  hit command git  pull --rebase  with remote repo and branch
if you doing from web github , then click on fetch latest in main repo page,
for ref check image

Try to merge now

@ssm0801  still same

please rebase local if you having issue on web

I did on your behalf , merging PR now

Thank you!

@ssm0801  don't forget to star the repo, thanks for you contribution
apart from this, offering you swags from loginradius , please fill this form
https://docs.google.com/forms/d/e/1FAIpQLSfnwWUWlRRwZpgmOX7X8lGMKotLbVe1JXCjPFSahLxLWugwig/viewform


Could not get unknown property 'errorprone' for object of type org.gradle.api.tasks.compile.CompileOptions.

I've been using the other plugin until now (net.ltgt.errorprone) but I decided to give this one a try with JDK9. I only change id 'net.ltgt.errorprone' version '0.0.14' to id 'net.ltgt.errorprone-javacplugin' version '0.2' and add options.errorprone.disableWarningsInGeneratedCode = true in my tasks.withType(JavaCompile) and I get the error from the title:
Could not get unknown property 'errorprone' for object of type org.gradle.api.tasks.compile.CompileOptions.

I'm not sure what I am doing wrong. Any ideas?
P.S. JDK 9.0.4 and Gradle 4.7.

I thought it could be because of another plugin. And yes, it is. Adding id 'me.champeau.gradle.jmh' version '0.4.5' breaks it. Any ideas why and where the problem might be?

me.champeau.gradle.jmh plugin creates a jmhCompileGeneratedClasses JavaCompile task that's not "linked" to any source set, so the extension is not automatically applied to it, as its options.annotationProcessorPath is not guaranteed to be set to contain Error Prone (and indeed it's left empty/null). You need to explicitly enable Error Prone on that task if you want it, and set its options.annotationProcessorPath. Something like:
jmhCompileGeneratedClasses {
  ErrorProneJavacPlugin.apply(options)
  options.annotationProcessorPath = configurations.errorprone
}

Then you'll be able to use options.errorprone.… in your tasks.withType(JavaCompile).
See the note about “custom JavaCompile tasks” in the README.

Fwiw, I just published v0.4 that applies the options.errorprone extension to all JavaCompile tasks, so tasks.withType(JavaCompile) { options.errorprone { … } } will no longer fail, even in the presence of the JMH plugin. For tasks that are not "linked" to a source set, options.errorprone.enabled defaults to false, so the JMH task won't use Error Prone. If you want it to use Error Prone too, then you can do:
jmhCompileGeneratedClasses {
  options.annotationProcessorPath = configurations.errorprone
  options.errorprone.enabled = true
}

README has been updated.
(also please note that ErrorProneJavacPlugin.apply(options) API has been removed)


Is Zuul still being maintained for security and performance?

Cannot find any definitive documentation stating that this gateway is being officially maintained as of 5/2024. I have read that support within Spring has been dropped awhile ago.. can someone update the readme on the current status of the Zuul Project?

CFBR


Publish button available even after API is Published

Description:
Publish button is available when the API is in the Published state. Ideally, this should be Re-Publish.

Affected Product Version:
APIM-4.0.0 (9.0.95-SNAPSHOT)

@chanaka3d @tmkasun @malinthaprasan Do we need to change this to Re-Publish?

Do we need this re-published button anymore? Since there's no meaning of re-publish now,
Gateway effect changes anyway need deployments and not affect changes only need save from publisher.

For this we'll need to fix the lifecycle.xml and remove this unwanted transition. The same there for Deploy as Prototype as well.


Update AuthenticationLoggable.php

add default model that will be returned if the given relationship is null.

It makes more sense to be null so that people can rely on checking its existence when using the package. You can override the default in your user model if you want.


Accommodate alternate config folder location

On the Obsidian About screen we have the ability to override the default config folder location. In my case, I prefer to separate the settings I use for different types of devices, so instead of using .obsidian, I use .obsidian_mac for my laptop and .obsidian_phone and .obsidian_ipad for my other devices.
However, in obsidian-todoist-plugin/src/token.ts you are hard-coding the location of the todoist api to the .obsidian folder:
export function getTokenPath(): string {
  return `.obsidian/todoist-token`;
}

Because I don't use the .obsidian folder, it doesn't exist. Each time I launch Obsidian, the Todoist plugin asks for my API. I enter it, but since the .obsidian folder doesn't exist the process silently fails. My workaround is to create that folder just to house the todoist-token file, but it would be a much better user experience if the plugin could check the config location, rather than assuming it's in .obsidian.
PS. Love the plugin, thanks for all your hard work ❤ 😀

This was released in v1.10.0!


Configure a JWT validation policy to pre-authorize requests

I had to set audience to the Application ID URI including the api:// part for it to work

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

ID: 823eb96f-e5f1-0832-b175-0b31009be92f
Version Independent ID: 330085ae-dcf6-e930-86a8-0e4a60ab1314
Content: Protect an API by using OAuth 2.0 with AAD and API Management - Azure API Management
Content Source: articles/api-management/api-management-howto-protect-backend-with-aad.md
Service: api-management
GitHub Login: @miaojiang
Microsoft Alias: apimpm

@alwils Thanks for the feedback! We will review and update accordingly.

@alwils Thanks for catching that! We have worked up a PR to address this, which once merged will reflect in a couple of hours.

@PramodValavala-MSFT   The documentation still says Application ID, it should be Application URI.
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">     <openid-config url="https://login.microsoftonline.com/{aad-tenant}/.well-known/openid-configuration" />     <required-claims>         <claim name="aud">             **<value>{Application ID of backend-app}</value>**         </claim>     </required-claims> </validate-jwt>


[$250] Migrate LogInWithShortLivedAuthTokenPage.js to function component

Class Component Migration
Filenames

[x] src/pages/LogInWithShortLivedAuthTokenPage.js

type: React.Component
has state values: false
has refs: false
has context: false
lifecycle methods: componentDidMount

Task

We currently have some class components in our codebase that we would like to refactor to a function component.
Here's a link with some general advice on how to refactor a class component to a function component: https://react.dev/reference/react/Component#alternatives
If you need additional guidance, please ask in #expensify-open-source
Test for any regressions and verify that there are no breaking changes

⚠ Could not update price automatically because there is no linked Upwork Job ID. The BZ team member will need to update the price manually in Upwork.

Heads up! The pricing for this issue has been adjusted based on the scope of the work and the fact that no complex bug investigations or proposal are required.

Heads up, I'm taking this issue off HOLD and making it a Daily. If you are unable to work on it please remove your assignment and add the External + Help Wanted labels as per this update.

@francoisl Kindly assign me this issue for C+ review

Hi @muxriddinmuqimov77, thanks for your interest in this issue. It has already been worked on and a pull request has been merged already.
If you want to find issues to work on, I'd recommend looking for issues with the label Help Wanted, and more generally refer to our contribution guide. Cheers!

@francoisl  Can we add a BZ member here for payment processing?

@adelekennedy FYI this was handled internally, we just need to pay @abdulrahuman5196 for reviewing the PR. Thanks!

@abdulrahuman5196 I just made the job public - will you apply? So i can pay you out?

Done!


GH-34248: [C++] Add an order_by node

Closes: #34248

To review, this needs to be rebased first now https://github.com/apache/arrow/pull/34137 is merged?

To review, this needs to be rebased first now https://github.com/apache/arrow/pull/34137 is merged?

Yes, thanks.  I've done that now.

Sorry it took so long to get back to this.  @jorisvandenbossche thanks for the testing and exploration.  For others reading this I should mention this conversation continued on Zulip as well.  The outcome was that we should maybe make the batch size configurable but also maybe use a larger batch size in general.

Thanks for finishing up! Pushed the python bindings I wrote to a new PR: https://github.com/apache/arrow/pull/34654


Map Requirements?

Hi,
Does this require a custom MLO map file download on join or will it work with the local files used by GTA Online? (to save bandwidth I want to use with local version)

this will work with any fivem or GTAV build 2372 (diamond casino dlc) or higher.
100% game assets loaded in, no MLO.


Upgrade gradle, support lib, move common versions to root

Defining common version numbers in the root project makes it easier to
keep everything in sync when we upgrade things.

You have to update the build-tools version in the .travis.yml file as well.

@egor-n done

Made the same changes to our scaffolding project http://codereview.cc/D2986

The updated build-tools-25.0.2 has started causing CircleCI to fail. https://circleci.com/gh/material-motion/material-motion-android/97
Warning: License for package Android SDK Build-Tools 25.0.2 not accepted.
java.lang.RuntimeException: You have not accepted the license agreements of the following SDK components:
[Android SDK Build-Tools 25.0.2].

Seems to be an issue on the circleci side.


Relabel gates to make them consistent

What
Re-label gates to make them consistent with the conventional naming schemes in QC-QI
Why
closed #49
How

Existing
This PR

X90p
RX90p

Xp
RXp

X90m
RX90m

Same for Y, Z
Same for Y, Z

CNOT
NotImplementedError

CZ
CRZp

CR
NotImplementedError

CR90
Seems fine

iSWAP
Seems fine

Codecov Report

Merging #50 (c47dd37) into dev (01fe0b0) will increase coverage by 0.12%.
The diff coverage is 61.53%.

@@            Coverage Diff             @@
##              dev      #50      +/-   ##
==========================================
+ Coverage   47.32%   47.44%   +0.12%
==========================================
  Files          35       35
  Lines        4554     4542      -12
==========================================
  Hits         2155     2155
+ Misses       2399     2387      -12

Impacted Files
Coverage Δ

c3/libraries/fidelities.py
18.50% <0.00%> (ø)

c3/qiskit/c3_backend_utils.py
74.35% <50.00%> (ø)

c3/utils/qt_utils.py
42.30% <63.51%> (+1.45%)
: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 01fe0b0...c47dd37. Read the comment docs.


Latest Master branch changes into Swift 2

I started migrating my app to iOS 9 and decided to bring the newest changes of Master to the Swift2 branch. I also updated to Xcode 7 beta 5 recommended settings.
I am testing against iOS 9. Note that there are 2 deprecations: ABAddressBookGetAuthorizationStatus and ABAddressBookRequestAccessWithCompletion.

Is there a requirement for bumping the deployment target to iOS 9?
Also, what's with all the whitespace changes in the last commit? Most of them seem like errors that Xcode makes when copy-pasting from somewhere else.

I changed the deployment target setting to iOS 9 to see the deprecations warnings. Otherwise you are not warned. I should have changed the setting back probably.
About the whitespace changes, I have been using the "Structure > Re-Indent" command from the Xcode's menu and this causes it. At least that's the behaviour in Xcode Version 7.0 beta 5 (7A176x).

These items has been resolved in #60. Thanks for getting us moving in this direction.


Save command fails in latest stable (1.4.0)

To repeat:

Create an empty folder
Open folder as Project
Create a new file
Input some code
Press CTRL+S

At this point an exception occurs:
4:55:40 PM TypeError: Arguments to path.resolve must be strings
4:55:40 PM at Object.win32.resolve (path.js:89:13)
4:55:40 PM at Object.writeTextFile (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/lib/main.js:590:38)
4:55:40 PM at EditSession.save (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/lib/main.js:3933:34)
4:55:40 PM at SourceEditor.save (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/lib/main.js:3282:38)
4:55:40 PM at Object.editor.commands.addCommands.exec (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/lib/main.js:3269:39)
4:55:40 PM at file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/resource/ace/ace.js:1:178963
4:55:40 PM at r._emit.r._dispatchEvent (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/resource/ace/ace.js:1:48589)
4:55:40 PM at exec (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/resource/ace/ace.js:1:179202)
4:55:40 PM at $callKeyboardHandlers (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/resource/ace/ace.js:1:59715)
4:55:40 PM at onCommandKey (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/resource/ace/ace.js:1:59908)

Enter a filename and press OK

At this point, nothing happens - the file doesn't get saved.
Workaround: go to the menu and select "Save as", everything works as expected.
Suggested fix: the "Save" command probably just needs to check if the file is new, and if so, trigger the "Save as" command instead.

Thanks for finding and reporting  this (perhaps not that stable after all :)
Was a mistake in the save EditorSession code (since we changed the popups asking for a filename to be async, the save code was executed too soon). Fixed just now in the latest master.

On 05 Mar 2015, at 17:06, Rasmus Schultz<EMAIL_ADDRESS>wrote:
To repeat:
Create an empty folder
Open folder as Project
Create a new file
Input some code
Press CTRL+S
At this point an exception occurs:
4:55:40 PM TypeError: Arguments to path.resolve must be strings
4:55:40 PM at Object.win32.resolve (path.js:89:13)
4:55:40 PM at Object.writeTextFile (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/lib/main.js:590:38)
4:55:40 PM at EditSession.save (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/lib/main.js:3933:34)
4:55:40 PM at SourceEditor.save (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/lib/main.js:3282:38)
4:55:40 PM at Object.editor.commands.addCommands.exec (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/lib/main.js:3269:39)
4:55:40 PM at file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/resource/ace/ace.js:1:178963
4:55:40 PM at r._emit.r._dispatchEvent (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/resource/ace/ace.js:1:48589)
4:55:40 PM at exec (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/resource/ace/ace.js:1:179202)
4:55:40 PM at $callKeyboardHandlers (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/resource/ace/ace.js:1:59715)
4:55:40 PM at onCommandKey (file:///C:/Users/RASMUS~1/AppData/Local/Temp/nw5808_28876/resource/ace/ace.js:1:59908)
Enter a filename and press OK
At this point, nothing happens - the file doesn't get saved.
Workaround: go to the menu and select "Save as", everything works as expected.
Suggested fix: the "Save" command probably just needs to check if the file is new, and if so, trigger the "Save as" command instead.
—
Reply to this email directly or view it on GitHub https://github.com/jbaron/cats/issues/145.

Off-topic (sorry) but, have you tried atom-typescript under ATOM?
ATOM is also based on Javascript and WebKit, so put together, this solution is actually quite similar to CATS, but with a very extensible architecture and already very good community support - lots of plugins, nice developer tools, etc.
I wonder if you would consider joining forces? This project could use your expertise, and likely some features (like your structure panel) could be ported/integrated to ATOM. CATS is great, but it's largely a one-man effort, and the ATOM editor already has a lot of peripheral editor features that would take a long time for one man to duplicate.
The work you've done so far is fantastic, I just think your efforts could have more impact in concert with all the other peripheral features that are rapidly being added to ATOM by a growing community.
Just a thought :-)

For me the main reason to write CATS is to play around with TypeScript a bit. I want to see if with the use of TypeScript, traditional type of development environments could be achieved. How close can one get to the Eclipse and VisualStudio type of development experience. (BTW if you look at the overall structure, you can see I used a lot of clues from Eclipse).
Atom itself doesn’t use TS as far as I know (coffee-script right ?), so using/modifying that as a foundation doesn't really contribute to my above "learning goals".
However it does perhaps make sense to align the api/external-module structure to an popular editor like Atom or Cloud9. That way people could use other modules more easily within CATS if they want to. So should put that one on the list.
— Peter

On 07 Mar 2015, at 13:10, Rasmus Schultz<EMAIL_ADDRESS>wrote:
Off-topic (sorry) but, have you tried atom-typescript https://github.com/TypeStrong/atom-typescript under ATOM https://atom.io/?
ATOM is also based on Javascript and WebKit, so put together, this solution is actually quite similar to CATS, but with a very extensible architecture and already very good community support - lots of plugins, nice developer tools, etc.
I wonder if you would consider joining forces? This project could use your expertise, and likely some features (like your structure panel) could be ported/integrated to ATOM. CATS is great, but it's largely a one-man effort, and the ATOM editor already has a lot of peripheral editor features that would take a long time for one man to duplicate.
The work you've done so far is fantastic, I just think your efforts could have more impact in concert with all the other peripheral features that are rapidly being added to ATOM by a growing community.
Just a thought :-)
—
Reply to this email directly or view it on GitHub https://github.com/jbaron/cats/issues/145#issuecomment-77686768.

However it does perhaps make sense to align the api/external-module structure to an popular editor like Atom or Cloud9

Is that possible? That would be the best of both worlds :-)


Add trailing slash to API path

Fixes #139 by adding a trailing slash to the API path.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 87.272%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

benchmarks/_benchmark.py
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
1529

Relevant Lines:
1752

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 87.272%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

benchmarks/_benchmark.py
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
1529

Relevant Lines:
1752

💛  - Coveralls


Updated instructions to include Ubuntu 18.10

Coverage remained the same at 74.837% when pulling ad883908809780864aea2547f7be11b8c2e68697 on yitam:cuttlefish into b3072a99eeb33a445f815d99230d3437e1574bbb on Microsoft:dev.

Codecov Report

Merging #869 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #869   +/-   ##
=======================================
  Coverage   79.42%   79.42%
=======================================
  Files          25       25
  Lines        7646     7646
=======================================
  Hits         6073     6073
  Misses       1573     1573

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 b3072a9...ad88390. Read the comment docs.


SwiftPrivateThreadExtras: fix casting due to API changes

The recent changes to the UnsafemutablePointer prevented the "abuse" of
the type for casting.  Switch to unsafeBitCast.  This should repair
the Windows build.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please test


types: HeadersInit does not accept arrays as values, but it will work

HeadersInit is defined as type HeadersInit = Headers | Iterable<Iterable<string>> | Record<string, string> - the one that's of note is Record<string, string>.
The runtime will accept an array as the value for a given key, and fold them into a single header by joining them with a comma, but the types don't allow this.

I assume it's defined here, and should instead be Record<string, string | string[]>.
https://github.com/cloudflare/workerd/blob/c0ea7352ffbef4e33da17127168b2b4ae3c6e1ac/src/workerd/api/http.h#L134

I guess another viewpoint is, should it accept an array of values?
https://fetch.spec.whatwg.org/#headers-class appears to say no.

The runtime is not intentionally designed to allow an array here. The reason it works is because of the general JavaScript behavior of being able to coerce anything to a string. ["foo","bar"].toString() is foo,bar. This just happens to be the correct way to combine multiple header values under HTTP, but this is entirely an unintended coincidence.

Thanks for the insight Kenton, that makes sense.
The issue is actually off the back of what Undici (through Miniflare) does - where they allow arrays as values, especially for setting multiple Set-Cookie headers. It got me curious as to what the behaviour should be as per the spec.
Someone reported this discrepancy on the Wrangler repo: https://github.com/cloudflare/workers-sdk/issues/2743
The change in Undici is https://github.com/nodejs/undici/pull/1598, but I can't really find anything to back that up as something that is supposed to be possible under the Fetch spec.

It seems like the correct way of specifying multiple Set-Cookie headers is via an array of key-value pairs? The existing types should support this. 👍

This makes sense, but the current workers-types uses Iterable<Iterable<string> which does not line up with the lib.webworker.d.ts types.
Whilst both will accept [ ['Set-Cookie', 'sessionId=38afes7a8'], ['Set-Cookie', 'sessionId=38afes7a9'] ] which is correct, Iterable<Iterable<string> will accept ['foo', 'bar'] and you will hit a runtime error like described here: https://github.com/cloudflare/workerd/issues/388#issuecomment-1434889309

Shouldn't the workers-types be changed to match the lib.webworker.d.ts types exactly?


@media not supported on split screens

The css @media function (used in Twitter bootstrap for example) doesn't work when two tabs are next to each other. It takes the window size instead of the tab size.

This is not a bug, it's a clear speification of CSS language.
CSS Media Queries are referenced to Browser window size and not "container element" size.
There are several questions about implementing this kind of features inside CSS specifications but at the moment there are no plans for this, mainly for performance reasons.


4 byte pointers + tests

Right now this expects the target and host to be linux. I haven't figured out how to make compiletest not actually compile the run-pass tests (since we don't need to run them, miri runs during compilation).
We could add them as compile-fail tests and have the miri executable generate a "miri succeeded" error
Once that works, it would be possible to automatically detects all installed targets and run miri for all of them.
The commits should probably be read one by one. I can split them into multiple PRs if preferred and/or remove some of them (like the indentation hack with a static mut).

Thanks!

addressed all comments


[Theme] Link text is not prominent with new theme

Description:
With the gray color theme, the links within the text is hard to identify as it is also gray in color.

Closing as this is not valid in the new teal color theme.


SSL issue with https://assets-origin.integration.publishing.service.gov.uk

Hello from a fellow gov content/technology enthusiast!
I'm dying to explore the Whitehall contributor experience given all the user research you've undoubtedly done. It may well change my life.
Following along to set up a local instance, I'm running into an SSL error when connecting to https://assets-origin.integration.publishing.service.gov.uk.
Is there another URL that would work better? Any thoughts greatly appreciated.

Hi @eeeschwartz, can you try: https://assets.digital.cabinet-office.gov.uk/

Closing on the assumption this has sorted you out, @eeeschwartz.

Thanks for the help. I was able to get it sorted out with https://assets.digital.cabinet-office.gov.uk/


Slack importer

This is based on  https://github.com/zulip/python-zulip-api/pull/114.
Note: This had only users and channels import implementation.
Usage
See https://my.slack.com/services/export for the step to export a Slack data.

To convert a slack data, let the zip file be slack_data.zip, then use ./slackdata2zulipdata.py slack_data.zip
(sample slack data: https://github.com/houstondatavis/slack-export)

This outputs zulip_data.tar.gz. Use tar xf zulip_data to uncompress into a folder.

To deploy the data onto an existing fresh Zulip repo,
./manage.py import --destroy-rebuild-database <path to zulip_data folder>

Merged!  Thanks @rheaparekh!
I haven't given this a thorough review yet, but I think it's good to have the code merged, so that other folks can easily start to test it and suggest improvements.


Portaled element in a non-portaled element closes unexpectedly

Reproduction: https://codesandbox.io/s/peaceful-wave-6cizwo?file=/src/Popover.tsx
This is a slightly modified version of the official Popover example. I modified it in three ways:

Added a portal prop, to allow turning of portaling on a per-instance basis
Added FloatingTree and FloatingNode setup
Added order={["reference", "content"]} to <FloatingFocusManager>

To reproduce:

Tab to "My trigger".
Tab inside the first level Popover to "Nested trigger".
Tab inside the second level Popover to "Close".
Observe that the first level Popover suddenly closes.

I've discovered several possible workarounds:

I could enable portaling on the first level Popover. Note that in my real code, the first level floating element is a separate component that uses fixed positioning, so I don't necessarily need portaling there, which is why I'd rather not turn it on. But this is a viable workaround for now.
I could turn on modal mode for the first level Popover. While this would also work, in my real code there are some parts of the page that are interactive while this is open, so I would rather not do that either.
I could remove order={["reference", "content"]} from <FloatingFocusManager>. This sort of works when floating-ui itself moves focus inside the second level Popover, but when tabbing out of it to the reference and back in, the bug surfaces again.

Anyway, while the portaling workaround works for now, thought I'd better report this, seems like an unhandled edgecase in that very complex condition: https://github.com/floating-ui/floating-ui/blob/master/packages/react/src/components/FloatingFocusManager.tsx#L198

Is setting closeOnFocusOut={false} viable? Seems like it fixes it (btw the Sandbox doesn't have the order={...} prop).

As a temporary workaround, maybe, but I'd rather have it close if the user tabs out of it to the rest of the page. Portaling is a better workaround in this case, as that does not affect the rest of the focus management logic.

So from what I can see, focus is moving to the non-portalled Popover's "inside" focus guard node, which then moves to the portalled Popover's first "outside" focus guard node, which is not inside the tree (because it's outside the Popover node).
That's what the portalNode contains check handles, because it bails if it finds a child portal, but that only works if the root is also portalled (as you mentioned). And the tree check doesn't work in this case because the guard node is outside of it. I guess we could check if the Popover in the tree is the nextElementSibling of the focus guard node.

I think adding special handling for the guard nodes makes sense. One thing that I noticed as well was that another floating component that does use portaling worked correctly, but that is because that component does not use FloatingFocusManager (yet...), it has a custom keyboard behavior.


Hello, I'm asking you to make fabric or quilt for version 1.20.2 on modrinth, thank you very much!

Related problem
Hello, I'm asking you to make fabric or quilt for version 1.20.2 on modrinth, thank you very much!
Describe the solution you'd like
Hello, I'm asking you to make fabric or quilt for version 1.20.2 on modrinth, thank you very much!
Additional context
Hello, I'm asking you to make fabric or quilt for version 1.20.2 on modrinth, thank you very much!

Done


Include Latency to Comparisons

I have discovered that some applications will not run well in the non-premium configurations due to latency issues. I only found that after building out and deploying a SaaS application to an Elastic SQL database. I believe that moving to a premium tier would address the issues I am seeing I don't know if I can justify the cost. Ideally, I would have had a better description of what to expect for latency and a way of simulating that latency as the application was being developed.

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

ID: dd929b95-a669-6c8f-d55e-8b93c1e395a1
Version Independent ID: 9348ee72-e3be-75b8-2124-092ee46de84a
Content: SQL (PaaS) Database vs. SQL Server in the cloud on VMs (IaaS)
Content Source: articles/sql-database/sql-database-paas-vs-sql-server-iaas.md
Service: sql-database
GitHub Login: @CarlRabeler
Microsoft Alias: carlrab

@elmt1 There are a couple resources that are very helpful in this situation, and I have included links to these below. They are as follows:
Performance best practices for SQL Server in Azure Virtual Machines
Azure SQL Database service tiers

Elastic pools help you manage and scale multiple Azure SQL databases
This information is helpful when considering an Azure SQL solution, and these links would be useful if added to the content you are referring to.

https://github.com/MicrosoftDocs/azure-docs-pr/pull/37397
addressed this issue with an important note

merged
#please-close


Consider supporting dispatching editor commands from the integrated terminal via VT

It would be nice to be able to write (or use) commands from the integrated terminal to manage the current workspace (or do other things), e.g. open <file> or find foo from bash, powershell, cmd etc. Since I've been doing a bit of work on virtual terminals recently, it strikes me that using APC (Application Program Command) would be a good way to enable shell-agnostic support for automation of the editor. Typically APC sequences are ignored by the terminal parser, and picked up by other applications on the end of a pipe, for example. They are intended for in-band signalling, by design.
XTermJS allows VT sequence extensions for CSI/OSC commands by allowing the hosting application to register handlers. They also support generalized extension for handling unknown ESC sequences, so even if they don't explicitly support APC (though I have asked: https://github.com/xtermjs/xterm.js/issues/2300 ) I think VS code could register a general handler for ESC codes and implement APC itself until if/when the xtermjs guys get around to adding it. The format of APC is ESC_<string>ST, where string is an arbitrary length string, terminated by ST. The convention is usually to reserve the first few letters of the string as your application code, so an open file command might look like ESC_VSC:file:open:<path>ST, possibly base64 encoded to evade encoding issues for quirky filenames.
What I like about this approach is that it is shell agnostic. If a subset of VS Code commands can be supported with APC, then anyone can write a bash/cmd/powershell/pwsh script or binary command to do automation, on any platform.
Thoughts?

@oising isn't this essentially what the CLI is for, code <file>, but that works across shells and across terminals? Do you want to be able to do something like this: code --command "editor.action.format"?

Yes, exactly -- be able to pass commands to the running/hosting instance. If you run code foo, how does it know which instance to load files into?

This is something we always wanted to add to the PowerShell extension, but never had the chance to.
https://github.com/PowerShell/vscode-powershell/issues/804

@oising yes it's the focused one, that's why code -r <folder> will open the folder in the window of the terminal running.

If you have two instances of code, and you invoke code foo.html from a cmd or pwsh, then neither instance is focused. How does it choose then?
I guess the point of this post is more of a "how" you could do this rather than a "what." The only downside is that it would only work from within the integrated terminal. If you've already got an RPC-like protocol with the code "cli" then I suppose there's no need. If you don't have a protocol, then maybe this could work.

The CLI works on the last active window, it sounds like the APC thing is non-standard in which case we probably want to stay away. The CLI could theoretically get powerful enough to drive arbitrary windows, that would probably be preferable to non-standard sequences/commands.

APC is a standard with respect to VT. VT is specific to teletypes/terminals - it's not a standard for editors, of course. APC allows arbitrary strings to be passed between applications that use a terminal as in-band signalling. Nothing more, nothing less. By default it's an open protocol vector. If there was a "standard" for controlling VS Code, you'd have written it yourself.

@oising The parser in xterm.js tries to follow as close as possible the DEC parser described at vt100.net (https://www.vt100.net/emu/dec_ansi_parser). If you compare the byte handling for OSC, DCS and APC you will find many similarities (beside APC completely being ignored atm):

C0 (minus ESC itself) is only allowed for DCS as payload (we have one exception to this rule in OSC allowing BEL to terminate, as xterm does)
-C1 is allowed (most bytes have no meaning, those that have are the introducers to other VT states)

This pretty much narrows the allowed payload bytes to ASCII printables for any of these commands. Since our parser operates on unicode codepoints we additionally allow any codepoint > C1 to pass.
So beside some differences in additional arguments at introducer level (DCS is more capable here) these are the same at payload level. None of them allows to embed other terminal stream chunks directly (not even DCS, it keeps ESC meaningful), thus we would have to encode them anyway.
My stance against APC is simple - we already have 2 quite similar command types with OSC and DCS with enough free "command space". No need to get the hands dirty with a command type that was brought up over 30ys ago but never really spec'ed out. Furthermore OSC support is relatively wide spread in emulators and less likely to break with half of the terminal ecosystem (which is important even for a vscode private embedding solution when tmux or ssh shall play nice too). DCS is not that well supported though.
Last but not least the originally intended separation of commands into OS, application and device business never really took place, applications always mixed them as needed. This is not much of a surprise - shells, originally thought as OS component, took the opposite direction under UNIX and developed into being more exchangeable and more "application like". Technically this separation does not make much sense either, for a terminal everything comes from one data source (pty master or serial line) and the terminal protocol never advanced to a state to layer/cascade commands without re-encoding/escaping.
TL;DR: Sorry for the longish post. Imho the embedding idea sounds good, but no need to mess around with APC since we could use some custom OSC command.

Thanks @jerch for the thoughtful reply. I guess I'm just pushing to see if I can learn more about what others people's thoughts are on the matter. I appreciate your input. The pragmatist in me knows that OSC is a better option given that most - if not all - terminal emulators will just swallow unrecognized codes. With respect to APC, you're totally right -- it doesn't even seem to have been fleshed out, with the result that most emulators (including xtermjs) seem to swallow the APC preamble but write the string to the terminal when in fact they should ignore it as far as my understanding of what documentation is out there; ergo, OSC is far less likely to make a mess of things. Again, thanks to you and @Tyriar for your thoughts.

I'm going to close this off as I don't think it's the direction we want to go, we may expand the CLI's power in the future but it can already do a lot of what you seem to be asking:
# pipe a file
echo some_file | code --

# open file
code some_file

# automation
code --install-extension ext.id

For the remote case, when using the remote extensions the CLI is available inside the terminal as well, there may be some holes in functionality but we want to get parity where possible.

While we’re all here I do wanna say that it would be relatively straightforward to add this to the PowerShell extension.
We already have mechanisms to show messages:

get editor state:

etc
A generic addition would just need to be added to support:
$psEditor.invokeCommand("editor.action.format")

Happy to walk through the change needed - though I don’t have bandwidth to do it myself.

@TylerLeonhardt if you can pull that info with $PSEditor, can't you run a command as well inside the ext?

Yeah it’s totally doable but the $psEditor object that we expose doesn’t have an API for firing off any arbitrary vscode command.
The way $psEditor works is that it sends a custom LSP messages from the language server (PowerShell Editor Services) to the client (aka the PowerShell extension).
We’d just need to add another API & message to $psEditor that has an example payload of:
{
    "command":"editor.action.format"
}

and then the PowerShell extension would just run:
languageClient.onRequest(
    "powershell/executeEditorCommand"
    async (args) => await commands.executeCommand(args.command));

We could make it more interesting if we wanted to handle results of these commands but a simple “run this command” seems like a good start

Oh an API in LSP? Since LSP's focus isn't really automation I'm not sure that would happen?

LSP gives you the ability to create custom messages that go over the same protocol. We leverage this already in the PowerShell extension. It’s just a matter of adding another custom message to the PowerShell extension. It’s a very trivial thing to do (for a language server extension).
didn’t mean to hijack this issue. Just wanted to point out that it’s probably easier to implement this in the PowerShell extension than the code executable, though adding it to the code executable would allow  more users to get there hands on such a feature.

@TylerLeonhardt I didn't realize we had a VS DTE style API floating around -- but I just tried $pseditor and it's null for me. Anyway, I like the idea. I think accepting parametric commands would be important too. On occasion enough to be mildly piquing, I wish I could script and automate some large scale refactoring with regex find/replace for example, or generate a commit message by parsing source, or whatever from scripting in the terminal. I'm a total automation junkie obviously, but having a way to dispatch editor commands this way would be very nice. This opens the gates to have people wrap up things up as scripted macros in the future.

It must be run in the PowerShell Integrated Console provided by the PowerShell extension. There’s no way for us to hook into vscode from anything other than the integrated console that we provide.

Ah, okay -- I never use the powershell integrated terminal since the generalized terminal was added. Perhaps another reason why VT with an OSC handler is more flexible -- any shell in the terminal could issue commands. That said, I'll take something over nothing :)


fix(pathFilter): handle errors

coverage: 97.236% (+0.04%) from 97.194%
when pulling 1b14e13d9613ea0a7c0d0686e5e267e26e45e306 on fix-pathFilter
into 6fae40dd77214f1ed961b7b0b56450a22d5c290f on master.


Added batch fetch and cache support for VEP annotation fetcher

Do not merge until https://github.com/Ensembl/ensembl-vep/issues/156 is fixed

Codecov Report

Merging #149 into master will decrease coverage by 1.16%.
The diff coverage is 9.37%.

@@             Coverage Diff              @@
##             master     #149      +/-   ##
============================================
- Coverage     25.39%   24.23%   -1.17%
  Complexity       79       79
============================================
  Files            80       80
  Lines          1083     1139      +56
  Branches        131      135       +4
============================================
+ Hits            275      276       +1
- Misses          781      835      +54
- Partials         27       28       +1

Impacted Files
Coverage Δ
Complexity Δ

...me_nexus/service/mixin/VariantAnnotationMixin.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...rvice/transformer/ExternalResourceTransformer.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...exus/service/transformer/PdbHeaderTransformer.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...us/service/remote/MutationAssessorDataFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...service/cached/CachedVariantAnnotationFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...nome_nexus/service/remote/GeneXrefDataFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ome_nexus/service/remote/PdbHeaderDataFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...al/genome_nexus/service/remote/VEPDataFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...vice/cached/BaseCachedExternalResourceFetcher.java
1.69% <0%> (-2.16%)
1 <0> (ø)

...nexus/service/remote/CancerHotspotDataFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

... and 2 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 fdfdf75...a026a3f. Read the comment docs.


No weight file after training

when I finished the training，the ./runs/test file only have events.out.tfevents , there is no weight file in it,how can I fix it?

No validation steps in my training, only train, I finally solved this problem
change
parser.add_argument("--save_checkpoint", action="store_true", help="save checkpoint during training")
to
parser.add_argument("--save_checkpoint", default=True, help="save checkpoint during training")

Great news, thanks, I will close this issue, feel free to drop questions.


Limit size of ConsoleHost_history.txt file

Recently, accessing command history via the up-arrow has been quite slow (3-5 seconds to respond), and today, when I opened PowerShell, the console was non-responsive and after about 3 mintues would throw the error below:
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS C:\Users\me\Documents>
Oops, something went wrong.  Please report this bug with the details below.
Report on GitHub: https://github.com/lzybkr/PSReadLine/issues/new
-----------------------------------------------------------------------
Last 0 Keys:

Exception:
System.OutOfMemoryException: Array dimensions exceeded supported range.
   at System.Collections.Generic.List`1.set_Capacity(Int32 value)
   at System.Collections.Generic.List`1.EnsureCapacity(Int32 min)
   at System.Collections.Generic.List`1.Add(T item)
   at System.IO.File.InternalReadAllLines(String path, Encoding encoding)
   at Microsoft.PowerShell.PSConsoleReadLine.<ReadHistoryFile>b__67_0()
   at Microsoft.PowerShell.PSConsoleReadLine.WithHistoryFileMutexDo(Int32 timeout, Action action)
   at Microsoft.PowerShell.PSConsoleReadLine.DelayedOneTimeInitialize()
   at Microsoft.PowerShell.PSConsoleReadLine.Initialize(Runspace runspace, EngineIntrinsics engineIntrinsics)
   at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics)
-----------------------------------------------------------------------

With little digging I found that the console history file found here:
C:\Users\me\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

had grown to 13MB and contained about 3 months of commands, and deleting the file fixed both issues.
How can the size of this file be moderated?
Environment data
PS version: 5.1.14393.1198
PSReadline version: 1.2
os: 10.0.14393.0 (rs1_release.160715-1616)
PS file version: 10.0.14393.0 (rs1_release.160715-1616)

I recommend setting these options:
Set-PSReadlineOption -MaximumHistoryCount 10000 -HistoryNoDuplicates
Set-PSReadlineOption -AddToHistoryHandler {
    param([string]$line)
    # Do not save any command line unless it has more than 3 characters.  Prevents storing gci, gps, etc.
    return $line.Length -gt 3
}

To wrangle your existing history file to a reasonable size, try this script I created to optimize PSReadLine history. You will need to exit all PowerShell instances and then start a PowerShell -NoProfile to make sure the history file isn't in use when you run the script -
https://gist.github.com/rkeithhill/4099bfd8420eed0e6dbc
You can run this script on your history file with -WhatIf and it should give you an estimate of how many duplicate commands it can remove.  If you run without -Whatif, it will create a backup of your original history file.  That said, it wouldn't hurt if you made your own backup of the file first before running the script i.e. no warranties, guarantees, expressed or implied, yada, yada, yada.

@rkeithhill - your script has some serious problems - it doesn't read multi-line input correctly.

Doh! I thought I fixed that.  Let me check to see if I didn't update that Gist.

Hmm, I'm stepping through the script in the VSCode debugger and so far I'm not seeing any problems reading multi-line input.
Let me make sure I've got the rules right for multi-line input though.  If a line is encountered that ends with a backtick then that line is part of multi-line input.  And that same multi-line input continues until we hit a line that doesn't end with a backtick, right?

@lzybkr OK, spent time debugging this and comparing history files before and after.  Found (and fixed) a few issues.

I assumed that empty lines were meaningless - wrong! Those are frequently used to end multi-line input. This is likely what you were seeing.
If you don't tell Get-Content that the encoding of the history file is UTF8 it bungles smart quotes, non-breaking spaces, etc. The history file does not have a UTF8 BOM but I'm still a big surprised that .NET didn't detect the encoding correctly.  FWIW I also write back out as UTF8 no BOM.
There was a pretty serious perf issue saving the history file back out.
Had Ordinal / OrdinalIgnoreCase comparer set wrong (opposite) for Linux vs Windows/macOS.

All of these issues have been fixed. Try it again and see what you think.

It looks like I had an old version and you fixed the problem I encountered on Mar 3, 2017.
Maybe you should just add your script to this repo.

Sure.  Where should I put it?

Hmm, so even though my profile sets the -MaximumHistoryCount like so:
Set-PSReadlineOption -MaximumHistoryCount 10000 -HistorySearchCursorMovesToEnd -HistoryNoDuplicates -HistorySavePath $PSScriptRoot\PSReadLine_history.txt

When I Get-PSReadlineOption it shows that MaxiumHistoryCount is set to 4096.
Huh?  Is there a maximum value for MaximumHistoryCount parameter?  If so, shouldn't the Set-PSReadlineOption validate the value?

That would be a bug. There is some weirdness around setting that value from $MaximumHistoryCount so I'm guessing there is a flaw in the logic there somewhere.

Also faced this issue. In my case the "ConsoleHost_history.txt" file was 3.19 GB in size! That's just insane!
Anyone mind telling what that file is even used for? Is it important? I deleted it for now. And I'm guessing I'll have to look at it again in the future.

Just like other shells (like bash), when you start a new shell, you can immediately use commands you entered from a previous session. For example, open a new instance of PowerShell, type Ctrl+r cd and you'll see the most recent cd command you used from another PowerShell instance.

Got the same exception for a different reason on macOS:
Error reading or writing history file '/Users/svorobev/.local/share/powershell/PSReadLine/ConsoleHost_history.txt': Too many open files in system
Exception of type 'System.OutOfMemoryException' was thrown.

I have just found the a 5.7GB. 😱
Scanning the file and it appears 10k blocks of the same line so something went a bit crazy. I just deleted the file and system returned to normal, but damn that was unexpected.

Sorry about that @dennisroche. You're the third to report this issue, fortunately it is fixed in 2.0.0-beta1.

I use PowerShell in Version 5.1.14393.2636, but i still have the issue "the limitation is not working".
So what do you mean "it is fixed in 2.0.0-beta1" ? Which Version is that?

As mentioned above, there was a race condition that caused some history files to grow unreasonably. That race condition is fixed in all 2.0 versions.
This issue remains open because there is still no limit to the size of the history file.

As mentioned above, there was a race condition that caused some history files to grow unreasonably. That race condition is fixed in all 2.0 versions.
This issue remains open because there is still no limit to the size of the history file.

Ok thanks, but do I have to update manually to version 2.0 or will the issue by fixed with windows updates?

A version of PSReadLine 2.0 does ship in Windows 10 1809.  It's nearly the same as beta3 I think, but I'm not sure as I'm not responsible for what ships in Windows.
Older versions of Windows will likely not see updates to PSReadLine.


Add a microcluster CLI option that launches a local Druid cluster with mostly default settings

Makes heavy use of temporary directories
Checks localhost:2181 for already launched zk instances, and launches a local zk server if nothing is bound to port 2181
Launches a new JVM with really standard settings for each subtask
Launches a temporary Derby DB to hold data.
All things in this cluster are temporary and intended to die when the master JVM is shutdown.

Closing and opening for CI rebuild.

Closing to fix build issues. Will re-open on new PR with a branch I can write to.


GeoParquet Support?

This extension was compiled with GDAL 3.6.3 which has support for GeoParquet (it was added in 3.5.1). Any idea why it states for the format is unsupported?
$ /Volumes/Seagate/duckdb_spatial/build/debug/duckdb -unsigned test.duckdb

LOAD '/Volumes/Seagate/duckdb_spatial/build/debug/extension/spatial/spatial.duckdb_extension';
select * from st_read('/Volumes/Seagate/open5g_data/microsoft_roads_ai/Oceania_AUS.gpq') limit 1;

ERROR 4: `/Volumes/Seagate/open5g_data/microsoft_roads_ai/Oceania_AUS.gpq' not recognized as a supported file format.
Error: IO Error: Could not open file: /Volumes/Seagate/open5g_data/microsoft_roads_ai/Oceania_AUS.gpq (`/Volumes/Seagate/open5g_data/microsoft_roads_ai/Oceania_AUS.gpq' not recognized as a supported file format.)

The file itself looks fine.
$ ogrinfo microsoft_roads_ai/Oceania_AUS.gpq

INFO: Open of `microsoft_roads_ai/Oceania_AUS.gpq'
      using driver `Parquet' successful.
1: Oceania_AUS (Line String)

Yeah it is not supported yet. We already have our own Parquet reader extension in DuckDB and we are looking into how to integrate that with this extension in a natural way. I haven't tested it, but you should maybe be able to use the parquet extension to load the gpq and simply convert the wkb binary columns into geometries using ST_GeomFromWKB
You can see the supported drivers using SELECT * FROM st_list_drivers()

I should explain: It is not supported because we don't bundle the Arrow library (which provides the parquet driver)

This might be unrelated to your extension but I got the following when trying to load the data in via the Parquet extension.
$ /Volumes/Seagate/duckdb_spatial/build/debug/duckdb -unsigned test.duckdb

install parquet;
load parquet;

/Volumes/Seagate/duckdb_spatial/duckdb/src/catalog/catalog_entry/copy_function_catalog_entry.cpp:8:78: runtime error: member access within address 0x7ff7b4f488a0 which does not point to an object of type 'duckdb::CreateCopyFunctionInfo'
0x7ff7b4f488a0: note: object is of type 'duckdb::CreateCopyFunctionInfo'
 ff ff ff ff  b8 5a ca 25 01 00 00 00  1d 92 18 20 01 00 00 00  00 00 f4 b4 f7 7f 00 00  28 91 f4 b4
              ^~~~~~~~~~~~~~~~~~~~~~~
              vptr for 'duckdb::CreateCopyFunctionInfo'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /Volumes/Seagate/duckdb_spatial/duckdb/src/catalog/catalog_entry/copy_function_catalog_entry.cpp:8:78 in
Abort trap: 6

Are you going to add read and write support clarification to the st_list_drivers() list?

I haven't tested it, but you should maybe be able to use the parquet extension to load the gpq and simply convert the wkb binary columns into geometries using ST_GeomFromWKB

Just confirming that this works, and in fact works really well.  The issue I guess is that while you can process your geoparquet file, you just can't save it back to geoparquet. The good news is that some external libraries might treat it as geoparquet anyway. You might lose some infomation, like CRS though. I tested this in the R package geoarrow, and read_geoparquet_sf  will read the file exported from duckdb fine, just doesn't keep the CRS.

Just wanted to echo @rdenham 's comment that it's a real shame to lose all the metadata, especially CRS this way.
This is actually very awkward for designing applications where we care about coordinate reference systems and can't anticipate them ahead of time.  It's also very confusing to users who can't easily figure out why duckdb spatial cannot use st_read_meta on the one spatial vector format that seems 'most native' to duckdb.
Would it be possible to somehow modify the behavior of st_read_meta so that it could use GDAL for that purpose when reading a geoparquet file?

Ill just share that native Geoparquet support is planned to be the next big feature i work on for spatial, im just going to wrap up some refactoring and documrntation work first!

I currently have basic writing and reading working, with the "bbox" and "geometry_types" fields in the metadata being properly populated, but CRS handling is blocked since we can't store projection information in the geometry type itself yet and thats a more involved feature for the future as it is going to require a lot of changes in the DuckDB core. Although you can (even today) access the geoparquet metadata using DuckDB's existing parquet_kv_metadata('path') function
However we are currently busy preparing for the next version of DuckDB scheduled to be released in two weeks and I don't think my changes so far are going to make it in until then as there are more pressing PR's and bugfixes to get in. Ill post an update in this thread once I got initial geoparquet support available on nightly.

Hey- any update on this?

Also interested! We are using geoparquet pervasively at @onefact with our campaigns: https://www.payless.health/payless.health-linknyc-campaign.jpg and geospatial work (https://onefact.github.io/new-york-real-estate/ is one example).

I don't know what Max's plans are but last month I saw a lot of activity around projects trying to add native geometry, spatial indices and more spatial-centric storage to Parquet, ORC, etc...

https://docs.google.com/document/u/0/d/19hQLYcU5_r5nJB7GtnjfODLlSDiNS24GXAtKg9b0_ls/mobilebasic
https://github.com/apache/parquet-format/pull/240
https://docs.google.com/document/d/1iVFbrRNEzZl8tDcZC81GFt01QJkLJsI9E2NBOt21IRI/edit#heading=h.rt0cvesdzsj7

If any of the above turns into code and formal specifications at some point, there could be a big upgrade on GeoParquet. Especially since it never got spatial-centric indices.

there could be a big upgrade on GeoParquet. Especially since it never got spatial-centric indices.

To be clear, the upcoming GeoParquet 1.1 includes native support for spatial partitioning

So, in essence GeoParquet 1.1 would provide a native spatial index?

there could be a big upgrade on GeoParquet. Especially since it never got spatial-centric indices.

To be clear, the upcoming GeoParquet 1.1 includes native support for spatial partitioning

So, in essence GeoParquet 1.1 would provide a native spatial index?

I think thats overselling it a bit, but in essence you get bounding box statistics per row group that potentially allow you to skip scanning entire groups if the parquet file is created in such a way so that the rows are spatially correlated.

Right, I'd argue the difference lies in spatial "indexing" vs "partitioning", where I consider indexing to mean that the bounding box of every row is known, whereas partitioning means the the bounding box of each chunk is known

And for the record, @Maxxen support for geoparquet 1.1 is coming to duckdb soon right?

Here's the PR for part 1: Minimal GeoParquet 1.0 support.
https://github.com/duckdb/duckdb/pull/12503
There's a bunch of design-decision for handling the cross-extension dependencies here that I expected I'll receive a lot of feedback on, but once that gets resolved moving on to supporting 1.1 should be relatively straight-forward.


Model is effected by 56.25 msec into the future, not 37.5 as stated in paper

It's easy enough to show the model's output at time t is effected by samples from t+900 (implying 56.25msec anti-causality).
Simply put, if we enter a signal like [1,1,1...,1,inf,inf,inf], and the first inf comes at sample N, the output becomes invalid at sample N-900, which implies 56.25 delay.
     net = DCCRN(rnn_units=256,
                masking_mode='E',
                use_clstm=False,
                kernel_num=[32, 64, 128, 256, 256, 256])
    canary_input = torch.ones([1, 16000*2]).clamp_(-1, 1) * 0.5
    canary_input[0,-leading_n:] = np.inf
    out_canary = net(canary_input)[1].detach().numpy()
    first_invalid = np.where(np.isnan(out_canary) == True)[1][0]
    future_effect_size = canary_input[0].shape[0] -leading_n- first_invalid
    print('model samples into the future is',future_effect_size)

I've done some digging and it seems that this has to do with STFT working in windows of 400 and 100 skips.

Alright another data point to add here: I've confirmed that the only way the model looks 900 samples into the future is via the STFT-ISTFT round trip. The inverse operation looks into the future. Potentially the contribution of ISTFT to leaking info from the future is very limited, but it's definitely an unintended leak that shows that the model as-is does have some effect from future samples up to 900 samples into the future. I'd suggest implementing ISTFT in a strictly causal way to confirm this model actually meets the 37.5 msec limitation with equivalent results.

It's easy enough to show the model's output at time t is effected by samples from t+900 (implying 56.25msec anti-causality).
Simply put, if we enter a signal like [1,1,1...,1,inf,inf,inf], and the first inf comes at sample N, the output becomes invalid at sample N-900, which implies 56.25 delay.
     net = DCCRN(rnn_units=256,
                masking_mode='E',
                use_clstm=False,
                kernel_num=[32, 64, 128, 256, 256, 256])
    canary_input = torch.ones([1, 16000*2]).clamp_(-1, 1) * 0.5
    canary_input[0,-leading_n:] = np.inf
    out_canary = net(canary_input)[1].detach().numpy()
    first_invalid = np.where(np.isnan(out_canary) == True)[1][0]
    future_effect_size = canary_input[0].shape[0] -leading_n- first_invalid
    print('model samples into the future is',future_effect_size)

I've done some digging and it seems that this has to do with STFT working in windows of 400 and 100 skips.

Hi，I use the code you provided to calculate how many future samples are used in this network. I set leading_n=1, and get the result of future_effect_size=31999. It seems the whole output of the network is invalid. Do you have any idea of this problem？

I think you perhaps need to make sure your model under eval mode, otherwise normalization layer would be updated by inf value.
The other possibility is that you using the utterance level normalization method.

I think you perhaps need to make sure your model under eval mode, otherwise normalization layer would be updated by inf value. The other possibility is that you using the utterance level normalization method.

Yes, I didn't make my model under eval mode, now it's solved! Thank you very much!


Define and implement a flow for sending logs to us in case of an error

A user should be able to send us the logs in case he faces an error.

Make the logger write to a file
Verify there is a global exception handler that logs exceptions
Add to the readme a description of how to send logs (either manual or automatic)

Also

Make sure we printing things to the log alongside the UI (scraping events, for example)

OK, I refreshed my memory about our logging infrastructure.
We have two tools, electron-log and Sentry.
When I'm thinking about logging implementation, I'm very careful about sending all the logs automatically and do whatever we want, because I don't want to accidentally send sensitive information.
For now, the practice is logging to a local file, and I turned off all the auto logging in Sentry, and I'm using it just to manually send us a report (this is not my purpose for the future, it is just a minimal requirement.)
About the logger, we initialize it in the main process, and passing it to the renderer. Because it writes to one file, so it has to be one object.
From that point we just need to update the infra, inject the logger and Sentry in a more convenient way, and with types, and so on.
TYDW?
BTW @brafdlog I need to give you access to Sentry.

Sounds good.
How about overriding console log (https://github.com/megahertz/electron-log#overriding-consolelog) so the code can just use conosle.log and it will work

I remembering this feature, but I didn't use it, maybe it not worked?
Anyway, I thought about that again, and maybe we want to keep it without the console.log. In that way, you can still debug with console.log, but eslint will catch you 8f you accidentally committed a dummy log write.

Consider using a different logger for background.ts and main.ts, see https://github.com/megahertz/electron-log/issues/244.


Styling for displaying properly

What are the classes you're using? My custom theme isn't showing the highlights on the active guides.

The css class which applies to all guides is .indent-guide-improved.  In addition, .indent-guide-stack class is added for stacked guides.  Moreover, if the guide is rightmost, .indent-guide-active is also added.
Therefore, if the guide is rightmost, .indent-guide-improved, .indent-guide-stack, and .indent-guide-active are applied.