Microsoft Azure Landing Zone Accelerator

I have worked with Azure on original issue: Microsoft Azure Landing Zone Accelerator.  I completed the entire build and create/verify. Receive message below
RAW
{
"code": "InvalidTemplate",
"message": "Deployment template validation failed: 'The deployment metadata 'SUBSCRIPTION' is not valid.'."
}
=================================================
Regarding issues with the specifics to the Microsoft CAF (73) template
Submit to: https://github.com/Azure/Enterprise-Scale/issues
Original Support Ticket Template Issue:
The Microsoft CAF (73) template link from the Microsoft website pulls directly from the Enterprise-Scale/eslzArm/eslz-portal.json template on this page: Enterprise-Scale/eslz-portal.json at main · Azure/Enterprise-Scale · GitHub.
Microsoft CAF (73) template
Azure Landing Zone (CAF)
https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/landing-zone/
https://aka.ms/caf/ready/accelerator
Same with AdventureWorks | On-premises connectivity with Hub & Spoke
https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FEnterprise-Scale%2Fmain%2FeslzArm%2FeslzArm.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FEnterprise-Scale%2Fmain%2FeslzArm%2Feslz-portal.json
======= On Fri, Oct 21, 2022 at 3:23 PM Tyler W<EMAIL_ADDRESS>wrote: =========
James,
My name is Tyler, and I am one of the Senior Support Engineers working with Gerald providing Microsoft Azure Support. I understand that you are running into some issues attempting to deploy the Azure Landing Zone quick start template from here: What is an Azure landing zone? - Cloud Adoption Framework | Microsoft Learn. I would like to assure you that this issue has been escalated to the highest level of support, in order to get you the best help for this issue. After investigation, and based on the error message you are receiving as well as the lack of preflight calls being made to the ARM deployment layers of Azure, we have determined that the template itself is the likely cause of these issues.
Unfortunately, issues with the template itself do fall outside of the scope of support we are able to offer, as for any issues that require bugfix in the Template or Code in the repo, Microsoft support will redirect the user to file the issue on GitHub. For this template, and most other Azure quick start templates, the easiest and most expedient way to get assistance with the template itself is to raise an issue on the template's GitHub page. The template's creator and contributors can assist with correcting bugs and issues in the template itself. The GitHub page for the Azure Landing Zone template you are using can be found here: GitHub - Azure/Enterprise-Scale: The Azure Landing Zones (Enterprise-Scale) architecture provides prescriptive guidance coupled with Azure best practices, and it follows design principles across the critical design areas for organizations to define their Azure architecture. Once you file an issue there, it will be addressed by the template's maintainers.
I do apologize for the time it took to reach this conclusion. We did want to conduct a thorough investigation in order to be certain that the template itself was causing the issue, rather than any aspect of the Azure architecture or deployment process.
Should you have any further questions or concerns about the information above, please feel free to respond to this email, or let me know a good time and we can connect on a call to discuss.
Thank you,
Tyler Wengert
Support Engineer
Azure | Developer
Working hours: M-F 8:00am – 5:00pm UTC-6
Manager: Gabriel Rael /<EMAIL_ADDRESS>Can’t reach me? Contact Azure Support Backup /<EMAIL_ADDRESS>===================================
I do not see the template creator of Microsoft CAF (73) Template at GitHub - Azure/Enterprise-Scale: The Azure Landing Zones (Enterprise-Scale) architecture provides prescriptive guidance coupled with Azure best practices, and it follows design principles across the critical design areas for organizations to define their Azure architecture for the Azure landing zone accelerator at Microsoft website https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/landing-zone/
Microsoft website executes  https://aka.ms/caf/ready/accelerator

Hi @InfoSphereTechnology,
Thanks for the issue, can you confirm what options/values you are setting in the portal experience so we can try to reproduce it as its not clear on what is being set today and therefore hard to troubleshoot?
Also, when did this last happen or when did you last try the portal experience?
Finally, if you have any correlation IDs please share them 👍
Thanks
Jack

Worked on Azure landing zone accelerator - Microsoft TrackingID#<PHONE_NUMBER>008383
Gerald Biggs
Support Engineer
Azure | Developer
Working hours: M-F 8:00am – 5:00pm UTC-7
Manager: Gabriel Rael /<EMAIL_ADDRESS>correlation IDs
"correlationId": "32e8a5ad-a781-4c72-9ba4-ab4f4f3e200f",
------------------------------------------- RAW Error -----------------------------------------
{
"code": "InvalidTemplate",
"message": "Deployment template validation failed: 'The deployment metadata 'SUBSCRIPTION' is not valid.'."
}
--------------------------------- Deployment settings ---------------------------------------
Azure cloud environment
Azure Cloud
Region
East US
Azure core setup
Resource prefix (Root ID)
CAFLZ
Platform subscription options
Dedicated (recommended)
Customer Usage Selection Options
Enabled
Platform management, security, and governance
Deploy Log Analytics workspace and enable monitoring for your platform and resources
Yes (recommended)
Log Analytics Data Retention (days)
30
Management subscription
Pay-As-You-Go Dev/Test
Deploy Agent Health solution
Yes (recommended)
Deploy Change Tracking solution
Yes (recommended)
Deploy Update Management solution
Yes (recommended)
Deploy Activity Log solution
Yes (recommended)
Deploy VM Insights solution
Yes (recommended)
Deploy Service Map solution
Yes (recommended)
Deploy SQL Assessment solution
Yes (recommended)
Deploy SQL Vulnerability Assessment solution
Yes (recommended)
Deploy SQL Advanced Threat Protection solution
Yes (recommended)
Deploy Microsoft Defender for Cloud and enable security monitoring for your platform and resources
Yes (recommended)
Microsoft Defender for Cloud Email Contact
<EMAIL_ADDRESS>Enable Microsoft Defender for Cloud for servers
Yes (recommended)
Enable Microsoft Defender for Cloud for open-source relational databases
Yes (recommended)
Enable Microsoft Defender for Cloud for AppServices
Yes (recommended)
Enable Microsoft Defender for Cloud for Storage
Yes (recommended)
Enable Microsoft Defender for Cloud for Azure SQL Database
Yes (recommended)
Enable Microsoft Defender for Cloud for SQL servers on machines
Yes (recommended)
Enable Microsoft Defender for Cloud for Key Vault
Yes (recommended)
Enable Microsoft Defender for Cloud for Azure Resource Manager
Yes (recommended)
Enable Microsoft Defender for Cloud for DNS
Yes (recommended)
Enable Microsoft Defender for Cloud for Containers (Kubernetes and Container Registries)
Yes (recommended)
Deploy Microsoft Sentinel
Yes (recommended)
Platform DevOps and automation
Deploy integrated CI/CD pipeline?
Yes
Select CI/CD option
GitHub Actions
GitHub organization or username
InfoSphereTechnology
New GitHub repository name
InfoSphereTechnology
GitHub personal access token

