Add a New Darktrace Solution

Adding an initial PR for a new Darktrace Solution. We wanted to rename the solution to more accurately reflect product naming conventions. This is looking to eventually supersede "AI Analyst Darktrace" Solution which is already published.
We have also changed the data ingestion method adding a new Data Connector which utilises Azure Monitor API. We POST events into the Sentinel API from our side and ingest these into a Custom Log Schema.
Alongside that there's a completely rebuilt workbook to reflect the new data schema.
Finally, we have added some analytics rules to convert the alerts and incidents we send through into Sentinel alerts and incidents respectively.
Hoping to get some initial feedback and run tests against this solution.

Hi @JustasZDT, please sign the Contributor License Agreement CLA, thanks.

@JustasZDT, the name 'darktrace_model_alerts_CL' does not refer to any known table, tabular variable or function. Please add sample data, thanks.

@JustasZDT, please add connectorId:'DarktraceRESTConnector' in 'ValidConnectorIds.json' file. Thanks.

Hi @JustasZDT, can you please move sample data files to Sample data folder, thanks.

Hey, @v-sabiraj, thanks for that we've moved it now. I don't know whether you can manually re-trigger the pipeline, seems like something failed that didn't have anything to do with our content.
I have also moved out the Sample Data to the folder you referenced. We used the naming convention referenced in the contribution guidance, however I can see that most data in that folder is named in a different format - let me know if that needs to be renamed.
Finally, I've submitted a logo for light backgrounds, we have a different one for dark backgrounds but I'm not seeing anything in the contribution guidelines about that?

@aprakash13, can you please review Analytic rules, thanks.

@JustasZDT, please remove sample data folder added in solution folder, Solutions/Darktrace/Sample Data/

@JustasZDT, please rename Darktrace_RawLogs.json to darktrace_model_alerts_CL.json as queries are using this, thanks.

@JustasZDT, the workbook content is added at both the places, in solution as well as stanalone workbook folder, please remove from standalone folder if not needed, thanks.

@JustasZDT : Could you please resolve below comments
In workbook Darktrace AI Analyst section we are getting error like below

I can see the workbook content in both the places like Solutions/Darktrace/Workbooks/Images/Preview and Workbooks/Images/Preview.
Can you please remove workbook from standalone folder(Workbooks/Images/Preview) if not needed.
While checking Analytics for [Solutions/Darktrace/Analytic Rules/CreateIncidentFromAIAnalystIncident.yaml] this we got an error like below we couldn't find groupScore_d and groupCategory_s columns in darktrace_model_alerts_CL table after ingesting data

@aprakash13, can you please review Analytic rules, thanks.

Thanks, @v-spadarthi, we'll try to replicate on our side and @seanmacdonald8 will get back to you with feedback.

I can see the workbook content in both the places like Solutions/Darktrace/Workbooks/Images/Preview and Workbooks/Images/Preview.
Can you please remove workbook from standalone folder(Workbooks/Images/Preview) if not needed.

Less sure about this. The workbook .json is only present in our Solution folder. The Workbook preview images were added to the standalone folder because the CI pipeline was not detecting preview images that were placed in our Solution folder.

@v-spadarthi we have discovered that groupScore was missing from the test data which was generating errors. This should be resolved now with e3f7a9c8494d7494a1ad88c7c9aab338d14d05c9 so feel free to re-test and let us know what you think.

@JustasZDT : Thanks for adding groupscore to test data.
We tested workbook is fine but analytics getting an error like below,

Actually we requested 2  columns groupScore_d and groupCategory_s  not there in darktrace_model_alerts_CL table.But you added in test data only one ,can you please add other one also

@aprakash13 noted, thanks, we'll move that around.
@v-spadarthi we'll add that to the test data, apologies.
To both - can I reiterate my question as I've not received an answer earlier - I've submitted a logo for light backgrounds, we have a different one for dark backgrounds but I'm not seeing anything in the contribution guidelines about that? Is the logo always placed in a white container?

Hello, we've made some more changes in line with the latest feedback we've received - looking forward to any further notes from yourselves. Also, reiterating the question asked above regarding logo colours.

@JustasZDT : Thanks for providing the updated sample data now all are working fine.

Is the logo always placed in a white container?--There is no such criteria, you can use whatever you like but, Logo needs to be in SVG format and under 5 Kb and Logo scales well to fit in a 75 px square.

Lovely, thanks for reviewing @v-spadarthi. Are there any other components pending review or is this ready to merge?

Hey all, quick question - I've noticed that we have not added a solution package here, having serious problems with running the packaging tool. Is there somebody we can chat about this with?

Adding some context, running V1 and V2 packaging tools with the input files for both attached. The output is in collapsible sections for formatting.
Running packaging tool V1
Input file:
/**
 * Solution Automation Input File Json
 * -----------------------------------------------------
 * The purpose of this json is to provide detail on the various fields the input file can have.
 * Name: Solution Name - Ex. "Symantec Endpoint Protection"
 * Author: Author Name+Email of Solution - Ex. "Eli Forbes -<EMAIL_ADDRESS> * Logo: Link to the Logo used in createUiDefinition.json
 * - NOTE: This field is only recommended for Azure Global Cloud. It is not recommended for solutions in Azure Government Cloud as the image will not be shown properly.
 * Description: Solution Description used in createUiDefinition.json. Can include markdown.
 * WorkbookDescription: Workbook description(s), generally from Workbooks' Metadata. This field can be a string if 1 description is used across all, and an array if multiple are used.
 * PlaybookDescription: Playbook description(s), generally from Playbooks' Metadata. This field can be a string if 1 description is used across all, and an array if multiple are used.
 * WatchlistDescription: Watchlist description(s), generally from Watchlists' Property data. This field can be a string if 1 description is used across all, and an array if multiple are used. This field is used if the description from the Watchlist resource is not desired in the Create-UI.
 * Workbooks, Analytic Rules, Playbooks, etc.: These fields take arrays of paths relative to the repo  root, or BasePath if provided.
 * SavedSearches: This input assumes a format of any of the following:
 * -- Direct export via API (see https://docs.microsoft.com/rest/api/loganalytics/saved-searches/list-by-workspace)
 * -- Array of SavedSearch resources
 * -- Raw ARM template
 *
 * - NOTE: Playbooks field can take standard Playbooks, Custom Connectors, and Function Apps
 * BasePath: Optional base path to use. Either Internet URL or File Path. Default is repo root (https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/)
 * Version: Version to be used during package creation. We should use any version >= 2.0.0 in case solution needs to be packaged for Template Spec
 * Metadata: Name of metadata file for the Solution, path is to be considered from BasePath.
 * TemplateSpec: Boolean value used to determine whether the package should be generated as a template spec
 */
 {
    "Name": "Darktrace",
    "Author": "Darktrace -<EMAIL_ADDRESS>    "Logo": "<img src=\"https://github.com/Azure/Azure-Sentinel/blob/master/Logos/Darktrace.svg\" width=\"75px\" height=\"75px\">",
    "Description": "Hello",
    "Workbooks": [
        "Workbooks/DarktraceWorkbook.json"
    ],
    "WorkbookDescription": "The Darktrace Workbook visualises AI Analyst, Model Breach and Antigena Email data received by the Darktrace Data Connector.",
    "Analytic Rules": [
        "Analytic Rules/CreateAlertFromModelBreach.yaml",
        "Analytic Rules/CreateAlertFromSystemStatus.yaml",
        "Analytic Rules/CreateIncidentFromAIAnalystIncident.yaml"
    ],
    "Playbooks": [],
    "PlaybookDescription": ["{Description of playbook}"],
    "Parsers": [],
    "SavedSearches": [],
    "Hunting Queries": [],
    "Data Connectors": [
        "Data Connectors/DarktraceConnectorRESTAPI.json"
    ],
    "Watchlists": [],
    "WatchlistDescription": [],
    "BasePath": "https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Darktrace/",
    "Version": "1.0.0",
    "Metadata": "SolutionMetadata.json",
    "TemplateSpec": false
  }

Packaging tool output
PS C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution> .\createSolution.ps1
.\createSolution.ps1: File C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution\createSolution.ps1 cannot be loaded. The file C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution\createSolution.ps1 is not digitally signed. You cannot run this script on the current system. For more information about running scripts and setting execution policy, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
PS C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution> Set-ExecutionPolicy Bypass
PS C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution> .\createSolution.ps1
Downloading Workbooks/DarktraceWorkbook.json
Generating Workbook using Workbooks/DarktraceWorkbook.json
Downloading Analytic Rules/CreateAlertFromModelBreach.yaml
Generating Alert Rule using Analytic Rules/CreateAlertFromModelBreach.yaml
Downloading Analytic Rules/CreateAlertFromSystemStatus.yaml
Generating Alert Rule using Analytic Rules/CreateAlertFromSystemStatus.yaml
Downloading Analytic Rules/CreateIncidentFromAIAnalystIncident.yaml
Generating Alert Rule using Analytic Rules/CreateIncidentFromAIAnalystIncident.yaml
Downloading {Description of playbook}
Failed to download {Description of playbook} -- Please ensure that it exists in https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Darktrace//
Downloading Data Connectors/DarktraceConnectorRESTAPI.json
Generating Data Connector using Data Connectors/DarktraceConnectorRESTAPI.json
Removing empty property title
Removing empty property instructions
Downloading Data Connectors/DarktraceConnectorRESTAPI.json
fatal: not a git repository (or any of the parent directories): .git
Missing arm-ttk validations. Downloading module...

    Directory: C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          08/08/2022    17:42                tmp