Application name
Network topology and connectivity
Deploy networking topology
Hub and spoke with Azure Firewall
Connectivity subscription
Pay-As-You-Go Dev/Test
Address space (required for hub virtual network)
<IP_ADDRESS>/16
Region for the first networking hub
East US
Enable DDoS Protection Standard
Yes (recommended)
Create Private DNS Zones for Azure PaaS services
Yes (recommended)
Deploy VPN Gateway
No
Deploy ExpressRoute Gateway
No
Deploy Azure Firewall
Yes (recommended)
Enable Azure Firewall as a DNS proxy
No
Select Azure Firewall tier
Standard
Select Availability Zones for the Azure Firewall
Zone 1
Subnet for Azure Firewall
<IP_ADDRESS>/24
Identity
Assign recommended policies to govern identity and domain controllers
Yes (recommended)
Identity subscription
Pay-As-You-Go Dev/Test
Prevent inbound RDP from internet
Yes (recommended)
Ensure subnets are associated with NSG
Yes (recommended)
Prevent usage of public IP
Yes (recommended)
Ensure Azure VMs (Windows & Linux) are enabled for Azure Backup
Yes (recommended)
Create virtual network and connect to the connectivity hub (optional)?
Yes (recommended)
Virtual network address space
<IP_ADDRESS>/24
Landing zones configuration
Connect corp landing zones to the connectivity hub (optional)?
No
Corp landing zone subscriptions (optional)
Online landing zone subscriptions (optional)
Enable DDoS Protection Standard
Yes (recommended)
Prevent usage of Public Endpoints for Azure PaaS services in the corp connected landing zones
Yes (recommended)
Ensure private endpoints to Azure PaaS services are integrated with Azure Private DNS Zones in the corp connected landing zones
Yes (recommended)
Ensure encryption in transit is enabled for PaaS services
Yes (recommended)
Ensure Azure VMs (Windows & Linux) and Azure Arc-enabled servers are being monitored
Yes (recommended)
Ensure Azure VMSS (Windows & Linux) are being monitored
Yes (recommended)
Enable Kubernetes (AKS) for Azure Policy
Yes (recommended)
Prevent privileged containers in Kubernetes clusters
Yes (recommended)
Prevent privileged escalation in Kubernetes clusters
Yes (recommended)
Ensure HTTPS ingress is enforced in Kubernetes clusters
Yes (recommended)
Prevent public IP for Databricks workloads in the corp connected landing zones
Yes (recommended)
Ensure VNet injection is enabled for Databricks workspaces in corp connected landing zones
Yes (recommended)
Ensure Databricks workloads are using the right SKU to ensure enterprise security and Azure RBAC
Yes (recommended)
Ensure Azure VMs (Windows & Linux) are enabled for Azure Backup
Yes (recommended)
Prevent inbound RDP from internet
Yes (recommended)
Ensure subnets are associated with NSG
Yes (recommended)
Prevent IP forwarding
Yes (recommended)
Ensure Azure SQL is enabled with transparent data encryption
Yes (recommended)
Ensure auditing is enabled on Azure SQL
Yes (recommended)
Ensure secure connections (HTTPS) to storage accounts
Yes (recommended)

Hey @InfoSphereTechnology could you try setting this option to "no" and try again.
Platform DevOps and automation
Deploy integrated CI/CD pipeline? - set to "no"
Also to confirm you are unable to actually deploy this at all? Do you have a screenshot of the error and screen you see?
Thanks
Jack

Set CI/CD to 'NO"
Same results 2:20pm EST

RAW
{
"code": "InvalidTemplate",
"message": "Deployment template validation failed: 'The deployment metadata 'SUBSCRIPTION' is not valid.'."
}

Set CI/CD to "NO"  Same results
{"code":"InvalidTemplate","message":"Deployment template validation failed: 'The deployment metadata 'SUBSCRIPTION' is not valid.'."}

Hey @InfoSphereTechnology,
I managed to repro your issue and have worked out what the issue is.
You have selected to use dedicated platform subscriptions

But then you have selected the same subscription for Management, Identity & Connectivity - which is not supported - they must be different subscriptions as per the note above each of the subscription selectors

Please either use dedicated separate subscriptions or select single platform subscription on the Azure core setup blade if you only have 1 subscription:

Thanks
Jack

Thanks I will check the subscription selections. I will reply back after some testing...

AzOps - Pull: All jobs have failed
<EMAIL_ADDRESS>I create all necessary subscriptions - Verified and deployed but failed
Azure landing zone accelerator

Dedicated Platform for: Management, Identity and Connectivity (if not choose "Single")
Landing Zone Subscriptions
Decommissioned Subscription
Sandbox Subscription
See attached failure message

Hey @InfoSphereTechnology,
I think a call may be the best next step to troubleshoot further here as difficult of this chat base method.
Can you email me on jack[dot]tracey[at]microsoft[dot]com and we can look to get something setup soon
Thanks

Hey @InfoSphereTechnology, as discussed let us know how you get on fixing the AzOps SPN issues following the docs here https://github.com/azure/azops/wiki/prerequisites & https://github.com/Azure/Enterprise-Scale/wiki/Deploying-Enterprise-Scale-Platform-DevOps

Closing as stale

ThanksJamesOn Nov 9, 2022, at 12:52 PM, Jack Tracey @.***> wrote:
Closed #1092 as completed.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


What is the datacenter_count?

Given geographical location of of my B2C, e.g. US, how do I determine the datacenter_count in the formula on this page?

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

ID: 2b526157-3403-0211-9fda-9072bda47466
Version Independent ID: f0ab253a-616c-b1ae-62ba-45f6500e69dd
Content: Mitigate credential attacks - Azure AD B2C
Content Source: articles/active-directory-b2c/threat-management.md
Service: active-directory
Sub-service: b2c
GitHub Login: @kengaderdus
Microsoft Alias: kengaderdus

@mrochon
Thank you for your time and patience!
When it comes to datacenter_count, you'll have to reference our Azure global infrastructure documentation, specifically Data Residency, to determine the count for the region you selected.
Additional Link:
Azure AD Architecture - Datacenters.
I've created a PR to update the documentation to make this clearer and will now close out this issue.
Thank you again for your time and patience!