VERBOSE: GET with 0-byte payload
VERBOSE: received 462521-byte response of content type application/x-zip-compressed
Get-ChildItem: C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution\tmp\arm-ttk\Expand-AzTemplate.ps1:123
Line |
 123 |                          Get-ChildItem -Filter *.json |
     |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot find path 'C:\Solutions\Templates' because it does not exist.

Expand-AzTemplate: C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution\tmp\arm-ttk\Test-AzTemplate.ps1:441
Line |
 441 |  …      $expandedTemplate =Expand-AzTemplate -TemplatePath $templatePath
     |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | No azuredeploy.json or mainTemplate.json found beneath /Solutions/Templates

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Allowed Values Should Actually Be Allowed
Timespan  : 00:00:00.1666420
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Controls In Outputs Must Exist
Timespan  : 00:00:00.0596845
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : CreateUIDefinition Must Not Have Blanks
Timespan  : 00:00:00.0218065
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : CreateUIDefinition Should Have Schema
Timespan  : 00:00:00.0397189
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Credential Confirmation Should Not Be Hidden
Timespan  : 00:00:00.0552032
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Handler Must Be Correct
Timespan  : 00:00:00.0189409
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : HideExisting Must Be Correctly Handled
Timespan  : 00:00:00.0639916
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Location Should Be In Outputs
Timespan  : 00:00:00.0201517
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Outputs Must Be Present In Template Parameters
Timespan  : 00:00:00.0168335
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Parameters Without Default Must Exist In CreateUIDefinition
Timespan  : 00:00:00.0152106
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Password Textboxes Must Be Used For Password Parameters
Timespan  : 00:00:00.0300372
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : PasswordBoxes Must Have Min Length
Timespan  : 00:00:00.0355756
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Textboxes Are Well Formed
Timespan  : 00:00:00.0357698
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Tooltips Should Be Present
Timespan  : 00:00:00.0485166
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Usernames Should Not Have A Default
Timespan  : 00:00:00.0374712
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Validations Must Have Message
Timespan  : 00:00:00.0528504
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : VMSizes Must Match Template
Timespan  : 00:00:00.0448163
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : adminUsername Should Not Be A Literal
Timespan  : 00:00:00.0506171
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : apiVersions Should Be Recent
Timespan  : 00:00:00.0642114
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : artifacts parameter
Timespan  : 00:00:00.0172607
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : CommandToExecute Must Use ProtectedSettings For Secrets
Timespan  : 00:00:00.0569269
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : DependsOn Best Practices
Timespan  : 00:00:00.0439622
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Deployment Resources Must Not Be Debug
Timespan  : 00:00:00.0406274
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : DeploymentTemplate Must Not Contain Hardcoded Uri
Timespan  : 00:00:00.0343642
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : DeploymentTemplate Schema Is Correct
Timespan  : 00:00:00.0143931
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Dynamic Variable References Should Not Use Concat
Timespan  : 00:00:00.0177567
File      : {Name, Extension, Text, FullPath…}

Errors    : {Property: "EventID" must use one of the following expressions for an resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid, Property: "CurrentGroupID" must use one of the following expressions for an
            resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid}
Warnings  : {}
Output    : {}
AllOutput : {Property: "EventID" must use one of the following expressions for an resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid, Property: "CurrentGroupID" must use one of the following expressions for an
            resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid}
Passed    : False
Group     : deploymentTemplate
Name      : IDs Should Be Derived From ResourceIDs
Timespan  : 00:00:00.1016589
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Location Should Not Be Hardcoded
Timespan  : 00:00:00.0278243
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : ManagedIdentityExtension must not be used
Timespan  : 00:00:00.0147100
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Min And Max Value Are Numbers
Timespan  : 00:00:00.0140927
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Outputs Must Not Contain Secrets
Timespan  : 00:00:00.0171864
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Parameters Must Be Referenced
Timespan  : 00:00:00.1521975
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : providers apiVersions Is Not Permitted
Timespan  : 00:00:00.0678172
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : ResourceIds should not contain
Timespan  : 00:00:00.0591986
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Resources Should Have Location
Timespan  : 00:00:00.0185881
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Resources Should Not Be Ambiguous
Timespan  : 00:00:00.0262558
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Secure String Parameters Cannot Have Default
Timespan  : 00:00:00.0152015
File      : {Name, Extension, Text, FullPath…}

Errors    : {Empty property:  null found on line: 170, Empty property:  null found on line: 201, Empty property:  null
            found on line: 203, Empty property:  null found on line: 253…}
Warnings  : {}
Output    : {}
AllOutput : {Empty property:  null found on line: 170, Empty property:  null found on line: 201, Empty property:  null
            found on line: 203, Empty property:  null found on line: 253…}
Passed    : False
Group     : deploymentTemplate
Name      : Template Should Not Contain Blanks
Timespan  : 00:00:00.0725049
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Variables Must Be Referenced
Timespan  : 00:00:00.0387856
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Virtual Machines Should Not Be Preview
Timespan  : 00:00:00.0923657
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : VM Images Should Use Latest Version
Timespan  : 00:00:00.0206460
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : VM Size Should Be A Parameter
Timespan  : 00:00:00.0443680
File      : {Name, Extension, Text, FullPath…}

Failed arm-ttk (Test-AzTemplate): Package
Failed arm-ttk (Test-AzTemplate) on solutions: Package

Running package tool V2
Input file:
  /**
 * Solution Automation Input File Json
 * -----------------------------------------------------
 * The purpose of this json is to provide detail on the various fields the input file can have.
 * Name: Solution Name - Ex. "Symantec Endpoint Protection"
 * Author: Author Name+Email of Solution - Ex. "Eli Forbes -<EMAIL_ADDRESS> * Logo: Link to the Logo used in createUiDefinition.json
 * - NOTE: This field is only recommended for Azure Global Cloud. It is not recommended for solutions in Azure Government Cloud as the image will not be shown properly.
 * Description: Solution Description used in createUiDefinition.json. Can include markdown.
 * WorkbookDescription: Workbook description(s), generally from Workbooks' Metadata. This field can be a string if 1 description is used across all, and an array if multiple are used.
 * PlaybookDescription: Playbook description(s), generally from Playbooks' Metadata. This field can be a string if 1 description is used across all, and an array if multiple are used.
 * WatchlistDescription: Watchlist description(s), generally from Watchlists' Property data. This field can be a string if 1 description is used across all, and an array if multiple are used. This field is used if the description from the Watchlist resource is not desired in the Create-UI.
 * Workbooks, Analytic Rules, Playbooks, etc.: These fields take arrays of paths relative to the repo  root, or BasePath if provided.
 * SavedSearches: This input assumes a format of any of the following:
 * -- Direct export via API (see https://docs.microsoft.com/rest/api/loganalytics/saved-searches/list-by-workspace)
 * -- Array of SavedSearch resources
 * -- Raw ARM template
 *
 * - NOTE: Playbooks field can take standard Playbooks, Custom Connectors, and Function Apps
 * BasePath: Optional base path to use. Either Internet URL or File Path. Default is repo root (https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/)
 * Version: Version to be used during package creation. We should use any version >= 2.0.0 in case solution needs to be packaged for Template Spec
 * Metadata: Name of metadata file for the Solution, path is to be considered from BasePath.
 * TemplateSpec: Boolean value used to determine whether the package should be generated as a template spec
 */
{
    "Name": "Darktrace",
    "Author": "Darktrace -<EMAIL_ADDRESS>    "Logo": "<img src=\"https://github.com/Azure/Azure-Sentinel/blob/master/Logos/Darktrace.svg\" width=\"75px\" height=\"75px\">",
    "Description": "Hello",
    "WorkbookDescription": "The Darktrace Workbook visualises AI Analyst, Model Breach and Antigena Email data received by the Darktrace Data Connector.",
    "Workbooks": [
        "Workbooks/DarktraceWorkbook.json"
    ],
    "WorkbookDescription": "The Darktrace Workbook visualises AI Analyst, Model Breach and Antigena Email data received by the Darktrace Data Connector.",
    "AnalyticalRuleBladeDescription": "The Darktrace solution installs Analytical Rules in order to create incidents and alerts on Sentinel based on Darktrace data.",
    "HuntingQueryBladeDescription": "",
    "PlaybooksBladeDescription": "",
    "Analytic Rules": [
        "Analytic Rules/CreateAlertFromModelBreach.yaml",
        "Analytic Rules/CreateAlertFromSystemStatus.yaml",
        "Analytic Rules/CreateIncidentFromAIAnalystIncident.yaml"
    ],
    "Playbooks": [],
    "PlaybookDescription": [""],
    "Parsers": [],
    "SavedSearches": [],
    "Hunting Queries": [],
    "Data Connectors": [],
    "Watchlists": [],
    "WatchlistDescription": [],
    "BasePath": "https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Darktrace/",
    "Version": "1.0.0",
    "Metadata": "SolutionMetadata.json",
    "TemplateSpec": true,
    "Is1PConnector": false
  }