Thanks James but this answer is somewhat imprecise. Visiting a website does not help me to determine value of a variable unless I know what I should be counting on that page. Should I assume that it is the count of the datacenter regions that represents the datacenter_count? I.e. 10 for US?
You may want to include that info in the page. I keep getting questions about that from customers.
From: James Tran-MSFT @.>
Sent: Thursday, March 17, 2022 3:24 PM
To: MicrosoftDocs/azure-docs @.>
Cc: MariusR @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] What is the datacenter_count? (Issue #89964)
@mrochonhttps://github.com/mrochon
Thank you for your time and patience!
When it comes to datacenter_count, you'll have to reference our Azure global infrastructurehttps://azure.microsoft.com/global-infrastructure/ documentation, specifically Data Residencyhttps://azure.microsoft.com/en-us/global-infrastructure/data-residency/#select-geography, to determine the count for the region you selected.
Additional Link:
Azure AD Architecture - Datacentershttps://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-architecture#datacenters.
I've created a PR to update the documentation to make this clearer and will now close out this issue.
Thank you again for your time and patience!
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/89964#issuecomment-1071647474, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAMKCKHYNHEYWQFM5SLJRIDVAOWJ3ANCNFSM5Q43U4UQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Also , this reply conflicts with one provided on internal Identity Community Yammer saying that that https://msit.powerbi.com/view?r=eyJrIjoiYzEyZTc5OTgtNTdlZS00ZTVkLWExN2ItOTM0OWU4NjljOGVjIiwidCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsImMiOjV9 (A PowerBI report) provides that information. According to that page US B2C has 5 locations (data centers?).
From: James Tran-MSFT @.>
Sent: Thursday, March 17, 2022 3:24 PM
To: MicrosoftDocs/azure-docs @.>
Cc: MariusR @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] What is the datacenter_count? (Issue #89964)
@mrochonhttps://github.com/mrochon
Thank you for your time and patience!
When it comes to datacenter_count, you'll have to reference our Azure global infrastructurehttps://azure.microsoft.com/global-infrastructure/ documentation, specifically Data Residencyhttps://azure.microsoft.com/en-us/global-infrastructure/data-residency/#select-geography, to determine the count for the region you selected.
Additional Link:
Azure AD Architecture - Datacentershttps://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-architecture#datacenters.
I've created a PR to update the documentation to make this clearer and will now close out this issue.
Thank you again for your time and patience!
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/89964#issuecomment-1071647474, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAMKCKHYNHEYWQFM5SLJRIDVAOWJ3ANCNFSM5Q43U4UQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@mrochon
Thank you for following up on this and for pointing this out! I've assigned this issue to the author who will investigate and update as appropriate.

@mrochon
datacenter_count is the number of potential data centers your tenant replicates across. It means, expect that the limit you set for a potential lockout might be exceeded and can be threshold_limit * datacenter_count if the attempts evenly lands on datacenter_count data centers.
I hope this helps.

You may want to include information where to find the number of datacenters given a particular geography.
From: Kenga Derdus @.>
Sent: Wednesday, April 20, 2022 4:11 AM
To: MicrosoftDocs/azure-docs @.>
Cc: MariusR @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] What is the datacenter_count? (Issue #89964)
@mrochonhttps://github.com/mrochon
datacenter_count is the number of potential data centers your tenant replicates across. It means, expect that the limit you set for a potential lockout might be exceeded and can be threshold_limit * datacenter_count if the attempts evenly lands on datacenter_count data centers.
I hope this helps.
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/89964#issuecomment-1103810017, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAMKCKARJX2C5777U5RRGNLVF7Q3ZANCNFSM5Q43U4UQ.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@mrochon
We're creating a work item to track your request internally, so, for now, we'll close this work item. #please-close


instanceof type guard fails with a static toString method

TypeScript Version:  3.0.3
Options: --strict --noImplicitAny --noImplicitThis --noImplicitReturns --target="ES2017" --module="CommonJS"
Search Terms: instanceof type guard class "toString"
Code:
declare class Thing { static toString(thing: any): string; } // <!-- here’s the problem
declare class Person extends Thing { name: string; }
declare class Robot extends Thing { serial: number; }

function test(smart_thing: Person|Robot): number {
	if (smart_thing instanceof Robot) {
		return smart_thing.serial // typeof `smart_thing` is Person|Robot,
		                          // and getting `.serial` fails
	} else return 0
}

Expected behavior:
The type of smart_thing should be narrowed to Robot.
Actual behavior:
The type of smart_thing has not been narrowed from Person | Robot.
When the static method Thing.toString is renamed or removed, or its parameter is deleted, the problem goes away.
Playground Link:
TypeScript Playground

What is the code in Person.class.ts and Employee.class.ts?

@andy-ms typical class code. in this reduced example, it could be as simple as this:
// Person.class.ts
export default class Person {
	constructor() {}
}

// Employee.class.ts
import Person from './Person.class'
export default class Employee extends Person {
	id: number;
	constructor(id: number) {
		super()
		this.id = id
	}
}

That reduced example is working when I try it.

@andy-ms Ok so I think I found part of the problem. It weirdly involves a static toString method that takes a parameter, that inherits into each member of the union. It has nothing to do with imports. I've updated my code in the OP and the Playground.

Hey, any movement on this?  I just hit the same issue and it took me quite a while to figure out.  I had an separate fooToString method that I moved into Foo as a static toString and suddenly all my type guards broke.
I couldn't get the OP playground link to work for me, but you can paste this in to see what I mean:
class A {
    public foo: string;
}

class B implements A {
    public foo: string;
    public bar: number;

    static toString(b: B) { return b.bar; }
}

class C implements A {
    public foo: string;
    public baz: boolean;

    static toString2(c: C) { return c.baz; }
}

let x: A;
if (x instanceof B) { console.log(x.bar); }  // .bar is an error because X is still typed as A, not B
if (x instanceof C) { console.log(x.baz); }  // .baz works fine

Note that it's not only an issue when the superclass has a static toString, it's also a problem when one of the subclasses (the one that you're trying to narrow to, if that makes sense) has it.

I'm looking at old bugs for ones that appear to be fixed; all of the snippets in this issue appear to have been fixed from at least 3.3 and up (maybe even older).


Record contract id into abi and manifest files.

Now contract id is used to be storage key for smart contract. However if someone wants to get storage content, he has to invoke RPC method [getcontractstate] to get id. This is very inconvenient for developers to test contracts. My advice is to write id as a parameter into abi and manifest files whenever it's successfully deployed. This is much more conveninet.

It's required only if we want to know it inside the smart contract

It's required only if we want to know it inside the smart contract

Agree, we can convert from scripthash to id in RPC method.
        private JObject GetStorage(JArray _params)
        {
            UInt160 script_hash = UInt160.Parse(_params[0].AsString());
            Int id = GetContractIdByScriptHash(script_hash); // <----   add this line
            byte[] key = _params[1].AsString().HexToBytes();
            StorageItem item = Blockchain.Singleton.View.Storages.TryGet(new StorageKey
            {
                Id = id,
                Key = key
            }) ?? new StorageItem();
            return item.Value?.ToHexString();
         }

@shargon One example:
I'm a nep5 owner. I have some coin A. One day I want to make transaction on cli. I remember my asset_id was A_xxxx, then I found the old contract was updated and destroyed. Then I ask many people. Some one told me the new asset_id is B_xxxx. Then I make transaction again. I finally find I don't have B on my address. And I ask NGD for help. Finally I found the new asset_id for updated A is C_xxxx. However, if I record the id of coin A's sc at first, I will always know which is my asset. Whatever how many times you update nep5 sc, id is always the unique symbol for contract to help people find where it is.

We can add a new RPC command for get this information

getcontractstate can do this.

getcontractstate can do this.

getcontractstate can do this.

Then we don't need to change the core, right?

I just worry about if a contract was updated and the id  was not recorded, how to find the new one.

I think @Tommo-L 's code is enough, it has no impact on the user's use, just adjust the implementation logic of RPC

OK, I'll close this.


Default to Kubernetes 1.24

Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

The upgrade job won’t work until we release 0.13.0. (The current 0.12 release doesn’t support Kubernetes 1.24.)

The Helm jobs will fail because of https://github.com/submariner-io/shipyard/issues/860.

@mkolesnik I’ve addresses your review comments in https://github.com/submariner-io/shipyard/pull/864 (the code you were reviewing was already merged).

I think we want to hold off on this until the lighthouse E2E resource issue 0.24 is resolved.

I think we want to hold off on this until the lighthouse E2E resource issue 0.24 is resolved.

Could you add that as a “request for changes” so it blocks the merge? Thanks! (I can’t do it since this is my own PR.)

Requesting changes until the not-required Consuming Projects / E2E Consuming (admiral, operator, libreswan, 1.24) job is passing.

It's passing now.

@dfarrell07 could you update your review?


Ignore DELETE requests to whipHandler

Hello, I fixed an issue in upstream that you may be interested in, PR.
The reason why there streams listed on the status page that we're not active, was due to OBS sending a DELETE request when the stream is closed, this would have the effect of creating a phantom stream.
This would fix that, so only stream that keys that are actively being streamed to will show up on the status page. Not sure if this would have any knock on effects with some of the patches you created.
Hope this helps
Chase

Hey, thanks for your PR! Sorry I didn't see it earlier, I somehow wasn't getting notifications on my own repo??
This will definitely help me with the status page, I noticed this problem as well! Since your PR got merged upstream, I'll likely just update my main to incorporate any relevant changes to the backend, including your fix here.
Thanks again :D


from_jsonstd::wstring is treated as an array on latest MSVC

What is the issue you have?
When using the get method with a std::wstring/std::u8string etc. the from_json(const BasicJsonType& j, ConstructibleArrayType& arr) instantiation is selected. As the basic_json value is correctly identified as a string, the from_json will throw an error. std::string still works as expected though.
Can you provide a small but working code example?
void Foo()
{
    const auto Test = nlohmann::json::object({ {"String", "String"} });
    assert(Test["String"].is_string());

    try { Test["String"].get<std::wstring>(); }
    catch (const std::exception &e)
    {
        // [json.exception.type_error.302] type must be array, but is string
        printf("%s\n", e.what());
    }
}

Which compiler and operating system are you using?

Compiler: MSVC 16.7.7
Operating system: Windows 7 x64

Which version of the library did you use?

[x] latest release version 3.9.1
[ ] other release - please state the version: ___
[ ] the develop branch

std::wstring is not really supported - for this, we would need code to internally convert a std::string to std::wstring. PRs welcome!
std::u8string is C++20, whereas this library targets C++11.

Ah, sorry about that. Assumed that since #656 there was general support for basic_string conversions. Would the correct way to deal with UTF8 be A or B in this example?
auto J = nlohmann::json::object( { { "String", u8"€" } });
auto A = J["String"].get<std::string>();

The library stores strings internally as std::string and assumes UTF-8 encoding. Anything you put in will be converted to std::string - the encoding is not changed. Anything you get out will just be cast. So (A) would be fine, and (B) would be something comparable to static_cast<std::string>(...).

I also have the same problem. My Json is in wstring for compatibility with Portuguese letters é, Á, ã, ç, etc. It gets automatically casted to std::string and I couldn't find a way around this issue.

@Teles1 Can you share a complete example?

I added an FAQ entry: https://json.nlohmann.me/home/faq/#wide-string-handling

Why not just get/set a wide string as an integer array? Conversion to Utf8 is unreliable. I have seen this fail. Wide strings are used in C++ programs because they can be used with string parsing and modification functions, whereas Utf8 does not work well for this.
We already have a JsonSetString(nlohmann::json, std::wstring) function. Why not just build this into the library, have it 100% working correctly, and be done with it?

Are you sure that's the line that's causing the error?  That error doesn't make any sense there.  type must be array, but is string means that it's actually a string but you're trying to get it as an array, which is not what .get<std::string>() does.

So per my understanding,
Wth the current state of the library, it is impossible to read ŞĞÜİ letters while using the nlohmann json library.
Is this correct ?


##vso[task.uploadfile] does not work (VSTS)

Agent version and platform
vsts-agent-win7-x64-2.109.1.zip

Windows Server 2012 R2

VSTS type and version
VisualStudio.com

If VisualStudio.com, what is your account name? https://axtras.visualstudio.com

What's not working?
File uploads don't appear to work with PowerShell. I'm using VSTS with a local build agent running in interactive mode as administrator.
I have a very basic PowerShell script that runs this:
Write-Host "Uploading C:\TEMP\TestUploadFile.txt"
Write-Host "##vso[task.uploadfile]C:\TEMP\TestUploadFile.txt"
I've used Charles (like Fiddler) and I see at some point the file contents are being passed but I can't find the uploaded file anywhere. This is just a very basic test to upload a local file. In my actual use case, the file will be a large non-txt file, so I can't just output the contents.

## **Agent and Worker's diag log**
Agent_20161222-190332-utc.txt
Worker_20161222-190339-utc.txt

https://github.com/Microsoft/vsts-tasks/blob/master/docs/authoring/commands.md

Upload user interested file as additional log information to the current timeline record. The file shall be available for download along with task logs.
Example:
##vso[task.uploadfile]c:\additionalfile.log

artifact.upload might be what you are looking for

Ah so are you saying it only uploads *.log files?

no you can upload anything, but the way to retrieve it is to click the Download Logs button to download the zip containing the build logs. so it would be useful if your scenario is that you generate additional logs and want to attach them to the same place the rest of the build logs are stored.
otherwise, artifact.upload might be more interesting for you, if you are looking for a quick way to download a file from the artifacts tab after the build completes. also the artifacts can be accessed via the REST API.

Artifact.upload is definitely interesting to me. The problem still exists though I think. I download all logs, and no file exists?  I renamed the file to *.log just in case.
See screenshots. I did a PowerShell tree to just display the downloaded log contents.

I did just test artifact.upload and that does work for file upload, so that's fantastic. Is there any file-upload progress if I were to upload a 1GB file?
I do also want to use task.uploadfile to upload actual log files though. Am I doing it wrong? It just doesn't seem to work.

is there anything in the file, or is it zero bytes?
can you run a build with the variable system.debug set to true. then the agent should print Processed: ##vso... for the command that was processed.
what does your ps1 script look like?

The file I'm trying to upload has data. I've included a screenshot of the PowerShell script, and what's interesting is the line I have commented out worked fine and uploaded the file.
Ignore the part where it says "Uploading C:\Temp\C:\Temp"... as that's just copy/paste error, but the actual line is correct.
With debug set to true it does say Processed

you are right. something is busted. i've got a repro.

i'm not sure right now whether it's a bug on the server or agent. leaving this issue open for now (this repo tracks agent issues, not server).

Ok great. The artifact thing solves my immediate need, so that's good.

@scottdallamura helped me track this down. it's a bug on the server side. i'm going to close the issue here and open a bug. some code in the 2.0 REST API controller is missing in the 3.0 controller.
if you really wanted to, a workaround would be to craft the download URL yourself. if you have a custom script that runs during your build, you could build up the URI yourself using the env vars available at build time.
e.g. https://MY_ACCOUNT.visualstudio.com/MY_PROJECT/_apis/build/builds/1711/logs?$format=zip&api-version=2.0
...1711 is the build ID.

it looks like a small bug so i would expect it either to land in the next release (early jan) or three weeks after that (late jan - early feb)

I don't think I totally follow on the work around. The issue seems to be it's not uploading the local file, so crafting the download URL wouldn't help unless I'm reading it wrong.
My current work-around is just to dump the logs to the console or uploading the artifact. Right now I'm just experimenting/learning anyway so if it's solved in a few weeks, that'd be great.
Thanks for the help!

the log is uploaded and it comes down in the zip when the 2.0 REST API is used to download the logs.
when the 3.0 REST API was created, some code was missed. or it landed in the 2.0 API but wasn't ported to 3.0. or something - somehow it got missed :)
the URL i pasted above explicitly uses the 2.0 API to download the zip. if you try it out on your build, you will see the log in the zip. (you will need to plug in correct values for account, project, and build id).

AH I see what you're saying. So when I upload, it does land there, but just the server-side REST 3.0 API that is returning the ZIP to me isn't pulling the file in to the ZIP it creates.
I'm in no rush, so I'll just sit tight until the fix.

@AlexHimself fyi a fix was merged today for this issue and will roll out with the next deployment (started today and will finish rolling out everywhere over the next week or so)

Wonderful! Look forward to it.


Firmware Downgrade not logged

** Problem **
Firmware version reporting in Grafana does not match TM
** Description **
Car's firmware was downgraded from 12.10 to 12.5 and Grafana is still reporting 12.10
** Solution **
In lib/teslamate/vehicles/vehicle.ex, change:
if normalize_version(last_vsn) < normalize_version(vsn) do
to:
if normalize_version(last_vsn) != normalize_version(vsn) do
Environment

TeslaMate version: 1.19.3
Type of installation: Docker
OS TeslaMate is installed on: N/A
User OS & Browser: N/A

Downgrade car's firmware, I am and perhaps others are curious... was the downgrade done by service center or ?!
Agree that TM likely needs to support firmware downgrade, even if it's rare occasion.  The only case that I wonder... if you were at version A.B.C and upgraded to A.B.D and downgraded back to A.B.C - TM might not support 2 installation occurrences of the same firmware version on 2 different date/time.

Guess it doesn't matter now ... I have a new firmware push from the mothership. But if I take the upgrade, I'm afraid TM will miss this in-between number.

I know I had a tech push a firmware, but they just pushed the same version and that did show.

1
1/26/20 6:11 PM
1/26/20 6:11 PM
2<IP_ADDRESS> ad132c7b057e
1

2
1/31/20 10:49 PM
1/31/20 11:08 PM
2020.4.1 4a4ad401858f
1

3
3/26/20 4:03 PM
3/26/20 4:15 PM
2020.4.1 4a4ad401858f
1

4
3/31/20 5:12 PM
3/31/20 5:43 PM
2020.8.3 7cbc6c4cd1c8
1

5
4/11/20 2:36 AM
4/11/20 2:53 AM
2020.12.5 e2179e0650f0
1

6
5/7/20 9:32 PM
5/7/20 9:41 PM
2<IP_ADDRESS> 81280b81af0a
1


add hyperbolic trigonometric identities and expansions

Hi! I would like to add hyperbolic trigonometric functions and their identities and their exapnsions

@sairish2001 should i work on this?

Go ahead
Deadline 15 April,2021 11:59 PM IST


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

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


Need a mechanism to use getargs for CmdAction(list)

Since CmdAction can take a str or List[str] and also callable that returns the action - can the callable also return a List[str] ? This would be helpful if you wanted to call something without a shell and still wanted to get or construct arguments from other tasks' output.
dodo.py
import logging
import shlex
from typing import List

import doit
from doit.action import CmdAction

DOIT_CONFIG = {
    'verbosity': 2,
    'default_tasks': ['check_results']
}

def task_check_results():
    def check_results(use_foo_bar, use_foo_bar_shlex):
        failed = False

        logging.warning('use_foo_bar = %s', use_foo_bar)
        if use_foo_bar != 'Used "foo bar"':
            failed = True

        logging.warning('use_foo_bar_shlex = %s', use_foo_bar_shlex)
        if use_foo_bar_shlex != 'Used "foo bar"':
            failed = True

        return not failed

    return {
        'actions': [check_results],
        'getargs': {
            'use_foo_bar': ('use_foo_bar', 'stdout'),
            'use_foo_bar_shlex': ('use_foo_bar_shlex', 'stdout'),
        }
    }

def task_echo_foo_bar():
    return {
        'actions': [CmdAction(['echo', '-n', 'foo bar'], shell=False, save_out='stdout')],
    }

def task_use_foo_bar():
    def use_foo_bar(foo_bar: str) -> List[str]:
        return ['echo', '-n', f'Used "{foo_bar}"']

    return {
        'actions': [CmdAction(use_foo_bar, save_out='stdout')],
        'getargs': {
            'foo_bar': ('echo_foo_bar', 'stdout'),
        },
        'uptodate': [False],
    }

def task_use_foo_bar_shlex():
    def use_foo_bar(foo_bar: str) -> str:
        return shlex.join(['echo', '-n', f'Used "{foo_bar}"'])

    return {
        'actions': [CmdAction(use_foo_bar, executable='bash', save_out='stdout')],
        'getargs': {
            'foo_bar': ('echo_foo_bar', 'stdout'),
        },
        'uptodate': [False],
    }

if __name__ == '__main__':
    doit.run(globals())

doit
.  echo_foo_bar
foo bar.  use_foo_bar_shlex
Used "foo bar".  use_foo_bar

.  check_results
WARNING:root:use_foo_bar =

WARNING:root:use_foo_bar_shlex = Used "foo bar"
TaskFailed - taskid:check_results
Python Task failed: '<function task_check_results.<locals>.check_results at 0x7fa6fa918dc0>' returned False

Hmm… related to https://github.com/pydoit/doit/issues/413 - I think, if you put shell=False, then you can return a list!

If this technique can be officially supported (either by fixing #412 or manually setting shell=False) then I think it would be good to document that you can do this!

Ok - so… for this one, given the response to #412 is to document, this one can provide this explicit behavior:
https://pydoit.org/tasks.html?highlight=cmdaction#cmd-action

For complex commands it is also possible to pass a callable that returns the command string. In this case you must explicit import CmdAction.

That can say returns the command string or list (note that you must choose the shell parameter explicitly to agree as it is not inferred by the CmdAction.

You might even put it as a separate use case - i.e. how to template non-shell CmdActions…
(obviously pick a better name for the functions in your example, but this works for me as expected:
def task_use_foo_bar_shell_false():
    def use_foo_bar(foo_bar: str) -> List[str]:
        return ['echo', '-n', f'Used "{foo_bar}"']

    return {
        'actions': [CmdAction(use_foo_bar, shell=False, save_out='stdout')],
        'getargs': {
            'foo_bar': ('echo_foo_bar', 'stdout'),
        },
        'uptodate': [False],
    }

Thanks. sorry but i am a bit lost.
When you give an example, please make sure:

it is minimal, include only what does not work as expected.
no external libs, unless it is essential
indicate with a comment which line is the issue 9if any)
include expected and unexpected output.

Hey… sorry about that, I'm still a little foggy from a fever this holiday season…
I think what I'm encountering, as you can probably tell, is holes in the documentation that I kinda figure out for myself as I write up the feature request or problem report.
This feature request was for a way to use the results from one task in the arguments of another task's action(s).
Apparently, the only way to do that is to use the CmdAction with a function that returns a list, but the documentation only says the function can return a string:
Please just consider this bug a documentation request to describe:
How one can return a list from a function passed to CmdAction as long as they set shell=False and that one useful use-case is when they wish to use or modify values from other tasks in their actions.
This use case was not easy to figure out without exploring how doit worked, and would be nice if there was a documentation stanza to spell it out.

Thanks. sorry but i am a bit lost.
When you give an example, please make sure:

it is minimal, include only what does not work as expected.

I'm confused by this - this is a feature request; aren't examples of how it could work or does work (and could be documented) helpful to the cause?

Maybe (just thinking out loud) the template for Feature Request could make that more clear - I did choose Feature Request from the list of options, so wasn't reporting a "problem" / "issue" / "bug"

Maybe we could sync on slack or whatever after the holidays. We’re considering using doit for a big project that currently has lots of disjoint / untested bash code that I’d like to move to python. I would like to ensure that newcomers can come up to speed with minimal confusion and maybe at some point we can discuss test ability (beyond just the python classes)
I hope you have a wonderful holiday season!

Maybe we could sync on slack or whatever

Sorry. I have very limited "volunteer time" for open source.
So I dont do slack or chat.
If you are interested I do offer paid service/support for doit.


A

Is your feature request related to a problem? Please describe.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

@katyasamarskaya


use LiveServer with host keyword

Implements #506
I've only done the easy part, added the keyword to the function. I've tested it with my laptop and phone and worked well.
I added the new kwarg to the docstrings, should the documentation mention it somewhere?
Drops the support for LiveServer 0.3, and adds for 0.4,0.5. With the compat section updated, makes #507, #508, #509 unnecessary.

Hahaha thanks a lot for that! sorry for guilt-tricking you into coming back here.
This looks like it's exactly what's required, I'll be a bit slower in merging this as I want to be 100% sure of it but thanks  a lot already!


Allows limits to be stored as dates

Changes to summarize_args and ifelse statement in set_view_lim to allow class(xlim) to be Date. Only concern with line 169, accessing the x or y data points using var[1]. Need var = x, but var is [x, x1, x0].
Example:
dates <- seq(as.Date("1970-01-01"), as.Date("1970-01-31"), by="days")
y_vals <- runif(length(dates), min=0, max=100)

gs <- gsplot() %>% points(dates, y_vals, xlab="DATES", ylab="VALUES") # %>% axis(side=c(1,2), at=dates)
gs

Still does not completely fix #125 -- something with axes?

Fixes #109

We'll need Dates/POSIXct/POSIXlt classes (so not just dates). Probably others. Let me think about this....


feat: Update v1.3.0

Summary
Write the summary about this PR.

v1.3.0 배포를 위해 pyproject.toml에 버전 업데이트

Changes
Write changes in detail.

How to Test?
Write a way to test the changes.

Checklist

[ ] Do you pass all the tests?
[ ] Do you write the changes on document such as README?

Codecov Report

Merging #114 (271dc99) into main (24d391d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #114   +/-   ##
=======================================
  Coverage   81.32%   81.32%
=======================================
  Files          24       24
  Lines         589      589
=======================================
  Hits          479      479
  Misses        110      110

Flag
Coverage Δ

unittests
81.32% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Something is up with Twitch embeds

They are not being embedded in the example sites, neither locally or on Netlify.

v5 of Twitch API is deprecated and it seems v6 does not have oEmbed support.
iamcal/oembed#437

xpost https://discuss.dev.twitch.tv/t/oembed-deprecation/24424/3?u=dpi

Should this plugin deprecate Twitch in light of this update from Twitch? It seems, from what I am reading, since their oEmbed functionality wasn’t publicly documented it was quietly deprecated on their end.

The plugin uses the official list over on oembed.com, but it seems that Twitch should be removed from that list and then this project should remove all references to Twitch.
Just makes me so sad that oEmbed support is being dropped.

Would you like to do it @M0nica?
Add a PR for the removal of Twitch at https://github.com/iamcal/oembed and then add a notice in our docs.

I created a PR over in the oEmbed repo iamcal/oembed#495.


css: give logo a white background

The logo is placed on a color gradient. And the colors in the gradient are the same as the colors in the logo. This makes it very hard to recognize the parts of the logo.
Add a white background to the log to make the logo elements visible in the titlebar.
Also add a bit more space between the logo and the text.
Update: And here the PR for the white background of the logo again. But now for the right branch:

This was approved here, but merged against the wrong branch:
https://github.com/aosp-devs/aosp-devs.org/pull/6
Approving and merging since we already got @csimmonds ' approval in https://github.com/aosp-devs/aosp-devs.org/pull/6


PostGIS/GDAL/hdf4: Make unfree szip dependency optional.

Motivation for this change
Make unfree dependency of hdf4 optional. Without this change, PostGIS depends on unfree software unconditionally.
https://github.com/NixOS/nixpkgs/issues/27146
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (Postgres service starts fine)
[x] Fits CONTRIBUTING.md.

@phile314-fh I don't subscribe to the idea that the rest of nixpkgs has reached perfection and I absolutely hate comparison arguments, because they are almost always wrong and uninformed. Your version is particularly annoying, because you just hope you grepped enough.

Hm, GitHub cannot be trusted to reflect the status properly. Remind me why it can be trusted with storing the actual code…

@7c6f434c I understand it's a rhetorical question, but indeed since the SHA-1 break there is no such reason that I am aware of, even assuming they are capable of storing the code correctly. Has anyone asked how they implement their storage layer? I suppose the assumption is that in a popular project there will be backups of the repository on the machines of developers, so it's probably not as good as one would wish.
https://mikegerwitz.com/papers/git-horror-story could help.


[PRE-131] Fix types of BlockHeader fields

Description of the Change
Change type of several elements in BlockHeader from Buffer to Hash256, modify SCALE codec accordingly.

Benefits
Consistency with PRE specification.

Possible Drawbacks
Encoded header takes significantly more space, as a hash is always 256 bit long, while buffer was dynamic.

Codecov Report

Merging #92 into master will increase coverage by 0.19%.
The diff coverage is 98.14%.

@@            Coverage Diff            @@
##           master     #92      +/-   ##
=========================================
+ Coverage    85.9%   86.1%   +0.19%
=========================================
  Files         179     179
  Lines        4896    5066     +170
=========================================
+ Hits         4206    4362     +156
- Misses        690     704      +14

Impacted Files
Coverage Δ

core/primitives/impl/scale_codec_impl.cpp
97.43% <100%> (ø)
:arrow_up:

core/primitives/block_header.cpp
100% <100%> (ø)
:arrow_up:

test/core/primitives/primitives_codec_test.cpp
98.57% <83.33%> (+0.1%)
:arrow_up:

core/libp2p/multi/multiaddress.cpp
87.8% <0%> (-0.9%)
:arrow_down:

core/libp2p/multi/multiaddress_protocol_list.hpp
100% <0%> (ø)
:arrow_up:

test/core/libp2p/multi/multiaddress_test.cpp
100% <0%> (ø)
:arrow_up:

core/libp2p/transport/impl/transport_impl.cpp
100% <0%> (ø)
:arrow_up:

core/libp2p/transport/tcp/tcp_server.cpp
85.41% <0%> (+0.12%)
:arrow_up:

.../libp2p/transport/impl/transport_listener_impl.cpp
85.93% <0%> (+1.32%)
:arrow_up:

core/libp2p/peer/peer_info.cpp
95.91% <0%> (+1.97%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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


sh: 1: mix: not found

Mix: Tried multiple 6,0 versions.
Node: 12.19.0
NPM: 7.6.3
OS: Windows 10
Once again I am having issues with a new version of Laravel Mix.
npm run watch-poll throws a "sh: 1: mix: not found" error.
Fresh Laravel 8.12 installation. Don't have any colons in the folder name, Have tried deleting node_modules, clearing cache and reinstalling via both NPM and Yarn. Have tried updating Laravel Mix to the latest versions.
I'm using --no-bin-links because npm install never works without it.
Laravel 7 and Mix 5 work perfectly fine, in fact after Laravel 8 failed I tried a fresh Laravel 7 installation and had no issues.
{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production"
    },
    "devDependencies": {
        "axios": "^0.21",
        "laravel-mix": "^6.0.6",
        "lodash": "^4.17.19",
        "postcss": "^8.1.14"
    },
    "dependencies": {
        "bootstrap": "^5.0.0-beta2"
    }
}

const mix = require('laravel-mix');

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel applications. By default, we are compiling the CSS
 | file for the application as well as bundling up all the JS files.
 |
 */

mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/bootstrap.scss', 'public/css')
    .sass('resources/sass/app.scss', 'public/css')
    .version();

If I remember correctly, before mix 6 there was no mix command, therefore you maybe just did not encounter an underlaying problem. It is very likely that the problem is not mix specific. As your OS is Win 10 and the error comes from sh it seems you somehow messed up with WSL and cmd/powershell?
I know the issue in general and few of my problems in the past were:

npm install with cmd/powershell but then npm run ... in WSL: The files created in node_modules/.bin are somehow not correct (I think it has to do with linux/windows links and shell-scripts)
check whether node_modules/.bin  is created and you find a mix and mix.cmd and mix.ps1 in it (after npm i from powershell)
run npx mix on your console in your project root, see if that works

Another ugly issue I had was, that somehow node wanted to do something in global installed packages (even though I did install them locally). Then (in good dirty windows manner) there was a file path somewhere in my %USERPROFILE% directory, whereas my username was like "Firstname Lastname" which then caused problems due to the whitespace.
But as I said, to what you wrote that seem not to be mix-related.

The above is correct:

If you npm install on Windows and NPM run in WSL it will not work.
If you use --no-bin-links the .bin folder will usually not be created thus making the npm scripts not work
Windows does not like whitespace in path names + NPM scripts. If you use yarn they've seemed to find a way to work around this problem. You can try using Yarn 1 and see if that also works around your problem.

I have the same problem in Kali Linux node v12.21.0 npm 7.5.2 and running npx mix throws npm ERR! could not determine executable to run

The first anwser here: https://stackoverflow.com/questions/65718391/laravel-npm-command-mix-not-found/65720215#65720215 did work for me.

This has to do with the no bin links on windows and the syntax of the new package.json file. I solved this by doing the following:

open up powershell as admin
navigate to project root
run this command

node c:\<path to node installation>\node_modules\npm\bin\npm-cli.js install --scripts-prepend-node-path=auto

Full answer here:
https://stackoverflow.com/a/67574817/1272667

Closing as there's an answer / workaround.

I have the same issue on MacOs, I use yarn. What's the right way to fix this?

I was able to get around this by bumping laravel-mix, sass-loader, and webpack to their latest versions, detailed here: https://stackoverflow.com/questions/65718391/laravel-npm-command-mix-not-found/65720215#65720215


Running SSIS is not reported as running

Hello yorek,
it seems to me, that when I fire an execution of SSIS package, it is not reported as Running in the Dashboard.
JV

my mistake. I need to execute it from the SQL Server environment, not from BIDev ;-)

:)


Epub generation improved

Description
Epub template fixed
Attach Screenshot

Note 2 code reviewer approval needed. Approach in twitter group & discord channel.

@tolgaerdonmez can you do something about commits?

@proful I couldn't do it, can you lead ?

HI Tolga! I've added a lot of extra stuff to the HBS file. The new one you created for Epub, Is it different than the default hbs file


Mouse scrolling/selection is buggy and clunky

Better to leave task for vscode and find a way to update window screen cursor positions in vim

Should be better in 0.0.12

Still bad


cmd/link: "external linking is forced by" logging disrupts toolstash-check

I ran toolstash-check. Result:
linux-mips64le
linux-mipsle
linux-ppc64
linux-ppc64le
linux-riscv64
linux-s390x
aix-ppc64
android-386
android-amd64
darwin-amd64
dragonfly-amd64
freebsd-386
freebsd-amd64
freebsd-arm
freebsd-arm64
illumos-amd64
ios-amd64
# cmd/buildid
toolstash: linker output differs

inconsistent log line:
/var/folders/1t/n61cbvls5bl293bbb0zyypqw0000gn/T/go-build2025424745/b254/exe/a.out.log:206:
	2021/01/07 19:52:35 external linking is forced by: buildmode=pie
/var/folders/1t/n61cbvls5bl293bbb0zyypqw0000gn/T/go-build2025424745/b254/exe/a.out.stash.log:206:
	2021/01/07 19:52:37 external linking is forced by: buildmode=pie
# cmd/addr2line
toolstash: linker output differs

inconsistent log line:
/var/folders/1t/n61cbvls5bl293bbb0zyypqw0000gn/T/go-build2025424745/b226/exe/a.out.log:278:
	2021/01/07 19:52:36 external linking is forced by: buildmode=pie
/var/folders/1t/n61cbvls5bl293bbb0zyypqw0000gn/T/go-build2025424745/b226/exe/a.out.stash.log:278:
	2021/01/07 19:52:38 external linking is forced by: buildmode=pie
# cmd/cover
toolstash: linker output differs

And lots more of the same.
The change here is the timestamp of the log line. @thanm @cherrymui it'd be nice to fix this. There are several options. (Remove the logging, log that line only at higher verbosity, remove timestamps from that log entry, remove timestamps from all cmd/link logging.) Thoughts?

I guess I would be in favor of removing the timestamps (either from this entry or all entries).  I don't see how the stamp adds much myself.

I guess I would be in favor of removing the timestamps (either from this entry or all entries).  I don't see how the stamp adds much myself.

I also think removing timestamps from all entries makes sense.
Question: how does toolstash-check invoke the linker? Passing -v? The -v flag isn't that useful to debug linker (non)deterministic issues. Maybe it can just stop passing -v.

I also think removing timestamps from all entries makes sense.
Question: how does toolstash-check invoke the linker? Passing -v? The -v flag isn't that useful to debug linker (non)deterministic issues. Maybe it can just stop passing -v.


Fix Pipeline Input for Invoke-DbaAgFailover

Type of Change

[x] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[x] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose

Piping AGs to the Invoke-DbaAgFailover command complains about a missing SqlInstance parameter:
Get-DbaAvailabilityGroup SERVER | Invoke-DbaAgFailover

cmdlet Invoke-DbaAgFailover at command pipeline position 2
Supply values for the following parameters:
SqlInstance[0]:

Approach

Add ParameterSetName attributes to the SqlInstance and InputObject parameters to allow both to work as expected.
Commands to test

The examples in the help work:
# Pipeline
Get-DbaAvailabilityGroup SERVER | Invoke-DbaAgFailover

# No pipeline
Invoke-DbaAgFailover -SqlInstance SERVER -AvailabilityGroup TestAG

Screenshots

Learning

Appreciate the contribution but we prefer to not use parameter sets because we cannot control the error that comes from their general use.
If you'd like to create an bug report (not sure one exists for this already) for what you found is the issue we can discuss in the issue how it can be handled with our code base.

The Mandatory can be removed and we can just allow the user to process nothing - some of our commands do that.
Alternatively, you can remove the Mandatory then do a check in process for either Sqlinstance or InputObject and catch it with a Stop-Function if nothing was passed 👍


Document _internal database schema

The Internal database captures a lot of statistics and data about what is going on with your Influx Instance.  However there is very little if any documentation on what all the tags and fields actually are measuring.  This leads to a lot of confusion from users as to what they should be watching, what is important and what is not.
Please add some documentation on the fields and schema of the internal database

Thanks, Dave (@dp1140a)! There was a start at this previously, but the content is seriously lacking. An enterprise customer also asked today for this information. @ono760 and I are collecting information to provide some useful documentation on the _internal database. Here is a link to the incomplete page (https://docs.influxdata.com/enterprise_influxdb/latest/troubleshooting/internal_statistics/), which will be reviewed, updated, and expanded on.

The /debug/vars endpoint is not listed nor described here:
https://docs.influxdata.com/influxdb/v1.5/tools/api/

The /debug/vars endpoint has been added to the API page as of v1.6.2. Documenting relevant _internal measurements that are made available in the /debug/vars endpoint and content to also appear in upcoming operations guide.

Closing -- documentation on all measurement metrics in OSS and Enterprise added http://docs.influxdata.com/platform/monitoring/tools/measurements-internal/.


Does EasyRepro support "Okta Verify" MFA other than MS Authenticator?

Hi,
This is Vinay Singani and I work for Neptune TG. As part of automating Dynamics 365 CRM application, we really want to use EasyRepro.
We were trying to run a test script and we encountered issue regarding MFA.
When the script was running it took the username/password and then it redirected to "Okta Verify" authentication page.
"MFA Support" listed in the EasyRepro page states it supports MS Authenticator App and we need to feed in the hashkey. But, at Neptune we use "Okta Verify" Authenticator app and not MS Authenticator.
Does anyone in the group who used EasyRepro got a chance to work with MFA like Okta Verify or anything else other than MS Authenticator?
Thanks,
Vinay

singanivinay EasyRepro is working not only with MS Authenticator (e. g. I use Duo app), it just work if you use MS account to login into D365.
You can use any other app when you create MFA on MS site, you should just follow the instruction: https://github.com/microsoft/EasyRepro#mfa-support
Are you using MS account to login into D365?


Config loading doesn't work for struct pointers

This small example will fail with error cannot load config: type kind "struct" isn't supported:
type s1 struct {
	A *s2
}

type s2 struct {
        B string
}

var cfg s1
loader := aconfig.LoaderFor(&cfg, aconfig.Config{
	Files:           []string{"/var/opt/myapp/config.json", "ouch.yaml"},
	FileDecoders: map[string]aconfig.FileDecoder{
		// from `aconfigyaml` submodule
		// see submodules in repo for more formats
		".yaml": aconfigyaml.New(),
	},
})

flagSet := loader.Flags()

if err := loader.Load(); err != nil {
	panic(err)
}

I prepared quick fix and additional test for this case in my fork, but I don't know your ideology for pointers in configs. I guess some note about this limitation should be added to Readme at least If you don't want to fix this behavior

Closed in #65


Add Notifications / Title Bar

In my application, I'm trying to add a Notifications / Title bar to all screens containing Time + Date + Battery.  Currently, after creating the initial screen, I'm adding labels for these features and decreasing the size of subsequent objects so that they appear.
Is there potentially a better way to implement this?

So you have a title bar with a label e.g. 17:38     06-03-2018     78%. Let's say it is 20 px high.
And you wold like to create the content below it. Let's say you have 320x240 screen so for the content 220 px remains.
If I understood well then you can do the following:

Create 1 title bar container (only one not on every screen)
Create 1 content container on every screen.
Set their height and position (20 px and 220 px).
When you load a new screen you can move the title bar there with lv_obj_set_parent(title_bar, new_screen)

Awesome.  I'd assumed I should be using a container for the title bar but hadn't noticed / realized I could move it between screens with lv_obj_set_parent.
Thanks. :+1:

Your welcome!


Button, Label not recognized as such but just as Node so i cannot access settings through script

Godot version
4.1.2-stable, 4.2 beta 3
System information
Godot v4.2.beta3 - Windows 10.0.22621 - GLES3 (Compatibility) - AMD Radeon RX 6800 XT (Advanced Micro Devices, Inc.; 31.0.21031.1005) - Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz (8 Threads)
Issue description
i started to create my GUI using flowcontainers, boxcontainers, etc... but maybe because it make the tree a bit long, it doesn't recognize the nodes at the end of it.
I cannot change the setting of buttons or labels as if i try, it returns an error like they don't exist or they are null something or it doesn't have the function i'm using... through i can still change their setting like position or basic node object propriety.
i hope i'm not using functions or method incorrectly, i even tryed differents one, i tryed delete and recreated the node as well but nothing worked.
Steps to reproduce
just build a tree of flowcontainers, referencerects, boxcontainers, put a button at the end of it and try to disable it via script.

Minimal reproduction project
glitch.zip

That's normal, there's no disable property in Button/BaseButton. It's disabled, with a d. See the documentation: https://docs.godotengine.org/en/latest/classes/class_basebutton.html#class-basebutton
Please use other community platforms for user support, this issue tracker is for bug reports.


Running environment

请问python pytorch cuda sklearn版本分别是多少

I also encountered the same problem, the error is as follows：
ModuleNotFoundError: No module named 'sklearn.neighbors.kd_tree'
Did you solve it?


Allow overriding libicu on MacOS with FFI_ICU_LIB

I compiled ICU 71 rc1 on my macbook and needed to run the ffi-icu tests against it. I feel like FFI_ICU_LIB should work on MacOS too.

Nice! I was facing similar problem. let me try it.

I'm testing it locally and it seems to work, I installed 70.1 with brew, so I get:
irb(main):001:0> ENV["FFI_ICU_LIB"] ="/usr/local/Cellar/icu4c/70.1/lib"
=> "/usr/local/Cellar/icu4c/70.1/lib"
irb(main):002:0> require 'ffi-icu'
=> true
irb(main):003:0> ICU::Lib.version.to_s
=> "70.1"
irb(main):004:0> ICU::TimeFormatting.format(Time.now, skeleton: 'dMMMMyyyyjmm', locale: 'en_US@hours=h24;')
=> "April 1, 2022, 12:08"
irb(main):005:0> ICU::TimeFormatting.format(Time.now, skeleton: 'dMMMMyyyyjmm', locale: 'en_US@hours=h12;')
=> "April 1, 2022, 12:21 PM"
irb(main):006:0>

I believe this PR  Fixes #39

DO IT! ❤


Possible to add an annotation to the NLB?

I'd like to use this for an private only NLB.
Wold it be possible to add a config variable that optionally adds the
 service.beta.kubernetes.io/aws-load-balancer-internal: "true" annotation?

Are you referring to the Helm chart from Flagger repo? https://github.com/weaveworks/flagger/tree/master/charts/appmesh-gateway

Yes.


Remote changes to Lambda code do not trigger update

This is with a TypeScript project using only aws resources, no awsx ones. Pulumi v1.13.0<EMAIL_ADDRESS>Steps:

Make code changes to a Lambda function in the AWS console
Run pulumi up -r

At this point in the "details" it will show that there are differences with the Lambda function, such as lastModified, sourceCodeHash, and sourceCodeSize. Yet the summary says 188 unchanged and if I proceed with the up the remote Lambda changes are not reverted.
For example during the up it shows sourceCodeSize: 2762 => 2764. The state at that time (before proceeding) indeed shows 2762. Proceeding, then checking the state again, the state has updated to 2764, but the remote code is unchanged even though it doesn't match the local code.
During imports of existing Lambdas I recall having to comment out the code key for the Lambda in Pulumi otherwise it would give the import will fail due to it not matching error. I'm guessing that might be related? At the time I figured it was some sort of import limitation.
The only way to get the remote code to update is to update the local code. At that point a change is detected and the local code is successfully pushed to remote.

I confirmed this is still the case today. Repro:
import * as aws from "@pulumi/aws";
import * as pulumi from "@pulumi/pulumi";

const role = new aws.iam.Role("mylambda-role", {
    assumeRolePolicy: aws.iam.assumeRolePolicyForPrincipal({ Service: "lambda.amazonaws.com" }),
});

const policy = new aws.iam.RolePolicy("mylambda-policy", {
    role,
    policy: pulumi.output({
        Version: "2012-10-17",
        Statement: [{
            Action: ["logs:*", "cloudwatch:*"],
            Resource: "*",
            Effect: "Allow",
        }],
    }),
});

const lambda = new aws.lambda.Function("mylambda", {
    runtime: "nodejs18.x",
    code: new pulumi.asset.FileArchive("./app"),
    timeout: 300,
    handler: "bla.js",
    role: role.arn,
}, { dependsOn: [policy] });

I had a chance to revisit this problem today, unfortunately this dangerous behavior appears to be something we are inheriting from upstream TF provider, although I could not find an open issue about it in the 30 or so issues pertaining to source_code_hash.
Consider this program:

data "aws_iam_policy_document" "assume_role" {
  statement {
    effect = "Allow"

    principals {
      type        = "Service"
      identifiers = ["lambda.amazonaws.com"]
    }

    actions = ["sts:AssumeRole"]
  }
}

resource "aws_iam_role" "iam_for_lambda" {
  name               = "iam_for_lambda_anton"
  assume_role_policy = data.aws_iam_policy_document.assume_role.json
}

data "archive_file" "lambda" {
  type        = "zip"
  source_file = "lambda.js"
  output_path = "lambda_function_payload.zip"
}

resource "aws_lambda_function" "test_lambda" {
  filename      = "lambda_function_payload.zip"
  function_name = "lambda_function_name"
  role          = aws_iam_role.iam_for_lambda.arn
  handler       = "index.test"

  # source_code_hash = data.archive_file.lambda.output_base64sha256

  runtime = "nodejs18.x"

  environment {
    variables = {
      foo = "bar"
    }
  }
}

If you do not specify source_code_hash, then TF computes it, but it critically relies on it to detect drift. With a computed source_code_hash it does not detect drift, that is:

terraform apply
edit code in cloud
terraform refresh
terraform apply
observe no changes, program does not match cloud

It appears that prominent examples in TF do recommend to populate source_code_hash in your program. If you do that, you get more reasonable behavior:

terraform apply
edit code in cloud
terraform refresh
terraform apply
diff shown, cloud updated to match local source

You can get that same reasonable behavior in Pulumi if you populate sourceCodeHash, which is the current recommended workaround for this issue:
import * as archive from "@pulumi/archive";
import * as aws from "@pulumi/aws";
import * as pulumi from "@pulumi/pulumi";

const role = new aws.iam.Role("mylambda-role", {
    assumeRolePolicy: aws.iam.assumeRolePolicyForPrincipal({ Service: "lambda.amazonaws.com" }),
});

const policy = new aws.iam.RolePolicy("mylambda-policy", {
    role,
    policy: pulumi.output({
        Version: "2012-10-17",
        Statement: [{
            Action: ["logs:*", "cloudwatch:*"],
            Resource: "*",
            Effect: "Allow",
        }],
    }),
});

const lambdaArchive = archive.getFile({
    type: "zip",
    sourceFile: "lambda.js",
    outputPath: "lambda_function_payload.zip"
});

const lambdaFunc = new aws.lambda.Function("mylambda", {
    runtime: "nodejs18.x",
    code: new pulumi.asset.FileArchive("./app"),
    timeout: 300,
    sourceCodeHash: lambdaArchive.then(lambda => lambda.outputBase64sha256),
    handler: "bla.js",
    role: role.arn,
}, { dependsOn: [policy] });

export const lambdaARN = lambdaFunc.arn;

@corymhall @flostadler brings up we could try auto-computing sourceCodeHash from FileArchive if unspecified; at Pulumi level. This does not immediately appear to have major downsides, so worth trying out.

There were some recent changes to upstream that changed the behavior a little. Now there are two fields that track the source code hash:

source_code_hash (input): This is used to trigger updates and is really no longer a computed value
code_sha256 (output): This is used to store the CodeSha256 value that is part of the function configuration and is computed by the lambda service.

Previously the difficulty was that if you provided the source_code_hash you had to make sure it matched what lambda calculated, otherwise it would create a permanent diff. Now that these are separate fields you no longer need to worry about it. In Pulumi you also do not need to provide sourceCodeHash because pulumi will trigger an update if the code asset changes. You can also provide sourceCodeHash if you want to use it to calculate other scenarios that should cause an update, but it is not needed.
At this point I don't see a path forward since upstream decided to make this change it doesn't seem possible to trigger an update if source_code_hash is different from code_sha256.

Checking up on this @corymhall it looks like the change you mention stays that sourceCodeHash is deprecated but they did not mark it as such in the schema; as a result our code is not marking it deprecated either. Should we consider fixing this for the docs?

it looks like they only deprecated it for the data source not the resource.


vue add typescript, will coverage app.vue file

Version
3.11.0
Environment info

Environment Info:

  System:
    OS: macOS 10.14.6
    CPU: (4) x64 Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
  Binaries:
    Node: 12.8.0 - /usr/local/bin/node
    Yarn: 1.16.0 - ~/.yarn/bin/yarn
    npm: 6.10.2 - /usr/local/bin/npm
  Browsers:
    Chrome: 76.0.3809.132
    Firefox: Not Found
    Safari: 12.1.2
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0
    @vue/babel-plugin-transform-vue-jsx:  1.0.0
    @vue/babel-preset-app:  3.11.0
    @vue/babel-preset-jsx:  1.1.0
    @vue/babel-sugar-functional-vue:  1.0.0
    @vue/babel-sugar-inject-h:  1.0.0
    @vue/babel-sugar-v-model:  1.0.0
    @vue/babel-sugar-v-on:  1.1.0
    @vue/cli-overlay:  3.11.0
    @vue/cli-plugin-babel: ^3.11.0 => 3.11.0
    @vue/cli-service: ^3.11.0 => 3.11.0
    @vue/cli-shared-utils:  3.11.0
    @vue/component-compiler-utils:  3.0.0
    @vue/preload-webpack-plugin:  1.1.1
    @vue/web-component-wrapper:  1.2.0
    typescript: ^3.2.1 => 3.6.2
    vue: ^2.6.10 => 2.6.10
    vue-cli-plugin-typescript: ^0.0.1 => 0.0.1
    vue-hot-reload-api:  2.3.3
    vue-lazyload:  1.2.3
    vue-loader:  15.7.1
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.6.10 => 2.6.10
    vue-template-es2015-compiler:  1.9.1
  npmGlobalPackages:
    @vue/cli: 3.1.3

Steps to reproduce
vue add typescript
What is expected?
can use typescript to write new file, not change the project
What is actually happening?
break change, it cover the app.vue file, which i spend all day to write and not save with git

I assume "coverage" is a mistranslation for "overwritten". This is indeed happening in v3.
In v4, which is in beta, we check wether you have uncommitted changes before actually runnning an generators, so you have the change to abort and keep it from overwriting stuff.
See #4275


No completions when using types outside of the namespace they are defined in.

namespace Game {
    class Player {

        string GetName() {
            return "Name";
        }
    }

    void Test() {
        Player p;
    }
}

Accessing the player variable inside the Game::Test function, correctly offers the GetName method for completion:

However, when using the Game::Player type outside the Game namespace, no completions are offered:

This completion pop-up was forced open by pressing Ctrl+Space. Normally, nothing appears, which might not have been immediately apparent in the screenshot.

Oh, thank you for the report.