Output
PS C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution\V2> .\createSolutionV2.ps1
Downloading https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Darktrace//Workbooks/DarktraceWorkbook.json
Generating Workbook using Workbooks/DarktraceWorkbook.json
Downloading https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json
Downloading https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Darktrace//Analytic Rules/CreateAlertFromModelBreach.yaml
Generating Alert Rule using Analytic Rules/CreateAlertFromModelBreach.yaml
Downloading https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Darktrace//Analytic Rules/CreateAlertFromSystemStatus.yaml
Generating Alert Rule using Analytic Rules/CreateAlertFromSystemStatus.yaml
Downloading https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Darktrace//Analytic Rules/CreateIncidentFromAIAnalystIncident.yaml
Generating Alert Rule using Analytic Rules/CreateIncidentFromAIAnalystIncident.yaml
Downloading https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Darktrace//
Failed to download https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Darktrace// -- Please ensure that it exists in https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Darktrace//
Downloading C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution\V2/../../../Solutions/Darktrace/SolutionMetadata.json
fatal: not a git repository (or any of the parent directories): .git
Missing arm-ttk validations. Downloading module...

    Directory: C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          08/08/2022    17:42                tmp
VERBOSE: GET with 0-byte payload
VERBOSE: received 462521-byte response of content type application/x-zip-compressed
Get-ChildItem: C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution\tmp\arm-ttk\Expand-AzTemplate.ps1:123
Line |
 123 |                          Get-ChildItem -Filter *.json |
     |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot find path 'C:\Solutions\Templates' because it does not exist.

Expand-AzTemplate: C:\Azure-Sentinel\Azure-Sentinel-master\Tools\Create-Azure-Sentinel-Solution\tmp\arm-ttk\Test-AzTemplate.ps1:441
Line |
 441 |  …      $expandedTemplate =Expand-AzTemplate -TemplatePath $templatePath
     |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | No azuredeploy.json or mainTemplate.json found beneath /Solutions/Templates

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Allowed Values Should Actually Be Allowed
Timespan  : 00:00:00.2662878
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Controls In Outputs Must Exist
Timespan  : 00:00:00.0491586
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : CreateUIDefinition Must Not Have Blanks
Timespan  : 00:00:00.0240897
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : CreateUIDefinition Should Have Schema
Timespan  : 00:00:00.0618814
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Credential Confirmation Should Not Be Hidden
Timespan  : 00:00:00.0884655
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Handler Must Be Correct
Timespan  : 00:00:00.0171269
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : HideExisting Must Be Correctly Handled
Timespan  : 00:00:00.0915351
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Location Should Be In Outputs
Timespan  : 00:00:00.0190531
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Outputs Must Be Present In Template Parameters
Timespan  : 00:00:00.0218276
File      : {Name, Extension, Text, FullPath…}

Errors    : {workbook1-name does not have a default value, and is not defined in CreateUIDefinition.outuputs}
Warnings  : {}
Output    : {}
AllOutput : workbook1-name does not have a default value, and is not defined in CreateUIDefinition.outuputs
Passed    : False
Group     : CreateUIDefinition
Name      : Parameters Without Default Must Exist In CreateUIDefinition
Timespan  : 00:00:00.0193071
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Password Textboxes Must Be Used For Password Parameters
Timespan  : 00:00:00.0411668
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : PasswordBoxes Must Have Min Length
Timespan  : 00:00:00.0390263
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Textboxes Are Well Formed
Timespan  : 00:00:00.0491547
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Tooltips Should Be Present
Timespan  : 00:00:00.0593738
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Usernames Should Not Have A Default
Timespan  : 00:00:00.0353231
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : Validations Must Have Message
Timespan  : 00:00:00.0782936
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : CreateUIDefinition
Name      : VMSizes Must Match Template
Timespan  : 00:00:00.0668912
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : adminUsername Should Not Be A Literal
Timespan  : 00:00:00.1141084
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : apiVersions Should Be Recent
Timespan  : 00:00:00.1320470
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : artifacts parameter
Timespan  : 00:00:00.0357421
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : CommandToExecute Must Use ProtectedSettings For Secrets
Timespan  : 00:00:00.0997527
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : DependsOn Best Practices
Timespan  : 00:00:00.0908419
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Deployment Resources Must Not Be Debug
Timespan  : 00:00:00.1017997
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : DeploymentTemplate Must Not Contain Hardcoded Uri
Timespan  : 00:00:00.0558590
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : DeploymentTemplate Schema Is Correct
Timespan  : 00:00:00.0207590
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Dynamic Variable References Should Not Use Concat
Timespan  : 00:00:00.0186226
File      : {Name, Extension, Text, FullPath…}

Errors    : {Property: "connectorId" must use one of the following expressions for an resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid, Property: "EventID" must use one of the following expressions for an
            resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid, Property: "connectorId" must use one of the following expressions for an
            resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid, Property: "connectorId" must use one of the following expressions for an
            resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid…}
Warnings  : {}
Output    : {}
AllOutput : {Property: "connectorId" must use one of the following expressions for an resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid, Property: "EventID" must use one of the following expressions for an
            resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid, Property: "connectorId" must use one of the following expressions for an
            resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid, Property: "connectorId" must use one of the following expressions for an
            resourceId property:
                        extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,
            variables,subscription,guid…}
Passed    : False
Group     : deploymentTemplate
Name      : IDs Should Be Derived From ResourceIDs
Timespan  : 00:00:00.1624575
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Location Should Not Be Hardcoded
Timespan  : 00:00:00.0590251
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : ManagedIdentityExtension must not be used
Timespan  : 00:00:00.0189901
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Min And Max Value Are Numbers
Timespan  : 00:00:00.0171951
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Outputs Must Not Contain Secrets
Timespan  : 00:00:00.0214623
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Parameters Must Be Referenced
Timespan  : 00:00:00.1651358
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : providers apiVersions Is Not Permitted
Timespan  : 00:00:00.0552417
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : ResourceIds should not contain
Timespan  : 00:00:00.0259564
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Resources Should Have Location
Timespan  : 00:00:00.0219976
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Resources Should Not Be Ambiguous
Timespan  : 00:00:00.0335443
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Secure String Parameters Cannot Have Default
Timespan  : 00:00:00.0561334
File      : {Name, Extension, Text, FullPath…}

Errors    : {Empty property:  "" found on line: 45, Empty property:  "" found on line: 46, Empty property:  "" found
            on line: 109}
Warnings  : {}
Output    : {}
AllOutput : {Empty property:  "" found on line: 45, Empty property:  "" found on line: 46, Empty property:  "" found
            on line: 109}
Passed    : False
Group     : deploymentTemplate
Name      : Template Should Not Contain Blanks
Timespan  : 00:00:00.0812944
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Variables Must Be Referenced
Timespan  : 00:00:00.0878444
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : Virtual Machines Should Not Be Preview
Timespan  : 00:00:00.1829605
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : VM Images Should Use Latest Version
Timespan  : 00:00:00.0189469
File      : {Name, Extension, Text, FullPath…}

Errors    : {}
Warnings  : {}
Output    : {}
AllOutput :
Passed    : True
Group     : deploymentTemplate
Name      : VM Size Should Be A Parameter
Timespan  : 00:00:00.1015714
File      : {Name, Extension, Text, FullPath…}

Failed arm-ttk (Test-AzTemplate): Package
Failed arm-ttk (Test-AzTemplate) on solutions: Package

Hi @JustasZDT , @v-sabiraj Will connect with you over teams. You can discuss issue with him.
Thanks


Add a workaround in case NetworkInformation.GetHostNames() fails (it …

…does when the machine is set up with a weird name, e.g. '@#$^'

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

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;


[SwiftLanguageRuntime] Use mirrors to compute layout of objects.

rdar://problem/36477650

This is a WIP, couple of tests are still failing, but the majority using resilience are now passing, which is good.

Mostly to understand what's the state of Linux/ELF.

Please test with following PR:
https://github.com/apple/swift/pull/20026
@swift-ci Please test

@swift-ci please test macos

@swift-ci please test

@swift-ci please test macos

Please test with following PR:
apple/swift#20026
@swift-ci Please test

Please test with following PR:
apple/swift#20026
@swift-ci Please test linux

Please test with following PR:
apple/swift#20026
@swift-ci Please test linux

Please test with following PR:
apple/swift#20026
@swift-ci Please test


feat(LinearAlgebra/QuadraticForm/Basic): more lemmas

This also adds a handful of missing lemmas about Set.center for inverses and numeric literals.

bors merge


unable to remove volume

I create a symbolic link.
Fail to remove docker volume.
Docker version 17.12.0-ce, build c97c6d6
[name@local ~]$ sudo ln -s /data/volumes /var/lib/docker/volumes
[name@local ~]$ sudo docker volume create test
[name@local ~]$ sudo docker volume rm test
Error response from daemon: unable to remove volume: remove test: Unable to remove a directory of out the Docker root /var/lib/docker: /data/volumes/test/_data

Hi, @ANGELMARS , I am going to close this issue because it does not appear to be related to docs. If it is a docs bug, please let us know the page and we will reopen if necessary.
Otherwise, please ask your question on the Docker Forums: https://forums.docker.com/


Use index.md for subfolder parents in documentation to get nicer links

Is your feature request related to a problem? Please describe.
Current documentation recommends putting children in a common folder and naming the parent residing in the same folder e.g. utilities/utilities.md.
This results in fairly weird permalinks, e.g. example.com/utilities/utilities.
Describe the solution you'd like
I tried using index.md for the parent page in a sub folder and it works as well AND gives nice links. E.g. example.com/utilities. To use the example it would look like this:
|   |-- utilities
|   |   |-- index.md      (parent page, now available under /utilities or /utilities/index.html)
|   |   |-- color.md
|   |   |-- layout.md
|   |   |-- responsive-modifiers.md
|   |   +-- typography.md

If there are no technical reasons against naming the parent page index.md, I would go ahead and make a PR for this to update the documentation. It seems no code changes are needed as it already works when used.

Sure, go for it 👍

Great. Added a suggested PR that updates the documentation at #181.


Optimize parsing unification of Expr and TypeExpr

typeExpr parsing logic could be sunk into expr parsing and merged, rather than backtracking.  That would be faster.

Implemented.


[FEATURE] - Allow vertical scrolling of a multi-line SuperTextField when its text overflows (Resolves #2140 and #1795)

I checked usages of TextScrollView and you're correct that it's only currently used for Android and iOS SuperTextFields.
Did you check what happens with auto-scrolling when dragging selection handles, dragging the caret, etc?
Wrapped around the TextScrollView is a AndroidTextFieldTouchInteractor and a IOSTextFieldTouchInteractor, respectively. Both of those interactors are given access to the scroll controller for the TextScrollView.
I assume there was a reason that I disabled the standard scroll physics. I'd like to find what that was and then ensure we didn't break those requirements with this change. If this does break those requirements, then we might need to find another way to accomplish this.

Also, let's move this out of draft mode, and can you also check the failing tests in CI?

@matthew-carroll - the tests I added for mobile and desktop are now passing. These tests check to see that multi-line SuperText fields can scroll up and down when the text overflows.
In terms of checking the existing functionality with selection handle, magnifiers, scrolling etc.: all existing tests pass, which I hope cover the rules in more detail than I can manually test. In any case I did some manual checks - see:
https://github.com/user-attachments/assets/a051b198-ef1c-4e51-9ecc-61c553491d20
I now have some golden failures. I tried to update the goldens locally but it ended up in way too many unrelated files changed. Is there something I'm missing with regard to updating the goldens? I am running latest Flutter main:
Flutter 3.24.0-1.0.pre.153 • channel main • https://github.com/flutter/flutter.git
Framework • revision 49d6d520cb (45 minutes ago) • 2024-07-17 11:18:10 -0400
Engine • revision 7e25796340
Tools • Dart 3.6.0 (build 3.6.0-48.0.dev) • DevTools 2.37.1

@matthew-carroll all tests (including new tests & goldens) are now passing.
Not sure what to do about the Netlify/deploymant job failures. I don't think anything I did should affect them?

@matthew-carroll I think we should fix the goldens: merge either (https://github.com/superlistapp/super_editor/pull/2183) or (https://github.com/superlistapp/super_editor/pull/2184), and then I will rebase this PR.
I see that option 1 works and 2 does not, and also the Netlify stuff passes in option 1 as well so probably will succeed here after I rebase this PR.
Please let me know how we should proceed.

@matthew-carroll this one has been rebased and tests are passing, and ready for another look!

@CillianMyles do you know if those demo site failures are new to this PR vs broken in general? I don't think I saw those failing in other PRs...

@matthew-carroll over the past few days/weeks working on a few PRs, I have noticed these fail sometimes. I can't remember in which PRs and it's a bit hard to track down older runs due to rebasing.
To be honest thought I can't think why the code changes in this PR could have any affect on these demo site failures.
Not sure if it's any use, but now come to think of it, something I do remember when I created the option 1 and option 2 PRs at virtually the same time, the PR checks were actually running at the same time on both, and I noted that the demo site jobs failed on one PR and not the other. Not sure if it could be anything to do with concurrent jobs.
Aside from that, I don't have any ideas unfortunately.

@matthew-carroll I rebased and addressed all you points. Looking forward to your feedback!

@angelosilvestre can you cherry pick this?


[QUESTION] swoole4.5.2  一键协程化   filesystem  get(‘oss’)内存超出

Before you submit this issue, you has been search all existed issues and search the documentation

[] I've been search all existed issues
[] I've been read all documentation

Describe your question
报错：

加大php运行内存限制


Anka updates oct 23

Preview: Set up Anka VM build infrastructure
I rewrote the entire page. Please review it in its entirety. I got mixed up on the different Anka setup options, VMs, instances, etc.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


Transaction error when i click the "Claim unstaked balance"

I have some eos which should have been unstaked a day ago but its still "refunding".
When i click on the "Claim unstaked balance" nothing happens. So i downloaded a http request catcher to see what exactly is wrong. When i click on the button it sends the command for refund but it returns with this error:
{ 	"code": 500, 	"message": "Internal Service Error", 	"error": { 		"code": 3050003, 		"name": "eosio_assert_message_exception", 		"what": "eosio_assert_message assertion failure", 		"details": [{ 			"message": "assertion failure with message: method must be separated with # ", 			"file": "wasm_interface.cpp", 			"line_number": 930, 			"method": "eosio_assert" 		}, { 			"message": "pending console output: ", 			"file": "apply_context.cpp", 			"line_number": 61, 			"method": "exec_one" 		}] 	} }
what is wrong with my balance

Hrm, what version was this on? 0.5.1?

Yes the 0.5.1, 0.5.2 wasnt around when i made this post

Sorry for the late response, but did upgrading to 0.5.2 or 0.5.3 resolve this issue?


SNOW-869906: Tag package auto-upload feature as experimental, UNIX-only and accessible only via a flag

Please answer these questions before submitting your pull requests. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes #NNNN

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency

Please describe how your code solves the related issue.
Please write a short description of how your code change solves the related issue.

LGTM.
Circled @sfc-gh-mabrennan to review docstrings.

I added @sfc-gh-straut because Mary is out.


Allow cluster-autoscaler to watch csidrivers and csistoragecapacities

/area auto-scaling
/kind bug
Currently the cluster-autoscaler fails to watch csidrivers and csistoragecapacities:
E0529 13:42:31.452741       1 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Failed to watch *v1beta1.CSIStorageCapacity: failed to list *v1beta1.CSIStorageCapacity: csistoragecapacities.storage.k8s.io is forbidden: User "system:serviceaccount:kube-system:cluster-autoscaler" cannot list resource "csistoragecapacities" in API group "storage.k8s.io" at the cluster scope
E0529 13:42:38.400407       1 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Failed to watch *v1.CSIDriver: failed to list *v1.CSIDriver: csidrivers.storage.k8s.io is forbidden: User "system:serviceaccount:kube-system:cluster-autoscaler" cannot list resource "csidrivers" in API group "storage.k8s.io" at the cluster scope

$ k -n shoot--foo--bar logs cluster-autoscaler-54594ddc56-hksd5 | grep 'forbidden' | wc -l
1372

The cluster-autoscaler runs the scheduler plugins as part of its simulations.  The VolumeBinding plugin is requiring watch permissions for csidrivers and csistoragecapacities:
https://github.com/kubernetes/kubernetes/blob/a24eb09a399262c1acc8b4c30e97143cedaad3cc/pkg/scheduler/framework/plugins/volumebinding/volume_binding.go#L354-L359
The upstream cluster-autoscaler ClusterRole also includes the same rules:
  # ...
  - apiGroups:
    - storage.k8s.io
    resources:
    - storageclasses
    - csinodes
    - csidrivers
    - csistoragecapacities
    verbs:
    - watch
    - list
    - get
      # ...

Release note:

An issue preventing the cluster-autoscaler to watch `csidrivers` and `csistoragecapacities` is now fixed.

/assign @himanshu-kun @unmarshall


zindex

removed a bunch of zindex junk by moving things around

@keybase/react-hackers this is ready

@keybase/react-hackers bump


Please add Netbox 4.1.XX support

Please update plugin compatibility with the Netbox 4.1.XX. Right now, the plugin support max_version = '4.0.99'
Thank you!

On a netbox test instance, you can validate the 4.1.x version compability. By hand editing the file /opt/netbox/venv/lib/python3.11/site-packages/netbox_bgp/__init__.py.
# grep --perl-regex 'm(in|ax)_version =' /opt/netbox/venv/lib/python3.11/site-packages/netbox_bgp/__init__.py
    min_version = '4.0.0'
    max_version = '4.0.99'

Or sed --regexp-extended --expression='/max_version/s/4\.0\.[0-9]+/4.1.99/' --in-place /opt/netbox/venv/lib/python3.11/site-packages/netbox_bgp/__init__.py

On a netbox test instance, you can validate the 4.1.x version compability. By hand editing the file /opt/netbox/venv/lib/python3.11/site-packages/netbox_bgp/__init__.py.
# grep --perl-regex 'm(in|ax)_version =' /opt/netbox/venv/lib/python3.11/site-packages/netbox_bgp/__init__.py
    min_version = '4.0.0'
    max_version = '4.0.99'

Or sed --regexp-extended --expression='/max_version/s/4\.0\.[0-9]+/4.1.99/' --in-place /opt/netbox/venv/lib/python3.11/site-packages/netbox_bgp/__init__.py
Re-installing the package will overwrite any manual changes to the package files.

I think this is a good work around but still needs to be updated in the main branch so updates can be done seamlessly.

Hi, There needs to be a final 4.0 release first to fix the api issue - a 4.1 will follow

https://github.com/netbox-community/netbox-bgp/pull/206

#206

sure but as long as they don't merge the PR we won't do much 😉

0.14.0

Thank you!


Avoid reclaiming frames for dead streams.

In clear_queue we drop all the queued frames for a stream, but this doesn't
take into account a buffered frame inside of the FramedWrite. This can lead
to a panic when reclaim_frame tries to recover a frame onto a stream that has
already been destroyed, or in general cause wrong behaviour.
Instead, let's keep track of what frame is currently in-flight; then, when we
clear_queue a stream with an in-flight data frame, mark the frame to be
dropped instead of reclaimed.

Quick update, this change looks good to me. I've been trying to write a test that catches this. It has not been trivial, so I am going to keep working on that.


Bugfix/fixes issue with ignoring state changes

Description
here we are adding code which tries to fix the issue where states which updates got lost in the Driver. (or were ignored by the driver)

We added a method which get's called whenever our parent widget asks us to re-render.
We recreate the driver whenever there is a call to didChangeDependencies

Type of Change

[ ] 🚀 New feature (non-breaking change)
[x] 🛠 Bug fix (non-breaking change)
[ ] ⚠ Breaking change (feature or bug fix which breaks existing behaviors/APIs)
[ ] 🏗 Code refactor
[ ] ⚙ Build configuration change
[ ] 📝 Documentation
[ ] 🧹 Chore / Housekeeping

@robert-northmind Approves this PR, because he created it I approve on his behalf.


Allows users to edit the metadata for any existing pathway. Additiona…

…lly, pathway name is now a button to access the builder view.

There are still some design discrepancies. Primarily, making the name of each pathway a button means that the lettering is all upper case instead of just capitalized. Additionally, the text seems to be a bit smaller than the inVision design shows. I tried some quick, simple fixes to address these issues but they didn't work and I wanted to make sure the functionality is nailed down before diving into the CSS stuff. Let me know your thoughts!

I'm not too worried about the size of the text, but if it can be made to not be all-caps that would be good.
In term of functionality, it works and correctly updates the pathway, but the UX is a little unconventional.
When I open the edit box, I get something that looks like this, which is good:

But then when I edit one of the text boxes, the old value shifts upward to be the label, and the box becomes empty.

So if I want to just change 1 letter or a small piece of the text, which I assume (without evidence) will be the most common case, I have to re-type the whole thing.
Is it possible to keep the labels as "Pathway Name" and "Description" as before, and pre-populate the boxes with the old value so they are easier to make quick adjustments to?

Also, not a showstopper but there seems to be a lot of empty space at the bottom of the modal, which you can scroll down into:

Also, not a showstopper but there seems to be a lot of empty space at the bottom of the modal, which you can scroll down into:

Super weird, but this empty space and scrolling option doesn't occur when I'm running it.

Super weird, but this empty space and scrolling option doesn't occur when I'm running it.
It's only on the update for me but I see the same as Dylan with the scrolling

I see it on all three browsers, Firefox, Chrome, and Safari. Looks like it's a different amount of space for each pathway, like it's based on the length of something from the pathway content or something. But looking at the inspector, I can't actually tell why that extra space is there. There's nothing else in the containing div besides the 2 fields

I'll let the other reviewers handle looking at the code, but from a UI perspective, this looks pretty good! I only have 2 minor changes to request:

Lets change the button text to just "Save" with no icon.

Let's change the pathway description field to be multiline so that we don't have the description run off the field.

Otherwise, looks good! Nice job!


cybernetics ability conflicting with some mod

Even when consuming shards, the capacity does not increase.

CET by itself shouldnt cause this. Is some other mod. If turning off CET helps, it is some mod utilizing CET, not CET issue still.
If you need help with this, join the Discord server linked in readme, this is place for bugs of CET not its mods.


[codemod][FP/FN] nuxt/4/migration-recipe

Faulty codemod

nuxt/4/migration-recipe

Sample code snippets
npx codemod@latest nuxt/4/migration-recipe
Original
npx codemod@latest nuxt/4/migration-recipe
[Error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files]

Expected
No errors

Actual
[Error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files]

Estimated impact
Numbers about your specific codemod run:

Total number of files/instances transformed: 0
Number of files/instances missed by the codemod (FN): All
Number of files/instances mistakenly transformed (FP): 0

Anything else that helps the community prioritize, e.g.:
I'm running the command on Windows 10 under WSL2. I restarted the computer and immediately ran the command in case something else was running interferring. I stopped Docker as well, but I still get the same error.
Logs:
I don't know where the log file(s) are located
Additional context

@kevincam3 You can use --logs to generate an error log file. Can you try again and report back?

I ran this command.  npx codemod@latest nuxt/4/migration-recipe --logs
but I don't see any log file. Where should the log file be saved?

@DmytroHryshyn and I were not able to reproduce this on Mac and Windows. Could it be possibly caused by docker? By the way, we have a Slack community if you want to hop in and get support over chat.

@DmytroHryshyn any idea why the log file is also not being generated or if it should be in some specific location other than the root of the project which is where I am when I run the command.

Video of the attempt in case something visual stands out.
https://drive.google.com/file/d/1hKel3GL7Aukbwy_QOt4C4xz-89dNQPwM/view?usp=drivesdk


Requirements should be checked

The requirements should be checked in the code; what will happen if PHP version is lower that 5.6, does the application fail gracefully? But if OpenSSL is missing or not properly working?

They are verified in Composer. You won't be able to install the package if PHP version is lower than 5.4 or if the OpenSSL and JSON extensions aren't installed.

As @pxgamer says, the Composer is a package installer and it will automatically check composer.json to make sure dependency definitions will be correct.
I think we have to add some codes to check this if we support installing this package without Composer.


Big change to update-balances

This PR is a massive change to the update-balances command. It effects almost all other functions. These changes are more efficient processing of UTXOs, both BCH and SLP. It also incorporates more reliable validation of SLP UTXOs to prevent burning, but using a backup validatator. However, it broke support for testnet.

:tada: This PR is included in version 2.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Distinct functionality allowing to start comments threads for test run (not via review functionality as it is now)

Description (original):
For now we have just a regular text message as result when we received "undefined failure" or "compilation failure" this message will be displayed even after successful rerun.
Globally we want to keep all these messages but looks like we have to define better UI strategy to provide for end user info that this comment was generated for previous run.
Maybe add date for message or disable test  which related to previous runs
Attachments:

UPD 10-15-2019: We'll need to additionally discuss this one.

Let's discuss that in details.

closing as won't fix


Upgrade actions/deploy-pages v1.2.3 -> v2.0.1

This PR contains the following updates:

Package
Type
Update
Change

actions/deploy-pages
action
major
v1.2.3 -> v2.0.1

Release Notes

actions/deploy-pages
v2.0.1
Compare Source
Changelog

Remove deprecated input parameters @JamesMGreene (#156)
Bump prettier from 2.8.6 to 2.8.7 @dependabot (#150)
Bump eslint-plugin-github from 4.6.1 to 4.7.0 @dependabot (#149)
Bump prettier from 2.8.4 to 2.8.6 @dependabot (#147)
Bump eslint-config-prettier from 8.7.0 to 8.8.0 @dependabot (#142)
Bump @vercel/ncc from 0.31.1 to 0.36.1 @dependabot (#103)

🚀 Features

General Repository Improvements @GrantBirki (#155)

🧰 Maintenance

General Repository Improvements @GrantBirki (#155)

See details of all code changes since previous release.
:warning: For use with products other than GitHub.com, such as GitHub Enterprise Server, please consult the compatibility table.
v2.0.0
Compare Source
Changelog

REAPPLY: Update the deployment API endpoints used by the api-client module @TooManyBees / @JamesMGreene (#140)

See details of all code changes since previous release.
:warning: For use with products other than GitHub.com, such as GitHub Enterprise Server, please consult the compatibility table.
v1.2.8
Compare Source
⚠ This release is essentially a revert of v1.2.7 and identical to the prior release v1.2.6.
Changelog

Revert shifted Deployments API endpoint usage @JamesMGreene (#139)

See details of all code changes since previous release.
v1.2.7
Compare Source
Changelog

Update the deployment API endpoints used by the api-client module @TooManyBees (#136)

See details of all code changes since previous release.
v1.2.6
Compare Source
Changelog

Bump eslint from 8.35.0 to 8.36.0 @dependabot (#133)
Bump @actions/http-client from 2.0.1 to 2.1.0 @dependabot (#134)

See details of all code changes since previous release.
v1.2.5
Compare Source
Changelog

Use the @actions/http-client and @actions/github modules for proxy support @JamesMGreene (#124)
Improve name of distributables checking workflow @JamesMGreene (#131)
Bump eslint-config-prettier from 8.6.0 to 8.7.0 @dependabot (#130)
Bump jest from 29.4.3 to 29.5.0 @dependabot (#129)
Bump eslint from 8.34.0 to 8.35.0 @dependabot (#127)
Revise Dependabot rebuild workflow @JamesMGreene (#126)
Deprecate the conclusion parameter for the Action @JamesMGreene (#125)
Bump prettier from 2.8.3 to 2.8.4 @dependabot (#123)
Bump jest from 29.4.1 to 29.4.3 @dependabot (#122)
Bump eslint from 8.33.0 to 8.34.0 @dependabot (#121)
Separate use of Release Drafter @JamesMGreene (#119)
Bump axios from 1.3.0 to 1.3.3 @dependabot (#113)
Bump eslint-plugin-github from 4.3.4 to 4.6.1 @dependabot (#116)
Update rebuilding workflow to utilize an org-owned PAT @JamesMGreene (#115)
Bump nock from 13.2.0 to 13.3.0 @dependabot (#104)
Add a workflow to rebuild the distributables for Dependabot PRs @JamesMGreene (#110)
Remove check for pre/ distributables @JamesMGreene (#109)
Update npm cache usage in test workflow @JamesMGreene (#101)

See details of all code changes since previous release.
v1.2.4
Compare Source
Changelog

Bump axios from 0.24.0 to 1.3.0 @dependabot (#96)
Bump eslint-config-prettier from 8.3.0 to 8.6.0 @dependabot (#99)
Bump eslint from 8.2.0 to 8.33.0 @dependabot (#100)
Bump prettier from 2.4.1 to 2.8.3 @dependabot (#97)
Bump jest from 27.3.1 to 29.4.1 @dependabot (#98)
Add npm to Dependabot update list @JamesMGreene (#95)
Bump json5 from 1.0.1 to 1.0.2 @dependabot (#89)
Bump actions/publish-action from 0.2.1 to 0.2.2 @dependabot (#91)
chore: Use cache in check-dist.yml @jongwooo (#93)
Add Dependabot config for Actions usage updates @JamesMGreene (#90)
Update to PR #82 @JamesMGreene (#83)
Update to latest actions/publish-action @JamesMGreene (#80)

See details of all code changes since previous release.

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

Suggested commit message:
Upgrade actions/deploy-pages v1.2.3 -> v2.0.1


[Tock Studio] remove angular material design lib

You mean move Material components to Nebular, for instance matTooltip to nbTooltip ?

You mean move Material components to Nebular, for instance matTooltip to nbTooltip ?

yes

Dark mode is very convenient to spot Material>>Nebular remaining tasks ;-)

This PR finishes by replacing all Material element occurrences with their Nebular equivalents :
https://github.com/theopenconversationkit/tock/pull/1545


Fix overflow when adding delta

Same as #143, but with a minimal test case.

I'm new to helping out with this project and the general flow of things, but as a general rule of thumb from other projects I find it helpful to have fixes and tests in separate commits. Would you mind if I merge Simon's fix first then this on top of it as test commit? I can handle the rebasing, just asking if that general handling of code changes vs. testing is alright by you.

In HarfBuzz we pretty much always have tests added in the same commit that fixes them/implments the feature they test.

Both are fine to me, your choice! :)

In HarfBuzz we pretty much always have tests added in the same commit that fixes them/implments the feature they test.

Sure, many projects do this and there isn't a hard and fast rule about the right way to do it.
Personally I like the workflow where one can easily git revert <commit id of fix commit> and quickly prove that the test case actually catches the bug it was intended to. With the fix and the test in the same commit one has to manually work out from reviewing the patch something to twiddle to verify the test works. Probably not relevant to this issue, but having the tests available to cherry pick also makes it easier to play around with potential alternative fixes.


Auto indent on enter between curly brackets not work in st3.

View::rowoffset should be View::rowcol in st3.
https://github.com/Microsoft/TypeScript-Sublime-Plugin/blob/master/TypeScript.py#L1412

Fixed in 9da386a.


Add support for AWS ec2 r5a and r5n instance types for Rancher 2.x

What kind of request is this (question/bug/enhancement/feature request):
Feature Request:
Please add support for AWS r5a and r5n instance types (same performance as R5 but with 10% cost savings (for r5a) and with better network throughput (for r5n)).
Other details that may be helpful:
This is the same request as this but for r5a and r5n instance types
gz#15440

For Dashboard (Cluster Explorer), this list is generated dynamically so newer instances types are being grabbed automatically via the Amazon API. I have to track down when this was added within the 2.6.x timeframe but it's been there a while (see screenshots)

For the older UI (2.5.x), we have https://github.com/rancher/dashboard/issues/5205 as a ticket to backport this.
Let me know if you don't see R5A or R5N in the newer UI and let me know what version you're running.

For QA, please validate simply that these instance types are visible in 2.6.7. The backport work can be tracked in the other ticket.

Note: The new instance list is available for RKE2/K3s clusters, but not RKE1, because the RKE1 cluster provisioning UI uses the iFramed Ember page from 2.5.x.

Verified on 2.6.7-rc9
Both r5a and r5n instance types are visible for RKE2 Nodedriver provisioning
Steps to verify:

Bring up Rancher on 2.6.7-rc9
Select Create to create a cluster and select Amazon EC2
Enter Cloud Credentials for Aamazon EC2
Select the dropdown menu for Instance Type, scroll to find r5a and r5n instances


[ERROR] No matching export in "node_modules/.pnpm/@intlify+shared<EMAIL_ADDRESS>for import "create"

Environment

Operating System: Darwin
Node Version:     v22.11.0
Nuxt Version:     3.14.1592
CLI Version:      3.16.0
Nitro Version:    2.10.4
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      default
Runtime Modules<EMAIL_ADDRESS>Build Modules:    -

Reproduction
https://github.com/sumomo015/nuxt-i18n-reproduction

pnpm install
pnpm run dev

Please let me know if any additional information is needed.
Describe the bug
When starting the Nuxt development server, I encounter the following error message:
 [ERROR] No matching export in "node_modules/.pnpm/@intlify+shared<EMAIL_ADDRESS>for import "create"

    node_modules/.pnpm/@intlify+core-base@10.0.5/node_modules/@intlify/core-base/dist/core-base.mjs:6:42:
      6 │ import { getGlobalThis, hasOwn, isNumber, create, isObject, isString, isBoolean, warn, format as format$1, isFunction, isPromise, isArray...
        ╵

This issue occurs while trying to use the i18n module in my Nuxt project.
Additional context
No response
Logs

I was able to avoid the error by setting the following configuration in pnpm:
{
  "pnpm": {
    "overrides": {
      "@intlify/shared": "10.0.5",
      "@intlify/core": "10.0.5"
    }
  }
}

Same issue here.

The same error occurred. I downgraded @nuxtjs/i18n to 8.5.1 as a temporary workaround.
It seems the issue is due to a mismatch in the @intlify/shared version?
https://github.com/intlify/vue-i18n/issues/1637

We found the source of the issue and hopefully it's resolved now, can you try refreshing your lockfiles?
The issue was that the 10.0.5 releases of vue-i18n and intlify dependencies were not tagged as latest but as stable, causing npm to not consider it compatible with the ^10.0.0 version range 🤔


NaN year ago error on iPhone

I'm using a iPhone & it's working on desktop but not iPhone browser it's just showing NaN year ago. Not sure how to debug the mobile browser with vue.js?

You can use safari on Mac to debug in an iOS emulator, I think it's related to an issue with new.Date on iOS, will fix it later. 😳

@egoist Thanks for the quick reply. Is there anyway to show a static value when this isn't working?

Yep, i think it could be fixed.

@egoist Ok cool. I'm also using Iso8601 for the time. Is that the right format to use?

@egoist Changed to RFC2822 formatting & it works now :)

I'm having the same error, it's not clear to me what the fix is @dragonfire1119 @egoist

@jaketoolson Change you formatting time to RFC2822. Example if your using Carbon it would be.
\Carbon\Carbon::now()->toRfc822String();

So will it fix or not?

@Leshgan see the replies above, not really a bug.

Although this isn't technically a bug, I believe this plugin could provide more support for custom date formatting. This could be as simple as accepting a 'dateFormat' parameter (i.e.   dateFormat: date => moment(date, 'YYYY-MM...').toDate()   ).
This would avoid me having to do this nasty fix I've included below for anybody else who comes across the same issue:
import VueTimeago from 'vue-timeago';
Vue.use(VueTimeago, {
	name:    'timeago',
	locale:  'en-GB',
	locales: {'en-GB': require('vue-timeago/locales/en-GB.json')}
});
Vue.component("timeago").options.render = function(h) {
	// this hack allows us to use our existing date formats, converting them briefly beforehand.
	let date = this.since.substr(0, 19);
	date = moment(date, 'YYYY-MM-DD HH:MM:SS').toDate();
	return h(
		'time',
		{
			attrs: {
				datetime: date,
				title: this.timeForTitle
			}
		},
		this.timeago
	);
};

The fix I suggest would be as simple as doing what I've done there but instead checking for the function parameter and using it if existing.
Thoughts? I can prepare a patch if needed.

厉害了


-config raises an error: could not read flags

Running tlsx with custom config path raises an error.
tlsx version:
v1.0.9
Current Behavior:
$ tlsx -u hackerone.com -p 443,8443 -config customcfgdir/config.yaml
[FTL] Could not process: [:RUNTIME] could not read flags <- [:RUNTIME] could not read config file <- EOF

Expected Behavior:
$ tlsx -u hackerone.com -p 443,8443 -config customcfgdir/config.yaml

  _____ _    _____  __
 |_   _| |  / __\ \/ /
   | | | |__\__ \>  <
   |_| |____|___/_/\_\  v1.0.9

                projectdiscovery.io

[INF] Current tlsx version v1.0.9 (latest)
hackerone.com:443
hackerone.com:8443
[INF] Connections made using crypto/tls: 2, zcrypto/tls: 0, openssl: 0

Steps To Reproduce:
$ tlsx -u hackerone.com -p 443,8443

mv ~/.config/tlsx customcfgdir

tlsx -u hackerone.com -p 443,8443 -config customcfgdir/config.yaml

Anything else:

Moved to the https://github.com/projectdiscovery/goflags/issues/115


Using thread-safe version of timeout decorator in a serwer

I've got a server using ThreadingMixIn:
class ThreadingTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
    pass

class RequestHandler(SocketServer.StreamRequestHandler):

    @timeout_decorator.timeout(seconds=5, use_signals=False)
    def handle(self):
        #do some time-consuming stuff

if __name__ == '__main__':
    server = ThreadingTCPServer((server_ip, server_port), RequestHandler)
    server.serve_forever()

When I run the server and a client sending requests to the server, I get the following error:
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/SocketServer.py", line 599, in process_request_thread
    self.handle_error(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 596, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 331, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 652, in __init__
    self.handle()
  File "/usr/local/lib/python2.7/dist-packages/timeout_decorator/timeout_decorator.py", line 132, in __call__
    return self.value
  File "/usr/local/lib/python2.7/dist-packages/timeout_decorator/timeout_decorator.py", line 154, in value
    raise load
TypeError: handle() takes exactly 1 argument (0 given)

Is there something wrong with my code?

You can try my Version, its using wrapt instead functools - it should behave correctly :
https://github.com/bitranox/timeout-decorator
Yours sincerely
Robert


Add value to a new cell does not pick up the cell's style

Now, when I set a value into an originally-blank cell, I understand that a new Cell record is created and inserted into the cells collection.
However, that Cell should pick up the style index of the cell in question.  Currently it doesn't, therefore setting a value into a blank cell will essentially erase all of that cell's styles.
I believe we should look up the style index of that cell, then copy it from the stylesheet by default if a new cell is created.

Test file:
test.xlsx

Setting value:
text1.xlsx

@schungx
Thank you for your report.
We will investigate and make the necessary modifications.

I see in the code that setting a value automatically adds a Cell if one is not there.
However during the creation od that Cell it really should inspect the cell_format of the cell in question and copy the style from the index.

The latest version has been released.
Please confirm that the problem has been fixed.


BUG: Location data recording cadence is unreliable - DHM-S1-14

Minor variatons seen in my first test session, but other users have reported much more significant issues.  Broad issue covering the whole topic,
Here's my intiial report.
https://docs.google.com/document/d/1Uh1A-h7Ddm6t-rAlHOM90xnsrkLEG9SGcTolf3uIbgQ/edit
[DHM-S1-14 - New 454] Gaps between records in the location data were highly variable: 300, 308, 318, even 518 seconds.
I also have this from Chris Wren, which suggests some more severe issues.  His suggestions that we analyze broadly in test is worth following up on.
I noticed that it hasn't been taking up much battery lately, so I dumped my locations and discovered that it hasn't been collecting locations, and also that the exported file is pretty chewed up.  It started recording March 31, 10am when I installed it, then it injected some nonsensical timestamps from March 15, then jumped back to March 31, recorded for a little over a day until April 1, 8pm and then stopped, but continued to record the identical timestamp and geolocation several thousand times until I launched the app on April 10, at which point it recorded one novel point.  Many of the correct samples seem to be duplicated as well, but not all. So lots of issues there. How do you validate the export files? Do you routinely collect exports from the team to make sure they look right, or have some other testing harness? If it's helpful I put my timestamps in a sheet, here's a link.

It would be good to start with a view from Dev on what the expected spec is here?
Should locations be logged every 300 seconds, like clockwork?  Or is some variability expected?
What level of variability should we consider a bug?
I think the behaviour Chris reports is certainly bugged, but we don't know how widespread that is yet.
Once Dev has clarified what counts as a bug, we should probably aim for the test team to collect and analyze more data to assess the frequency of these problems.

Great analysis.  There was significant rework recently in this area ... notably #378 and #422 .  Those will be included in the next beta (0.9.2) which we hope to have out very soon.  Would you please retest on that version?

Should locations be logged every 300 seconds, like clockwork? Or is some variability expected?

We will get a spec with the expected logging written up for you.
There will be a fair amount of variation in the logged intervals, based upon many factors, and it is somewhat complex.  For the most part, if the phone isn't moving significantly, we would expect the logging to be near the 5 minute interval, but can be longer.  After the next patch the logging should never be faster than every 4 minutes.

To state the obvious. The keywords here are "if the phone isn't moving significantly". So you always need to check the inertial sensors for type and duration of movement . I mentioned this here.

Changed title to reflect that this issue is specifically about the cadence of logging, not the location data itself (tracked as another issue).

Just to be clear. When a gps data point is logged, is it using the internal phone clock for time stamp or that of the gps signal? It sound to me that you're using the phone clock, and that processing for this depends on how busy your processor is at the time. Since most people have just about every social network app running at the same time I'm not surprised that there are random lags as to when a data point is actually processed (timestamped).
Unfortunately you  did not allow me any access to the google doc above so...not much to look at.

I have been testing with several users and can contribute more based on v1 installed via the play store.
User 1 - Samsung Galaxy S8
2020-04-25 15:04:21.418000, diff: 331410
2020-04-25 15:12:28.674000, diff: 487256
2020-04-25 15:20:40.598000, diff: 491924
2020-04-25 15:28:17.009000, diff: 456411
2020-04-25 15:34:18.778000, diff: 361769
2020-04-25 16:04:53.095000, diff: 1834317
2020-04-25 16:10:43.065000, diff: 349970
2020-04-25 16:21:26.172000, diff: 643107
2020-04-25 16:27:32.235000, diff: 366063
2020-04-25 16:34:13.883000, diff: 401648
2020-04-25 16:40:07.948000, diff: 354065
2020-04-25 16:45:07.948000, diff: 300000
2020-04-25 16:52:45.428000, diff: 457480
2020-04-25 16:58:46.802000, diff: 361374
2020-04-25 17:04:20.458000, diff: 333656
2020-04-25 17:16:24.900000, diff: 724442
2020-04-25 17:21:55.559000, diff: 330659
2020-04-25 17:33:53.504000, diff: 717945
2020-04-25 17:39:03.866000, diff: 310362
2020-04-25 17:49:30.185000, diff: 626319
2020-04-25 17:57:04.066000, diff: 453881
2020-04-25 18:02:19.389000, diff: 315323
2020-04-25 18:07:22.871000, diff: 303482
2020-04-25 18:13:44.344000, diff: 381473
2020-04-25 18:42:18.335000, diff: 1713991
2020-04-25 19:16:12.716000, diff: 2034381
2020-04-25 19:22:04.617000, diff: 351901
Mean average difference in data point timings: 9.401552976190477 mins
Standard deviation of data point timings: 7.812783252241782 mins
The tester recorded their location for a period of ~4 hours.  On average the location was recorded every 9 minutes instead of 5.  Additionally, travel (by car) took place between 1850 and 1913.
User 2 - Pixel 2
2020-04-25 09:49:08, diff: 527477
2020-04-25 09:54:24, diff: 316000
2020-04-25 10:06:31, diff: 727000
2020-04-25 10:12:01, diff: 330000
2020-04-25 10:21:52, diff: 591000
2020-04-25 10:29:56, diff: 484000
2020-04-25 10:34:56, diff: 300000
2020-04-25 10:45:12, diff: 616000
2020-04-25 10:50:18, diff: 306000
2020-04-25 10:55:19, diff: 301000
2020-04-25 11:00:22, diff: 303000
2020-04-25 11:05:25, diff: 303000
2020-04-25 11:15:04, diff: 579000
2020-04-25 11:22:46, diff: 462000
2020-04-25 11:30:36, diff: 470000
2020-04-25 11:38:39, diff: 483000
2020-04-25 11:43:40, diff: 301000
2020-04-25 11:52:00, diff: 500000
2020-04-25 11:58:40, diff: 400000
2020-04-25 12:03:41, diff: 301000
2020-04-25 12:09:19, diff: 338000
2020-04-25 12:18:42, diff: 563000
2020-04-25 12:28:41, diff: 599000
2020-04-25 12:38:40, diff: 599000
2020-04-25 12:43:40, diff: 300000
2020-04-25 12:48:40, diff: 300000
2020-04-25 12:53:41, diff: 301000
2020-04-25 12:58:43, diff: 302000
2020-04-25 13:05:27, diff: 404000
2020-04-25 13:10:29, diff: 302000
2020-04-25 13:15:29, diff: 300000
2020-04-25 13:25:28, diff: 599000
2020-04-25 13:31:20, diff: 352000
Mean average difference in data point timings: 6.793861274509805 mins
Standard deviation of data point timings: 2.146615253713806 mins
User 3 - Pixel 3a
User has been recording for several days so the full data is not included.  Summary
Mean average difference in data point timings: 6.757129367327668 mins
Standard deviation of data point timings: 2.5519055032182916 mins

Several recent test reports of real-world GPS testng, all massively impacted by this issue & seeing GPS logging lock-ups of up to 8 hours.
https://pathcheck.atlassian.net/wiki/spaces/TEST/pages/24412196/25+April+2020+-+Real-world+GPS+test+1
25 April 2020 - Real world GPS #2
https://pathcheck.atlassian.net/wiki/spaces/TEST/pages/24543370/26+April+-+Real+World+GPS+Test+4

Question: Does this impact iOS as well as Android?
I hope some of the work w.r.t. GPS inaccuracy may end up solving the cadence issue as well.
(Perhaps we should log more frequently (2.5 minutes?) and only save every 5 minutes or upon motion?) Getting a "ping" from accerometer data that the phone is actually moving could help us save power by NOT sampling location when the phone is not moving.)
If anybody who is working on the GPS logging system wants me to assign this issue to them please speak up....

I don't have iOS - I have only analyzed one data set from iOS from Elvira, and it was perfect.  More testing needed, though.
Using accelerometer, we should consider that mobvement & acceleration are not the same thing.  People on e.g. trains may be moving fast with no trigger on the accelerometer.
We may be willing to trade off these cases for the improved battery life - but we should do so consciously.

Using accelerometer, we should consider that movement & acceleration are not the same thing. People on e.g. trains may be moving fast with no trigger on the accelerometer.

Closing this issue out as we have work in-flight to improve both the reliability and accuracy of our location tracking.


Enable automatic project id detection from monitored resources for GAE and GCE.

This also refactors Error Reporting Options and Event Targets to make them more consistent and simple to use.

I created #829 to track your comment.  I think this would make development much smoother with support like this.


ARROW-4983: [Plasma] Unmap memory upon destruction of the PlasmaClient

This PR is used to fix: https://github.com/ray-project/ray/pull/4385#issuecomment-474382400 .

Multiple issues here:

The object supports copy and assign, you probably don't want this (use ARROW_DISALLOW_COPY_AND_ASSIGN).
The fields are not initialized by default, make uint8_t *ptr = nullptr; and size_t length = 0.
What about the file descriptor?
mmap in one class and munmap in the destructor of another class, seems like bad design and an afterthought.

I also note that Client uses LookupOrMmap to create MutableBuffer in PlasmaClient::Impl::Create, all said buffers needs to be reclaimed too.

@fsaintjacques Thanks! I fixed the issues you mentioned and made ClientMmapTableEntry into a C++ class that uses RAII to keep track of the mmaps/munmaps. For 3., the file descriptor is closed as soon as it is received from the store, in the constructor of ClientMmapTableEntry. The MutableBuffers are reclaimed by the same mechanism, they also create ClientMmapTableEntrys that will do the munmaps on destruction (there are in general many buffers per memory mapped region).

The problem with mutable buffer is that they do not extend the lifetime of the mmap-ed pointer. To change this, you could have a custom MutableBuffer that has a shared_ptr<ClientMmapTableEntry> (and also modify the Client class to use shared_ptr instead of unique_ptr`.

@fsaintjacques I changed it to behave similar to the PlasmaBuffer class now, by holding a shared pointer to a PlasmaClient and keeping the client alive this way.

I know this is now merged, but I think it would have been better to link the Buffer to the mmap entry instead of the client, this way you get eager reclamation. Otherwise, one buffer holds all mmap.

@fsaintjacques You are right, however since https://github.com/apache/arrow/pull/3490, most buffers are allocated into a single memory mapped file [*], so it wouldn't help in practice. Unfortunately we still need the mechanism to support multiple memory mapped files since most malloc implementation won't be able to guarantee that there is actually only a single mmaped file, in practice it can happen that there is the large one and then another small one for example.
[*] This has two advantages: 1) it will use the whole memory available. Before, it had a doubling strategy that would lead to only half of the memory being used in the worst case and 2) it avoids that files are mapped and unmapped, which led to performance overheads.


Don't use attributes without names in abstract objects

We have several places where we use attributes without names in abstract objects. For example, we do it with methods:
new-KClW ↦ ⟦
  Φ.org.eolang.int(
    α0 ↦ Φ.org.eolang.bytes(
      Δ ⤍ 00-00-00-00-00-00-00-00
    )
  )
⟧

Φ.org.eolang.int is an attribute without name. This is forbidden. We need to find all the places where we do it and fix them.
This issue blocks normalizer.
Similar to https://github.com/objectionary/opeo-maven-plugin/issues/350

@volodya-lombrozo 2 puzzles #646, #647 are still not solved.

@rultor release, tag is 0.5.1, title is 0.5.1.

@rultor release, tag is 0.5.1, title is 0.5.1.

@volodya-lombrozo OK, I will release it now. Please check the progress here

@rultor release, tag is 0.5.1, title is 0.5.1.

@volodya-lombrozo Done! FYI, the full log is here (took me 13min)

@volodya-lombrozo all 2 puzzles are solved here: #646, #647.


Add lloronarecords.com

I would like to add lloronarecords.com to the list of sites build with tachyons

Added to SITES.md


Create sections for KUDO concepts that have features. Also provides YAML and examples.

[x] Operator
[x] Instance
[x] Plans
[x] Phase
[x] Step
[x] Tasks

[x] Pipe Task
[x] Apply Task
[x] Delete Task

@nfnt @gerred Where are the concepts explained?
This https://kudo.dev/docs/concepts.html gives a blank page. Is it available for reading in Github somewhere? THANKS.

That's weird, we'll need to put a redirect in. Thanks @nrchakradhar - how'd you get linked to here?
https://kudo.dev/docs/what-is-kudo.html#main-concepts is the new page for that.

@gerred Thanks. I was exploring Kudo website as well as GitHub. I saw this issue was related to concepts so thought of checking once here.
Kudo is really very interesting and will try it out. Most of the documentation is really well organised.


Format JSON generated and written to file

Fixes #11493

Codecov Report

Merging #12335 (b19b48b) into main (8115ca7) will increase coverage by 0%.
The diff coverage is 50%.

@@          Coverage Diff           @@
##            main   #12335   +/-   ##
======================================
  Coverage     69%      69%
======================================
  Files        497      497
  Lines      31460    31460
  Branches    4925     4925
======================================
+ Hits       21971    22017   +46
+ Misses      7642     7586   -56
- Partials    1847     1857   +10

Impacted Files
Coverage Δ

src/interactive-window/commands/commandRegistry.ts
35% <0%> (ø)

src/notebooks/export/fileConverter.ts
82% <100%> (ø)

src/standalone/import-export/jupyterExporter.ts
70% <100%> (ø)

src/kernels/kernelDependencyService.node.ts
80% <0%> (-3%)
:arrow_down:

src/notebooks/controllers/kernelRanking/helpers.ts
60% <0%> (-2%)
:arrow_down:

...raw/finder/contributedLocalPythonEnvFinder.node.ts
87% <0%> (-1%)
:arrow_down:

...c/platform/interpreter/interpreterPackages.node.ts
74% <0%> (+<1%)
:arrow_up:

...kernels/jupyter/launcher/jupyterConnection.node.ts
83% <0%> (+<1%)
:arrow_up:

src/platform/api/pythonApi.ts
71% <0%> (+<1%)
:arrow_up:

...otebooks/controllers/controllerPreferredService.ts
72% <0%> (+2%)
:arrow_up:

... and 3 more


ci: add date to re-publish latest channel

Once #377 is in, we should no longer need a dedicated job to republish the latest channel on a release, since that will be triggered on new releases anyway.
https://github.com/FuelLabs/fuelup/blob/ca5aeee5040eb9ed7f4509d670f299fb55507edc/.github/workflows/ci.yml#L269-L307

Closing since #377 is in.


Marker updated when a file skipped

Based on issue #1 I created this PR.
Let me know if there are any side effects on this approach of adding the skipped files the marker.

Looks good, thanks :+1:

are you going to merge it? or there's something worng?

Apologies I meant to merge it in, but must have missed the big green button :)