text:
Error if applied to subproject

Expected Behavior
Gradle test-resources plugin should successfully apply.
Actual Behaviour
Gradle build fails with error.
Could not resolve all dependencies for configuration ':XXX:testRuntimeClasspath'.
Cannot query the value of extension 'testResources' property 'enabled' because it has no value available.
The value of this property is derived from:
  - extension 'micronaut' property 'version'

Steps To Reproduce

Create new empty project with test-resources:

applicationType: default
defaultPackage: example.micronaut
testFramework: junit
sourceLanguage: java
buildTool: gradle
features: [annotation-api, app-name, data, data-mongodb-reactive, gradle, http-client, jackson-databind, java-application, junit, logback, micronaut-build, netty-server, reactor, reactor-http-client, readme, shade, spring-boot-java, testcontainers, yaml]

Build Gradle project. It builds successfully.

Configure above project as Gradle subproject

Build Gradle project. Error occurs.

Environment Information
OS: Tested on AWS and Windows
Java Version 17
Example Application
No response
Version
3.8.8

I cannot reproduce with Gradle plugin 3.7.10 and Micronaut 3.9.4. If you are still facing this issue, please try to ugprade to the latest Gradle plugin version (3.7.x for Micronaut 3.x) and reopen.
https://scans.gradle.com/s/dnspytqnqhfuk/tests/overview

authors: SenorPez melix


text:
An assembly named 'MockTest' not found

The bug
I try to publish Microsoft_System Application Test Library.app  to my single tenant but I get the error that An assembly named 'MockTest,' is not found.
To Reproduce

Publish Microsoft_System Application Test Library.app  from DVD\Applications\System Application\Test
Publish using the command:
Publish-NAVApp -ServerInstance bc150 -Path "C:\temp\Microsoft_System Application Test Library.app" -SkipVerification

The error
Publish-NAVApp : Extension compilation failed
DotNet%20Aliases/src/dotnet.al(8,14): error AL0451: An assembly named 'MockTest, PublicKeyToken=null' could not be found in the assembly probing paths 'C:\Program Files\Microsoft Dynamics 365 Business Central\150\Service\Add-Ins
, C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\Microsoft Dynamics NAV\Add-Ins\15.0.37898.0, C:\Program Files\Microsoft Dynamics 365 Business Central\150\Service\, C:\WINDOWS\Microsoft.NET\assembly\'
At line:1 char:1
+ Publish-NAVApp -ServerInstance bc150 -Path "C:\Users\gregor.soln\Docu ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Publish-NAVApp], InvalidOperationException
    + FullyQualifiedErrorId : MicrosoftDynamicsNavServer$bc150/nav-systemapplication,Microsoft.Dynamics.Nav.Apps.Management.Cmdlets.PublishNavApp

Other information
I tried to build and publish System Application Test Library from VSC where I get the same error.
Screenshot
The problem is in dotnet, why I am not sure. Do I have to install any components?
https://ibb.co/6nd757t
These are my probpaths in VSC json settings:
    "al.assemblyProbingPaths": [
        "C:\\Program Files\\Microsoft Dynamics 365 Business Central\\150",
        "C:\\Program Files (x86)\\Microsoft Dynamics 365 Business Central\\150",
        "C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2",
        "C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\WindowsPowerShell",
        "C:\\Windows\\assembly"
    ],

I never got any error like that before and I can't find what could solve it.
Versions:

AL Language: 4.0194000
Business Central: Wave2, v15, CU1

You need to place MockTest.dll in the server folder (add-ins) and under one of the probing paths
You can find the assembly on the DVD under Test Assemblies\Mock Assemblies

Thank you very much @nikolakukrika for this hint.

source: gharchive/issue

authors: krregg nikolakukrika

repo: microsoft/AL

license: MIT

license_type: permissive

license_source: github-api


text:
Whse.-Shipment Release - Reopen

In the latest version v16.1 - Microsoft_Base Application_16.1.12629.13149
Codeunit "Whse.-Shipment Release" - Reopen function is missing the call by reference. after the function call the value remains unchanged.
procedure Reopen(WhseShptHeader: Record "Warehouse Shipment Header")  - missing call by reference

Does it really need to be by reference? The caller can Find() the record afterwards. Changing this now would break API/ABI I think.
Do other Release codeunits take by var in their Reopen()s? Does this codeunit in its other methods?

codeunit 414 "Release Sales Document" - procedure Reopen(var SalesHeader: Record "Sales Header")
after the reopen function call, again it has to be fetched from DB to get the latest. so it is better to have reference.

Hi! Please take a minute to read the guidelines for this repository https://github.com/microsoft/AL and our collection of frequently asked questions https://github.com/Microsoft/AL/wiki/frequently-Asked-Questions .
As this repository is only for issues related to the AL compiler in latest developer preview environment for Dynamics 365 Business Central. We suggest that you open a support case or file a bug in Collaborate, to ensure that all Business Central users benefit from your catch as soon as possible.
To open a support case, you can:

Open a support request to CSS through the PartnerSource portal
Contact your Service Account Manager (SAM) in your local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also direct you "step by step" how to open a support request or how to get credentials, if this is the first time for you or your company

If you file the bug in Collaborate, remember to include steps to reproduce the issue, and the Business Central build number and country version you're using.

authors: atoader dtkb selvajo1990


text:
Codeunit 99000757 "Update Prod. Order Cost" - Consider SKU Unit Cost

Dear ALAppExtensions team,
in the entire codeunit, the unit costs of the stockkeeping units are not considered. We need at least the following code and event modifications:
procedure UpdateUnitCostOnProdOrder(var ProdOrderLine: Record "Prod. Order Line"; MultipleLevels: Boolean; UpdateReservation: Boolean)
var
    Item: Record Item;
    ProdOrderComp: Record "Prod. Order Component";
    ReservEntry: Record "Reservation Entry";
    TotalCostQty: Decimal;
    TotalUnitCost: Decimal;
    UnitCost: Decimal;
    ---------------- NEW VARIABLE -----------
    SKU: Record "Stockkeeping Unit";
    -----------------------------------------
begin
    if not Item.Get(ProdOrderLine."Item No.") then
        exit;

    if Item."Costing Method".AsInteger() > Item."Costing Method"::Average.AsInteger() then
        exit;

    ProdOrderComp.SetRange(Status, ProdOrderLine.Status);
    ProdOrderComp.SetRange("Prod. Order No.", ProdOrderLine."Prod. Order No.");
    ProdOrderComp.SetRange("Prod. Order Line No.", ProdOrderLine."Line No.");

    if ProdOrderComp.Find('-') then
        repeat
            TotalCostQty := 0;
            TotalUnitCost := 0;
            Item.Get(ProdOrderComp."Item No.");

            ---------------- NEW CODE --------------
            if SKU.Get(ProdOrderComp."Location Code", ProdOrderComp."Item No.", ProdOrderComp."Variant Code") then
                Item."Unit Cost" := SKU."Unit Cost";
            ----------------------------------------

            if Item."Costing Method".AsInteger() <= Item."Costing Method"::Average.AsInteger() then begin
                ReservEntry."Source Type" := DATABASE::"Prod. Order Component";
                ReservEntry.InitSortingAndFilters(true);
                ProdOrderComp.SetReservationFilters(ReservEntry);
                if ReservEntry.Find('-') then
                    SumTrackingCosts(ReservEntry, TotalUnitCost, TotalCostQty, MultipleLevels, Item);
                ProdOrderComp.CalcFields("Reserved Qty. (Base)");
                TotalUnitCost :=
                  TotalUnitCost +
                  (Item."Unit Cost" *
                   (ProdOrderComp."Expected Qty. (Base)" - ProdOrderComp."Reserved Qty. (Base)"));
                TotalCostQty :=
                  TotalCostQty +
                  (ProdOrderComp."Expected Qty. (Base)" - ProdOrderComp."Reserved Qty. (Base)");
                if TotalCostQty <> 0 then begin
                    UnitCost := TotalUnitCost / TotalCostQty * ProdOrderComp."Qty. per Unit of Measure";
                    if ProdOrderComp."Unit Cost" <> UnitCost then begin
                        ProdOrderComp.Validate("Unit Cost", UnitCost);
                        ProdOrderComp.Modify();
                    end;
                end;
            end;
        until ProdOrderComp.Next = 0;

    ProdOrderLine.CalcFields(
      "Expected Operation Cost Amt.",
      "Total Exp. Oper. Output (Qty.)",
      "Expected Component Cost Amt.");

    if ProdOrderLine."Total Exp. Oper. Output (Qty.)" <> 0 then
        ProdOrderLine."Expected Operation Cost Amt." :=
          Round(
            ProdOrderLine."Expected Operation Cost Amt." /
            ProdOrderLine."Total Exp. Oper. Output (Qty.)" *
            ProdOrderLine.Quantity);

    ------------- MODIFY EVENT--------------
    -------------- OLD CODE ----------------
    OnUpdateUnitCostOnProdOrderOnBeforeValidateUnitCost(ProdOrderLine);
    -------------- NEW CODE ----------------
    OnUpdateUnitCostOnProdOrderOnBeforeValidateUnitCost(ProdOrderLine, MultipleLevels, UpdateReservation);
    ---------------------------------------

    ProdOrderLine.Validate(
      "Unit Cost",
      (ProdOrderLine."Expected Operation Cost Amt." + ProdOrderLine."Expected Component Cost Amt.") / ProdOrderLine.Quantity);

    ------------- MODIFY EVENT--------------
    -------------- OLD CODE ----------------
    OnUpdateUnitCostOnProdOrderOnAfterValidateUnitCost(ProdOrderLine);
    -------------- NEW CODE ----------------
    OnUpdateUnitCostOnProdOrderOnAfterValidateUnitCost(ProdOrderLine, MultipleLevels, UpdateReservation);
    ---------------------------------------

    ProdOrderLine.Modify();
    if UpdateReservation then begin
        ReservEntry.Reset();
        ReservEntry."Source Type" := DATABASE::"Prod. Order Line";
        ReservEntry.InitSortingAndFilters(false);
        ProdOrderLine.SetReservationFilters(ReservEntry);
        if ProdOrderLine."Qty. per Unit of Measure" <> 0 then
            UnitCost := Round(ProdOrderLine."Unit Cost" / ProdOrderLine."Qty. per Unit of Measure", 0.00001)
        else
            UnitCost := ProdOrderLine."Unit Cost";
        if ReservEntry.Find('-') then
            repeat
                ModifyFor(ReservEntry, UnitCost);
            until ReservEntry.Next = 0;
    end;
end;

------------- MODIFY EVENT--------------
-------------- OLD CODE ----------------
[IntegrationEvent(false, false)]
local procedure OnUpdateUnitCostOnProdOrderOnAfterValidateUnitCost(var ProdOrderLine: Record "Prod. Order Line")
begin
end;
-------------- NEW CODE ----------------
[IntegrationEvent(false, false)]
local procedure OnUpdateUnitCostOnProdOrderOnAfterValidateUnitCost(var ProdOrderLine: Record "Prod. Order Line";MultipleLevels: Boolean; UpdateReservation: Boolean)
begin
end;
---------------------------------------

------------- MODIFY EVENT--------------
-------------- OLD CODE ----------------
[IntegrationEvent(false, false)]
local procedure OnUpdateUnitCostOnProdOrderOnBeforeValidateUnitCost(var ProdOrderLine: Record "Prod. Order Line")
begin
end;
-------------- NEW CODE ----------------
[IntegrationEvent(false, false)]
local procedure OnUpdateUnitCostOnProdOrderOnBeforeValidateUnitCost(var ProdOrderLine: Record "Prod. Order Line";MultipleLevels: Boolean; UpdateReservation: Boolean)
begin
end;
---------------------------------------

Thank you for reaching out. Your request could be reporting a product bug partially related to the AL extensibility. In order to complete this fix we need to add some automated tests verifying the new behavior.
Please reach out to the relevant support channels as specified in Product Support
On premises - https://support.microsoft.com/en-us/supportforbusiness/productselection?sapId=93d37907-ad94-d591-22e9-593cfa09dd3f
On line – read more here https://docs.microsoft.com/en-ca/dynamics365/business-central/dev-itpro/administration/manage-technical-support or contact your partner
If you are a partner open a support incident through Partner Center - https://partner.microsoft.com/en-us/pcv/dashboard/overview

authors: EnricoAlbrecht StanPesotskiy

repo: microsoft/ALAppExtensions


text:
[Event Request] OnBeforeAddItems on Purchase and Sales Lines

Hi ALAppExtension Team,
We would like to extend the functionality of already existing events in the purchase and sales lines to be like this:

Before for Sales Line:
    [IntegrationEvent(false, false)]
    local procedure OnBeforeAddItems(var SalesLine: Record "Sales Line")
    begin
    end;

After for Sales Line:
    [IntegrationEvent(false, false)]
    local procedure OnBeforeAddItems(var SalesLine: Record "Sales Line"; SelectionFilter: Text)
    begin
    end;

Before for Purchase Line:
    [IntegrationEvent(false, false)]
    local procedure OnBeforeAddItems(var PurchaseLine: Record "Purchase Line")
    begin
    end;

After for Purchase Line:
    [IntegrationEvent(false, false)]
    local procedure OnBeforeAddItems(var PurchaseLine: Record "Purchase Line"; SelectionFilter: Text)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


text:
Data Exchange Field Mapping Bug

Hi, I've noticed a little Bug in Data Exchange Field Mapping.
If you go to a Data Exchange definition Card and use the action "Field Mapping".

If you mark the boolean "Use as Intermediate Table" and you try yo map a field with a large caption it throws an error (for example the field 93 from table 37).

It could be a mess with the table relation and the field length.
Thanks.

Thank you for reaching out. Your request could be reporting a product bug not related to the AL application extensibility. Please reach out to the relevant support channels:

For collaboration in preview or beta versions of AL Language in Visual Studio Code (aka ModernDev), use GitHub (https://github.com/microsoft/al).
For Microsoft partners, for versions already in general availability and supported, file requests through Microsoft Partnersource (https://mbs.microsoft.com/partnersource/).
For ISVs/VARs who have discovered a bug in a in preview or beta version, use MS Collaborate (https://docs.microsoft.com/en-us/collaborate/).
For Business Central customers who have issues or found bugs, please contact your Microsoft partner.
For the new features please submit a product suggestion on https://aka.ms/bcideas


text:
[Event Request] table 7320 "Warehouse Shipment Header" - OnAfterCalcAreWarehouseShipmentLinesEditable

We would like to add a new event OnAfterCalcAreWarehouseShipmentLinesEditable and a new procedure:
procedure CalcAreWarehouseShipmentLinesEditable() IsEditable: Boolean;
begin
    IsEditable := true;
    //A113F0000.Event.ns

    OnAfterCalcAreWarehouseShipmentLinesEditable(Rec, IsEditable);
    //A113F0000.Event.ne
end;

Event Signature:
[IntegrationEvent(false, false)]
local procedure OnAfterCalcAreWarehouseShipmentLinesEditable(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var IsEditable: Boolean)
begin
    //A113F0000.Event
end;

Function CalcAreWarehouseShipmentLinesEditable does not exist

It is not clear what is the purpose of new procedure and new variable IsEditable which we don't have. If you have good justification, please create new request with additional information.

authors: AlexanderYakunin Duizy05 Oleg-Romashkov


text:
Record already exists error when selecting a default profile for a new user group

Problem
When creating a new user group in User Groups (9830, List) and selecting a default profile from the lookup. The error occurs even when changing line before selecting the default profile (and triggering the delayed insert). The only way to avoid this error is by creating the new user group, close the user groups page and then assign a default profile.

When pressing OK, the new user group ends up with no profile. Sometimes the page even shows a duplicate record below/above the new user group.
Expected behavior
Users should be able to select a default profile when creating a new user group and should not have to first close the list page and then open the list page again to then be able to assign the default profile.
The image above is a screenshot of the error from a sandbox without any extensions beside the ones installed by Microsoft.
Version: AU Business Central 19.3 (Platform 19.0.34506.35781 + Application 19.3.34541.34662)

This repository is mostly for creating event requests.
If you have access you should create a support request on the partner portal
https://partner.microsoft.com/en-US/dashboard/support/servicerequests/create?stage=1

Thank you for reaching out. Your request could be reporting a product bug not related to the AL application extensibility. Please reach out to the relevant support channels:
For collaboration in preview or beta versions of AL Language in Visual Studio Code (aka ModernDev), use GitHub (https://github.com/microsoft/al).
For Microsoft partners, for versions already in general availability and supported, file requests through Microsoft Partnersource (https://mbs.microsoft.com/partnersource/).
For ISVs/VARs who have discovered a bug in a in preview or beta version, use MS Collaborate (https://docs.microsoft.com/en-us/collaborate/).

authors: AlexanderYakunin RodrigoPuelma pri-kise


text:
[Extensibility Request] Default Dimension as columns in Config. Package

Describe the request
In codeunit "Config. XML Exchange"
I Suggest renaming this function GetDefaultDimensionKeyFieldIdFromTable and adding the event at the end of the function OnAfterGetDefaultDimensionKeyFieldIdFromTable(TableID: Integer; var ResultFieldId: Integer)
Additional context
If the table has a default dimension we need to subscribe to the one event Config. Management OnAfterIsDefaultDimTable
But it's not enough when Default Dimension is mapped by the not first key field because in codeunit "Config. XML Exchange" function GetPrimaryKeyFieldNumber returns the first key fieldid.
We need it for tables that have an assigned Default Dimension, but where the assigned field with code[20] is not the first primary key. For example, we have a table with a GUID primary key and use a non-primary unique field(with type code[20] ) to link the default dimension.
Internal work item: AB#554765

Adding a comment here, please doublecheck if the XML exchange is used for both Excel and the .RsFiles. If we implement the extensibility it should work for both Rapidstart files.

@nikolakukrika  yes, it will work for both

authors: nikolakukrika vlkov


text:
[Enum Request] Table 27 Field 5419 "Replenishment System"

Please implement Field 5419 "Replenishment System" in table 27 and others (5700, as enum
Field 99000903 "Replenishment System"  in table 246  as well

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

authors: GuntherGebauer bc-ghost


text:
[Event Request] Page::"Apply Customer Entries" - Function CalcApplnAmount - OnCalcApplnAmountOnCalcTypeGenJnlLineOnApplnTypeToDocNoOnBeforeSetAppliedAmount

We like to request the following Event:
Object: Page::"Apply Customer Entries"
Function: CalcApplnAmount
Publisher Event: OnCalcApplnAmountOnCalcTypeGenJnlLineOnApplnTypeToDocNoOnBeforeSetAppliedAmount
Reason: To implement custom business logic
Where is the event placed:
with AppliedCustLedgEntry do begin
CalcFields("Remaining Amount");
if "Currency Code" <> ApplnCurrencyCode then begin
"Remaining Amount" :=
CurrExchRate.ExchangeAmtFCYToFCY(
ApplnDate, "Currency Code", ApplnCurrencyCode, "Remaining Amount");
"Remaining Pmt. Disc. Possible" :=
CurrExchRate.ExchangeAmtFCYToFCY(
ApplnDate, "Currency Code", ApplnCurrencyCode, "Remaining Pmt. Disc. Possible");
"Amount to Apply" :=
CurrExchRate.ExchangeAmtFCYToFCY(
ApplnDate, "Currency Code", ApplnCurrencyCode, "Amount to Apply");
end;
OnCalcApplnAmountOnCalcTypeGenJnlLineOnApplnTypeToDocNoOnBeforeSetAppliedAmount(Rec, ApplnDate, ApplnCurrencyCode);
if "Amount to Apply" <> 0 then
AppliedAmount := Round("Amount to Apply", AmountRoundingPrecision)
else
AppliedAmount := Round("Remaining Amount", AmountRoundingPrecision);
Event Code:
[IntegrationEvent(false, false)]
local procedure OnCalcApplnAmountOnCalcTypeGenJnlLineOnApplnTypeToDocNoOnBeforeSetAppliedAmount(var AppliedCustLedgEntry: Record "Cust. Ledger Entry"; ApplnDate: Date; ApplnCurrencyCode: Code[10])
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

authors: acadonAG-dev bc-ghost


text:
[HtmlRenderer][Columnset] Column set is overflowing when using time input, text box and time input for width 344px

Platform
What platform is your issue or question related to? (Delete other platforms).

.NET HTML

Author or host
Are you an author (like sending something to Outlook), or a host that is rendering your own cards?
If you're an author, who are you sending cards to?
Version of SDK
What version are you using? Ex: NuGet 1.0.2, or latest master, etc...
v 1.0
Issue
I am using [time input][textbox][time input] in column set. When you reduce the width of the browser to 344px, it is overflowing. Attaching JSON for this. Issue is in HTML renderer
ColumnSetOverflow.txt

The .NET HTML renderer is deprecated and no longer under active development

repo: microsoft/AdaptiveCards


text:
Set up boilerplate for the new implementation in a new branch: 'next'

In order to create the base upon which the 2.x implementation will be built, we need a basic set of boilerplate configs and repository setup that has worked for us previously and continues to do so today. We will do so in a new branch to not disturb the default branch's appearance until we are ready to switch over.
The boilerplate will include things like .gitignore, Jest configuration for unit testing, linting via ESLint, etc.

Closing, as was done in #28.


text:
Host JS snippet at the ASPNET CDN

Hi guys,
we are using of AI for clients side telemetry and the domain which hosts the JS snippet looks a little suspicious ("https://az416426.vo.msecnd.net/scripts/a/ai.0.js"). Every time when I configure our security header I'm worry that the script can be removed to some other place, because this one doesn't look to be very solid.
Can you please put it for ASPNET CDN (for example):

it will makes things much easier when we configure security headers (ASPNET CDN is allowed in the most case);
also there can be bonus in performance on loading (not sure that it is very important since in most case it will be cached on client side);

I'm aware that this URL may not look like it's the official one, but it is 😃.  And since it's referenced in the snippet and most of our customers are using it, it's hard to change it and we have to support it.
Regarding *2 - the URL is pointing to Azure CDN which helps to distribute the script fast. So the performance gain from using the ASPNET CDN will be minimal. Most probably you can save one DNS call if you're loading other scripts from ASPNET CDN.
We will consider uploading the ai.0.js file to ASPNET CDN and changing the snippet code. But even after that, we will have to support both locations because we cannot guarantee that all users will update to the latest snippet.

CDN Deployment rolled back due to #1452

CDN Deployment rolled back due to #1452

Re-closing now that 2.5.11 is fully released

Re-closing now that 2.5.11 is fully released

authors: AKachan0v KamilSzostak MSNev

repo: microsoft/ApplicationInsights-JS


text:
Improving pre-aggregated Standard Metrics in SDK

Background read: https://docs.microsoft.com/en-us/azure/azure-monitor/app/pre-aggregated-metrics-log-metrics
The UI screenshots in this post are from Metric Explorer.
The default configuration of SDK (when used with Web, AspNetCore or WorkerService nugets) adds a special telemetry processor called AutocollectedMetricsExtractor before sampling processors. This processor inspects every Request and Dependency telemetry items, and aggregates them with key dimension. This pre-agg metric is sent to Application Insights once every min, and are available to query under StandardMetrics->Server in metric explorer.
As this metric is calculated before sampling, these metrics are superior in terms of accuracy.
There are 5 standard metrics which are populated from the above.

They are:
Dependency Calls - Count of dep calls.
Dependency duration - Duration of dep calls
Server request - Count of incoming Server request
Server response time - Duration of Server requests
Server request rate - Derived metric from server request count showing requests/sec.
As explained in the docs, these counters are sent with certain key dimensions only. (instead of entire dimensions available in log-based metrics). In UI, these dimensions allow splitting the metric chart, and Alerting allows alerting based on these dimensions.
For Requests, currently the only dimension populated by SDK is 'successful request', even though the UI lists 6 dimensions.

For Dependencies, SDK populates dimensions Dependency type and Sucessful call, though UI lists 6 dimensions.

As SDK pre-aggregation did not add all the dimensions supported in UI, it was not possible to split the charts using these dimensions. (eg: it is not possible to split based on cloudRoleInstance)
We plan to improve the metric experience for the Standard Metrics, by adding more dimension to the SDK pre-aggregators.
This will be done in several steps:
1 Add dimensions which are low/fixed cardinality like  CloudRoleName, CloudRoleInstance, Dependency/Request performance, real/synthetic. Users will be allowed to pick a max limit to the number of values for these. (similar to MaxDependencyTypesToDiscover)

Add dimensions like OperationName, DependencyName which can potentially be high cardinality. We'll provide option for user to configure this. For example, user could say configure a regex on the OperationName before applying it as a dimension. (these needs to designed)

Allow users to add any custom dimensions. (this also need to be designed)

#1 is planned to be addressed soon (in 2.12.0 version of SDK (to be released as stable by end of year, with betas before)
#2, #3 will follow later. (no ETAs)
Please note that, as mentioned in the doc (https://docs.microsoft.com/en-us/azure/azure-monitor/app/pre-aggregated-metrics-log-metrics#why-is-collection-of-custom-metrics-dimensions-turned-off-by-default), the dimension collection is "opt-in" in portal.

@DawgFan

Dependency.Target and Dependency.ResultCode are additional being enabled in backend, hence SDKs should also add them as dimensions.

2.12.0-beta2 shipped with the following pre-aggregated standard metrics:
"Server response time" with dimensions:
"Request.Success"
"cloud/roleInstance"
"cloud/roleName"
"request/resultCode"
"request/performanceBucket"
"operation/synthetic"
“Dependency duration” with dimensions:
"Dependency.Success"
"cloud/roleInstance"
"cloud/roleName"
"Dependency.Type"
"dependency/target"
"operation/synthetic"
"dependency/performanceBucket"
Addditional metric are generated from the above by the back end, leading the following full list of metrics:

Closing this as the original requirements are met. We'll create new issue to track adding more user-defined dimensions.

repo: microsoft/ApplicationInsights-dotnet


text:
Randomly, Application Inspector analysis never ends.

Describe the bug
We have experienced sometimes, apparently random, that applications inspector analysis stucks the machine (we think maybe it is a memory problem) and never ends. We always pass to the cli the argument --process-timeout, but in this cases the execution never ends. What do you think it's going on? Thanks for the help.
Expected behavior
The execution of an analysis always respects the process-timeout param time.
Additional context
It happens when execute the application inspector inside a github or a bamboo workflow.

Hey there,
Sorry you're having trouble. I have some questions that might help me figure the issue.

What is the full command line argument you're using?
Approximately how many files/what language is what you're scanning? If it's open source and you can link me to it that's even better.
what is the console output when it stalls?

Hi @gfs

The full command line is like ./ApplicationInspector.CLI analyze -s . -g **/rulesFolder/**,**/.github/actions/**,**/node_modules/**,**/.git/**,**/target/**,**/package-lock.json,*.mock*,*.jpg,*.png,*.gif,*.woff,*.woff2,*.svg,*.ttf -f json --processing-timeout 600000 -o result.json -A -c high,medium,low -u -r rulesFolder -i -M 20
The analyzed projects are not open source, sorry. For example, we get the next results with a project that sometimes has the error:
"totalFiles": 19002, "filesTimedOut": 0, "filesAnalyzed": 2322, "filesSkipped": 16680, "filesAffected": 1627, "filesErrored": 0, "totalMatchesCount": 116, "uniqueMatchesCount": 9

"fileExtensions": [       "",       "afm",       "aliases",       "api_description",       "BridgeExtension",       "cat",       "cpp",       "css",       "DatatypeFactory",       "def",       "DocumentBuilderFactory",       "DomExtension",       "DOMImplementationSourceList",       "driver",       "Driver",       "dtd",       "ecore",       "escaped",       "exsd",       "genmodel",       "gitattributes",       "gitignore",       "gperf",       "htm",       "html",       "inf",       "ini",       "InterpreterFactory",       "java",       "jj",       "jjt",       "js",       "json",       "jsp",       "list",       "Logger",       "mappings",       "mdl",       "MF",       "mod",       "options",       "permissions",       "policy",       "profile",       "properties",       "ps",       "rels",       "res",       "rng",       "rptdesign",       "SAXParserFactory",       "SchemaFactory",       "SF",       "snyk",       "SquiggleInputHandler",       "tld",       "txt",       "xdt",       "xmi",       "xml",       "xsd",       "xsd2ecore"     ],     "cloudTargets": [],     "CPUTargets": [],     "languages": {       "build.xml": 1,       "cpp": 1,       "html": 263,       "java": 751,       "javascript": 10,       "json": 2,       "pom.xml": 3,       "Unknown": 1291     },

There is no output when it happens, so we don't get even the "Analyze command running" message.

Thanks for the extra info.
I'll take a look today.

I do not have the custom rules you have so I cannot validate if it's a problem with those in particular.
I have tested the overall timeout with files that I have and it seems to work fine locally.  You seemed to indicate that this is just a CI issue so it looks like I need to test in a github workflow too.
Once issue I have noticed is that currently if you are using the progress bar (default) the message that time out has occurred wont be visible.
Have you tried with --no-show-progress?  It might be the case that the progress bar display does not work well in a CI environment - it is designed for interactive use.
I also have a PR which will improve the output you get if you hit a timeout: #437.

Hi there. I have some additional follow up questions:

Do you only see this with your custom rules or with default application inspector rules too?

Does the timeout work if you set it very low? For example a 1 ms timeout should instantly stop.

Do you only see this in CI environments or also when running locally?

Hi, we are going to try the new version with the improved logs and I will reply to you. Thanks.

I am working on a change that I'm planning to merge this week that will revamp the logging further if you are still having issues.

Hi @ismadirolas are you still having trouble?
The rewrite ended up getting larger than I had originally planned and is in #441.

Hi @gfs ,
Yes, we still have trouble sometimes, we have done a walkaround with an external timeout, but will be interesting to check the new logs when you merge the PR.

Hi @gfs ,
Yes, we still have trouble sometimes, we have done a walkaround with an external timeout, but will be interesting to check the new logs when you merge the PR.

Thanks for letting me know.
I have some time to do some more on this this week so hopefully will have some movement on the pr soon.

1.5-beta is available now if you want to check if it helps with reliability
You should also now be able to set verbose logging to a file and run single threaded to identify the specific file(s) that are stalling.

Hi,
we have notice that if we exclude .zip and .jar files, it works better.
Thanks for the help.

Hi,
we have notice that if we exclude .zip and .jar files, it works better.
Thanks for the help.

Thanks. That is very useful information to have.
Application Inspector will try to scan the files inside of most archives types if they are not excluded (anything supported by https://github.com/microsoft/RecursiveExtractor). A jar is actually just a zip with a different extension, so that pretty conclusively points to it being archive related.
If those archives are large the set being scanned may actually be much larger than you are anticipating, and the long run time is correct. However, that does give me a hint about somewhere there might be an edge case where the timer doesn't get hit, and recursive extractor has its own timeout mechanism that I don't believe AI is currently using that I could also potentially configure.
I'll also add an option to 1.5 for skipping the archive crawling behavior entirely without having to exhaustively list archive extensions in the path exclusions.

I think I've identified the issue.
Application Inspector has three steps:
Enumerate the things to scan
Scan the things
Prepare the report
If you use the progress bar the enumeration step happens first, and then processing happens. If you disable the progress bar the processing step enumerates as it goes.
The timeout is correctly, but perhaps not clearly, labeled processing timeout and it only applies to the processing step.
If you encounter a hang in the enumerating step or the preparing report step the timeout does not cover it.
You note that this happens with zip and jar files, which potentially implicates a hang in the enumerating step. However, I actually was able to reproduce a hang in the report preparation step due to an out of memory error if the report is very large and you are using the HTML report.
I'm working on Application inspector this week and I'll be trying to address this issue in 1.5 now that I've identified potential additions

Total overall timeout
Enumeration timeout
Report preparation timeout
Catch errors in html report preparation, determine fallback behavior if html report is too large to construct.

It looks like from earlier that you were outputting json and not html.  Will continue to investigate with larger data sets to see if there's a similar issue in the json serializer.

authors: gfs ismadirolas

repo: microsoft/ApplicationInspector


text:
Only one broken attachment displayed if multiple blob container attachments with the same name

Storage Explorer Version: 1.28.0
Build Number: 20230208.3
Branch: rel/1.28.0
Platform/OS: Windows 10/Linux Ubuntu 20.04/MacOS Ventura 13.2 (Apple M1 Pro)
Architecture: ia32/x64/arm64
How Found: Exploratory testing
Regression From: Previous release (1.27.2)
Steps to Reproduce

Azure AD attach two blob containers (make sure already given the correct RBAC role).
Rename the two attachments using a same name.
Switch to the 'ACCOUNT MANAGEMENT' panel -> Remove the azure account that associated with the Azure AD attachments.
Switch to the 'EXPLORER' panel.
Check whether displays two broken blob container attachments.

Expected Experience
Display two broken blob container attachments.
Actual Experience
Only display one broken blob container attachment.
Additional Context
This issue doesn't reproduce for queues/tables.

Verified this issue on the build 20230209.2. Fixed. So, we are going to close it.

repo: microsoft/AzureStorageExplorer


text:
Storage explorer is not listing Azure accounts and some containers within it

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.31.0
Regression From
No response
Architecture
x64
Storage Explorer Build Number
No response
Platform
All
OS Version
Windows 10
Bug Description
Not able to view all the storage accounts and the containers within in it.
Steps to Reproduce
Launch stroage explorer
login
then not able to list the storage account, some time after re loign in again it  show storage account but soent show the containers
Actual Experience
then not able to list the storage account, some time after re loign in again it  show storage account but soent show the containers
Expected Experience
No response
Additional Context
Unable to retrieve child resources
ProducerError:{
"name": "Node Fetch Error",
"message": "{"name":"Node Fetch Error","cause":{"cause":{"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"management.azure.com"}},"code":"ENOTFOUND","errno":-3008}"
}

@Bhupendra-Aithani We recently released a patch update (v1.31.1). If you upgrade to that version, do you still encounter this issue?

Closing due to lack of response. If you still encounter this issue, please provide the additional information we requested and re-open this.

authors: Bhupendra-Aithani JasonYeMSFT craxal


text:
Places correct images

Use managed identities in Azure Kubernetes Service and Connect Azure Container Registry to Azure Kubernetes Service have mixed images, the commit fixes it.

Thank you very much for this fix. It's now merged.

source: gharchive/pull-request

repo: microsoft/AzureTipsAndTricks


text:
Fit & finish - UI Copy | Home page

Fit & finish - UI Copy | Home page
White cells = existing copy
Yellow/blue cells = new copy
Orange = P0
Link to 'live' copy on 'Home page' tab:
https://microsoft.sharepoint.com/:x:/r/teams/ConversationalAI785/_layouts/15/Doc.aspx?sourcedoc={6B1FACBD-B5FE-4AD2-A35B-995635C1696B}&file=glossary.xlsx&action=edit&mobileredirect=true&wdPreviousSession=36539654-a42b-4b87-be1b-de96507b4422&wdOrigin=TEAMS-ELECTRON.teams.undefined&cid=676cf454-61e0-4182-bd27-39044bb51cea

Shiproom - approving as today is fit and finish day.  must be merged by EOD today

authors: mareekuh sgellock

repo: microsoft/BotFramework-Composer


text:
Deploy_ZIP_ERROR while publishing bot

I am trying to publish a bot from bot composer. But every time I try to publish the bot I get the following error :

I have tried to publish on 2.1.1 and 2.1.nightly versions as well I am getting the same error.

@natalgar can you take a look at this since you are investigating similar zip deploy issues?


text:
If this problem persists, please file an issue on GitHub Details duplicate file found: topics/TestCards/TestCards.dialog

Just trying to open the PVA topics on Bot framework Composer and the followed message came up ( duplicate file found: topics/TestCards/TestCards.dialog)

Version 2.1.2

Browser

[ ] Electron distribution
[ x] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[x ] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to 'PVA and open the topics with Bot Framework Composer'
Click on 'update'
See error

Expected behavior
Expecting the PVA to be imported into BFC
Screenshots

Additional context
This error just came out of the blue as everything was working previously.

Hello @fernandofas, I'm investigating this.

Hey @fernandofas,
I'm not able to reproduce. I imported PVA topics into composer without issues.

You might have a duplicate file in your bot, based on the error message. Have you had a chance to look into that?

@fernandofas any updates?

Yes, I had to delete the topic locally and after that when I opened again on Bot Framework Composer it went through.
I guess the Bot Framework Composer didn't update and threw an error.

Glad you were able to solve the issue. I'm closing this one for now. Please re-open if needed.

authors: fernandofas ramfattah


text:
chore: update l10n, 2020-10-26 edition

Description
Just another regular l10n bubble update. We've removed more strings than we added this time - unusual, but not unheard of.
Task Item
#minor

Coverage remained the same at 55.046% when pulling a3428ba8d8216a3ed3a22924ce5abc280a7e6a8c on beyackle/l10n_2020-10-26 into a0759634a17af40048670d32070f5982aa1d3889 on main.

authors: beyackle coveralls


text:
fix: help link

Description
Replaced the 404 link (https://docs.microsoft.com/en-us/composer/setup-yarn)
To: https://aka.ms/install-composer
Fixed the double full stop issue in the Package manager texts.

Task Item
fixes #5273

Coverage remained the same at 55.32% when pulling 2871eb0db371fec133e69ec149212a4341d3f9ff on zxyanliu/fixHelpLink into 48689d326346f331773b273b501e8b5d8b62b75d on main.

authors: coveralls zxyanliu


text:
Error when showing CSV attachment when deployed in MS Teams channel , working properly in local machine.

The CSV is generated during the execution of the code for each session.
Using bot framework sdk-V3
Code used below
      fs.readFile('./'+session.message.user.id+'.csv', function(err, data){
         var contentType = 'text/csv';
         var base64 = Buffer.from(data).toString('base64');
         var csvpath=process.cwd();
         csvpath=csvpath+'\\'+session.message.user.id+'.csv';
         var msg = new builder.Message(session)
          .addAttachment({
             contentUrl: csvpath,
            contentType: contentType,
             name: 'Results.csv',
          });
         session.send(msg);

To attach a file to be sent from a bot in Teams, you need to employ the methods described under Send and receive files through your bot found in the Teams docs. This doc provides example code in C#, but you should be able to interpolate it into Javascript to meet your needs.
Additional information can be referenced here regarding creating an upload session for sending files or parts of files.

authors: balyasbabu stevkan

repo: microsoft/BotFramework-Services


text:
SSR (Server Sent Event support)/Streaming support in WebChat

Is your feature request related to a problem?
If we have to implement functionality like https://chat.openai.com/ where answer is rendered word (or few words) at a time instead of getting the complete answer in one shot, would it be possible to achieve it with BotFramework WebChat? If we get streamed answer from an LLM (say as SSR), which we can intercept and  and send "a", "a b", "a b c", "a b c d" and so on, on the WebSocket, is there some way in which we can make WebChat render it like how we see it in https://chat.openai.com/?
Describe the suggestion or request in detail
No response
Describe alternatives you have considered
No response
Additional context
No response

We are on this. 😉

Will this Server Sent Events feature be also integrated in Microsoft Bot Framework ? We are planning to use Bot Framework as a middleware and can't find a suitable way to stream from Bot Framework to WebChat in conversation.

Do we have any timelines for this, for both, the changes in the WebChat and changes in Bot Framework? Also for the latter, which SDK will have these changes?

Hello William,
We are experimenting with this on the web-chat. First of all, for streaming on the Chatbot web-service side which is based on bot-framework Python SDK, we make a chat completion call to OpenAI, it returns word by word (streaming) response, we plan to push it over web-socket as a bot framework Activity possibly with some custom payload which would indicate start of streaming and end of streaming.

We experimented by sending the payload as attachment in the activity, but on webhcat side, attachmentMiddleware is getting called multiple times even when we send it a single word.
Other thing we tried was, use same activity-id for sending message which are supposed to be part of one streaming response. So If streamed response is "a", then "b", then "c". We first send activity which only has "a", then has "a b", then "a b c", but all these activity objects will have same activity-id. this seems be to working.

Do you have any suggestions on how we should go about implementing this?

@yogimogi I have a working solution in production that 'streams' packages of 20 karakters, The reason is that dirrectline is a premium channel and sending tokens to webchat will just be too expensive in the end.
I really hope that they look into something like https://github.com/Azure-Samples/ai-chat-app-protocol
There are already some great samples available but none of them is feasible if you want more than just ask a question to a vector database

@compulim as @yogimogi mentioned, on getting a response from OpenAI, we call send_activity for the first time, followed by an update_activity api call. For teams, it works fine but for webchat it gives (BadArgument) This channel does not support this operation Any reason why? How can we do it otherwise? for now, can you suggest some workaround to get this working?

I am adding a LIVESTREAMING.md in the PR #5265. The document outlines how to send livestreaming from the bot code and also bot/channel/client supportability.

authors: HesselWellema compulim tez-sha tyfs yogimogi

repo: microsoft/BotFramework-WebChat


text:
Dynamic import unable to load requested module

Hello!
I am experimenting with ClearScript and I am unable to resolve one issue.
I was trying to invoke metod from module but, as the description of Invoke function says: only globally available functions and procedures.
I created special bootstraping script which does not seem to work properley.
I have such Program.cs:
public static class Program
    {
        static async Task Main(string[] args)
        {
            using (var engine = new V8ScriptEngine(V8ScriptEngineFlags.EnableDynamicModuleImports))
            {
                engine.DocumentSettings.AccessFlags = DocumentAccessFlags.EnableAllLoading;

                engine.ExecuteDocument("bootstrap.js", ModuleCategory.Standard);

                var b = await engine.Invoke("bootstrapModule", "./test.js", "testScript", new object[] { }).ToTask();

                Console.WriteLine(b as string);
            }
        }

    }

And such bootstrap.js
export async function bootstrapModule(path, funcName, params) {

    let importedModule;
    try {
        importedModule = await import(path);
    } catch (ex) {
        return 'err: ' + ex;
    }

    return importedModule[funcName].apply(null, params);
}

globalThis.bootstrapModule = bootstrapModule;

and also test scripts
//test.js
import { testScript2 } from './test2.js';

export function testScript() {
    return testScript2();
}

//test2.js
export function testScript2() {
    return 'addddsdf';
}

All the time I am receiving only error: Error: Invalid module load request. I am not sure why this occure. I think that this has problem with function from bootstrap.js that is "exported" globally via globalThis.bootstrapModule.

Hi @mikart143,
This is a bug in ClearScript. A script function invoked directly by the host – e.g., via ScriptEngine.Invoke – currently can't perform dynamic module import. Thanks for reporting it!
We'll fix that in the next release. In the meantime, you can work around the issue by avoiding ScriptEngine.Invoke. For example:
var b = await engine.Evaluate("bootstrapModule('./test.js', 'testScript', [])").ToTask();

Good luck!

@ClearScriptLib
Thank you! Works as expected 😄

Fixed in Version 7.2.2.

repo: microsoft/ClearScript


text:
Create Entity Tests

Split the CreateModels/AllEntityTypes into two tests
Got rid of the FlipFlop code - expanded to cover all combinations
Expanded the suite to cover creating Pretrained Entities followed by Custom with same Resolver type as well as doing it in the reverse order to ensure that the informational popup only comes up once per Resolver type.

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

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

authors: SDESkowronski mattmazzola

repo: microsoft/ConversationLearner-UI


text:
simplenv

In simpleenv.py are the edges created bidirectional? I'm trying to make a tree network but am unsure if create an edge from one node to another covers that edge in both directions.

My concern comes from my e node looking lonely without an edge, but d -> e should cover that?
network: &id019 !!python/object:networkx.classes.digraph.DiGraph
_adj: &id018
a:
b: &id005 {}
c: &id006 {}
d: &id008 {}
b:
c: &id007 {}
d: &id009 {}
c:
d: &id010 {}
d:
e: &id011 {}
e: {}
f:
e: &id012 {}
g: &id015 {}
h: &id016 {}
g:
e: &id013 {}
h: &id017 {}
h:
e: &id014 {}
_node: &id020

It's a digraph (DiGraph) so the edges are not bidirectional.

Thank you! That is helpful. Is bidirectionality even possible? I assume I would need to initialize them back and forth for that sort of functionality.

authors: Beauxrel blumu

repo: microsoft/CyberBattleSim


text:
import error

My environment is
transformers                  4.34.0
transformers-stream-generator 0.0.4
torch                         2.0.1
flash-attn                    2.0.4
deepspeed                     0.12.2

when I try
import deepspeed

I encountered the following error message
[2023-12-01 14:33:39,161] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/__init__.py", line 21, in <module>
    from . import ops
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/ops/__init__.py", line 13, in <module>
    from . import transformer
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/ops/transformer/__init__.py", line 7, in <module>
    from .inference.config import DeepSpeedInferenceConfig
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/ops/transformer/inference/__init__.py", line 7, in <module>
    from ....model_implementations.transformers.ds_transformer import DeepSpeedTransformerInference
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/model_implementations/__init__.py", line 6, in <module>
    from .transformers.ds_transformer import DeepSpeedTransformerInference
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/model_implementations/transformers/ds_transformer.py", line 17, in <module>
    from deepspeed.ops.transformer.inference.triton.mlp import TritonMLP
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/ops/transformer/inference/triton/__init__.py", line 10, in <module>
    from .ops import *
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/ops/transformer/inference/triton/ops.py", line 8, in <module>
    import deepspeed.ops.transformer.inference.triton.matmul_ext as matmul_ext
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/ops/transformer/inference/triton/matmul_ext.py", line 428, in <module>
    fp16_matmul = Fp16Matmul()
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/ops/transformer/inference/triton/matmul_ext.py", line 177, in __init__
    __class__._read_autotune_table()
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/ops/transformer/inference/triton/matmul_ext.py", line 411, in _read_autotune_table
    TritonMatmul._read_autotune_table(__class__.__name__ + "_2d_kernel", __class__._2d_kernel)
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/ops/transformer/inference/triton/matmul_ext.py", line 133, in _read_autotune_table
    table = cache_manager.load()
  File "/home/.conda/envs/fschat2/lib/python3.9/site-packages/deepspeed/ops/transformer/inference/triton/matmul_ext.py", line 74, in load
    loaded_dict = pickle.load(handle)
EOFError: Ran out of input

I can't find the solution. Any suggestions ?
Thank you for your help.

Hi @renmengjie7 - how did you install deepspeed?  Also can you try with the latest deepspeed 0.12.5?

I just run
pip install deepspeed==0.12.2

I delete the ~/.triton cache directory, I can run successfully .
But After running some times, the same error occurred.
Then I delete  the ~/.triton cache directory again, it can run again ...

Hi @renmengjie7 - that looks more like a triton issue than a DeepSpeed issue then to me.  Though could you try with the latest DeepSpeed and Triton and see if you see any changes there?

Closing this for now as it seems to be more triton related than DeepSpeed related.  Please re-open or comment if more assistance is needed.

repo: microsoft/DeepSpeed


text:
RuntimeError: ProcessGroupNCCL is only supported with GPUs, no GPUs found!

This code using hugginface + torch + deepspeed fails when running on cpu:
import os
import librosa
import torch
from transformers import Wav2Vec2Tokenizer, Wav2Vec2ForCTC
import deepspeed

tokenizer = Wav2Vec2Tokenizer.from_pretrained("facebook/wav2vec2-large-960h-lv60-self",
    cache_dir=os.getenv("cache_dir", "../models"))
model = Wav2Vec2ForCTC.from_pretrained("facebook/wav2vec2-large-960h-lv60-self",
    cache_dir=os.getenv("cache_dir", "../models"))

# DeepSpeed config
os.environ['MASTER_ADDR'] = 'localhost'
os.environ['MASTER_PORT'] = '9994'
os.environ['RANK'] = "0"
os.environ['LOCAL_RANK'] = "0"
os.environ['WORLD_SIZE'] = "1"
config = {
    "train_batch_size": 8,
    "fp16": {
        "enabled": True,
        "min_loss_scale": 1,
        "opt_level": "O3"
    },
    "zero_optimization": {
        "stage": 2,
        "cpu_offload": True,
        "cpu_offload_params": True,
        "contiguous_gradients": True,
        "overlap_comm": True
    },
    "optimizer": {
        "type": "AdamW",
        "params": {
            "lr": 0.001,
            "betas": [0.9, 0.999],
            "eps": 1e-6
        }
    }
}
model, optimizer, _, _ = deepspeed.initialize(config_params=config, model=model, model_parameters=model.parameters())

# choose tensor backend
BACKEND = "gpu" if torch.cuda.is_available() else "cpu"
# naive local audio dataset
audio_ds = [os.path.join(os.path.dirname(
    os.path.abspath(__file__)), 'data', 'sample.mp3'),
    os.path.join(os.path.dirname(
        os.path.abspath(__file__)), 'data', 'long_sample.mp3')]
for audio in audio_ds:
    y, _ = librosa.load(audio['data'], sr=16000, mono=True)
    input_values = tokenizer(y, return_tensors="pt", padding="longest").input_values
    decoded = tokenizer.batch_decode(torch.argmax(model(input_values.to(torch.float16).to(BACKEND)).logits, dim=-1))[0]
    print(decoded)

The error was
[2021-04-11 15:30:29,180] [INFO] [logging.py:60:log_dist] [Rank -1] DeepSpeed info: version=0.3.14, git-hash=unknown, git-branch=unknown
[2021-04-11 15:30:29,181] [INFO] [distributed.py:47:init_distributed] Initializing torch distributed with backend: nccl
Traceback (most recent call last):
  File "src/asr/deeps.py", line 50, in <module>
    model, optimizer, _, _ = deepspeed.initialize(config_params=config, model=model, model_parameters=model.parameters())
  File "/usr/local/lib/python3.7/site-packages/deepspeed/__init__.py", line 125, in initialize
    config_params=config_params)
  File "/usr/local/lib/python3.7/site-packages/deepspeed/runtime/engine.py", line 144, in __init__
    init_distributed(dist_backend=self.dist_backend)
  File "/usr/local/lib/python3.7/site-packages/deepspeed/utils/distributed.py", line 51, in init_distributed
    init_method=init_method)
  File "/usr/local/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 510, in init_process_group
    timeout=timeout))
  File "/usr/local/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 603, in _new_process_group_helper
    timeout)
RuntimeError: ProcessGroupNCCL is only supported with GPUs, no GPUs found!

@loretoparisi, thanks for reporting this issue. Unfortunately, DeepSpeed is still not ready to run on CPUs alone. It seems you have workaround in your code base. Is it okay to close this issue here?

@tjruwase thanks, so I cannot initialize DeepSpeed on cpu right now, and I have the check if gpu is avaiable and just skip it kie
if torch.cuda.is_available():
    model, optimizer, _, _ = deepspeed.initialize(config_params=config, model=model, model_parameters=model.parameters())

In the ZeRO-3 Offload there are references to CPU as well, so I assume it will be available at some point?
Thank you.

@elcolie, due to bandwidth reasons we still don't have full support for CPU only environments. But we have made Adam and Adagrad optimizers available for CPU. Which features are you most interested in on CPU?

@tjruwase I don't know which features I need. Currently I just start looking at gpt4all. Thank you.

authors: elcolie loretoparisi tjruwase


text:
Security vulnerability in @definitelytyped/utils dependency tar

@definitelytyped/utils requires "tar": "^2.2.2" which has an Arbitrary File Creation/Overwrite vulnerability.
Please consider upgrading it order to fix this vulnerability.

Just realized a PR already exists to address this https://github.com/microsoft/DefinitelyTyped-tools/pull/308

repo: microsoft/DefinitelyTyped-tools


text:
DetourUpdateThread with non-pseudo current thread handle will freeze the thread.

When running the following code, detours will suspend the current thread, with no way of resuming it, possibly resulting in a process deadlock if this is done in DllMain.
HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME, false, GetCurrentThreadId());
DetoursUpdateThread(hThread);
// no code will execute after this point.

This is caused by https://github.com/microsoft/Detours/blob/master/src/detours.cpp#L1854 only checking against the pseudo-handle instead of also checking if the TID of the handle matches the current thread's.
This if check can be safely replaced by GetThreadId(hThread) == GetCurrentThreadId() to handle both real and pseudo handles to the current thread (although there might be a slight performance gain due to less API calls by still explicitly checking if it's a pseudo handle)

Yes, that's a problem

after official merge my PR#127, DetourUpdateAllOtherThreads will instead of the old DetourUpdateThread  API,  and it will exclude currrent thread automaticall. and DetourUpdateAllOtherThreads is a safer solutuon for HOOK operation.

repo: microsoft/Detours


text:
lgb is not a built-in learner for this task type | NoneType error

Detail:
I've previously used "lgb" for classification and it worked but now it doesn't seem to work for classification tasks. And if I remove the estimator_list from the automl_settings then I get a NoneType error which doesn't go away even after using the pip install flaml[automl] command as suggested by one of the answers in the issues.
Error 1: When using only LGBM

Error 2: When not defining any specific estimator

What I've tried?

I can use other estimators if I exclude 'lgb'. That works fine
I tried installing both flaml[automl] and flaml[notebook] but the problem remains
Tried updating the library but still no luck
Though I'm not stuck at this point because I'm able to use other estimators but just wanted to point out the issue

Hi @ArslanKAS , there is an estimator named lgbm, i.e., lightgbm. No estimator  named  lgb.
For the NonType Error, could you share the complete code for reproducing? Thanks.

authors: ArslanKAS thinkall

repo: microsoft/FLAML


text:
Add optional AbortSignal to Map.wait

related to #1192 and #1191

Should we close old items? I.e. if we did not get to it in a year, and are likely not get to it in another year, the value of keeping on backlog is low.
That said, it would be great to articulate a reason for having waits at all.

My opinion is same as before, that I'd prefer to remove waits.  I'm in favor of closing this.

Closing this issue.
#5192 tracks more generic usage of AbortSignal across all waiting APIs.
#6188 tracks improving or getting rid of wait() method.

authors: ChumpChief anthony-murphy vladsud

repo: microsoft/FluidFramework


text:
Simplify tracked state at each summarizerNode

This PR removes some redundant tracked states that are maintained by each summarizerNode. Following are the list of changes:

Disable incremental summaries and perform complete summarization instead (the first time), for the cases where base snapshot was created in an older document where isolated channels were disabled (i.e. .channels concept was not there in a node path). [containerRuntime.ts]

SummaryNode is removed. SummaryNode was tracking base, additional etc. path related information for each node, which was convoluting the code too much. It has been simplified by always providing the path information to the summarizerNode as a _summaryHandleId. Every time a child node it created, it's path is stored as _summaryHandleId and thus removes the need for SummaryNode.
[summarizerNode.ts, summarizerNodeUtils.ts].

latestSummary:SummaryNode is replaced with just _lastSummaryreferenceSequenceNumber.

PendingSummaryInfo has been introduced to solve for the other half of the logic that was fulfilled previously by SummaryNode i.e. maintaining the state of pending summaries submitted so far. Instead of saving path and referenceSequenceNumber both, we now just maintain referenceSequenceNumber. Saves memory footprint, and simplifies code. [summarizerNode.ts, summarizerNodeUtils.ts]

The above changes also reflected insummarizerNodeWithGC.ts.

Note for reviewers:

Opening up this PR for initial review, while I test the code in parallel.
Please point me at the various tests that I must check to ensure functionality doesn't break.
Do pay close attention to the definitions of the new code comments and let me know if more clarity is required.
The changes in the PR are localized to the containerRuntime layer, and ideally should not affect any compat boundaries. Let me know if I have affected that somehow.

Excellent! Very excited for this change and the complexity / code it removes!


text:
[BUG] Messages may not be transmitted to/from Virtual Device in Dev Preview 6

Describe the bug
A bug in the service Virtual Device abstraction caused messages to not be sent to/from Virtual Devices in some (most?) cases.
Fixed in Dev Preview 7.
If you need an immediate fix, unzip and replace the existing Midi2.VirtualMidiAbstraction.dll in the %Program Files%\Windows MIDI Services\Service folder with the one from the zip file (will require admin rights to replace)
Midi2.VirtualMidiAbstraction.zip

Closed with release of DP7

repo: microsoft/MIDI


text:
error:caffe-tensorflow

Traceback (most recent call last):
File "e:\anaconda3\envs\tensorflow\lib\runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "e:\anaconda3\envs\tensorflow\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "E:\Anaconda3\envs\tensorflow\Scripts\mmconvert.exe_main.py", line 7, in
File "e:\anaconda3\envs\tensorflow\lib\site-packages\mmdnn\conversion_script\convert.py", line 102, in _main
ret = convertToIR._convert(ir_args)
File "e:\anaconda3\envs\tensorflow\lib\site-packages\mmdnn\conversion_script\convertToIR.py", line 16, in _convert
transformer = CaffeTransformer(args.network, args.weights, "tensorflow", inputshape[0], phase = args.caffePhase)
File "e:\anaconda3\envs\tensorflow\lib\site-packages\mmdnn\conversion\caffe\transformer.py", line 345, in init
print (self.graph)
File "e:\anaconda3\envs\tensorflow\lib\site-packages\mmdnn\conversion\caffe\graph.py", line 314, in str
s.append('{:<20} {:<30} {!s:>20} {!s:>20}'.format(node.kind, node.name, data_shape, tuple(out_shape)))
TypeError: unsupported format string passed to NoneType.format

Please help me

repo: microsoft/MMdnn


text:
can not see any thing whitout cursor.

Describe the bug
It's ok when unity remote connected hololens, but i can not see any thing after deploy to hololen
To reproduce
Steps to reproduce the behavior:
1.Build scene InputManagerTest by unity Build;
2.visual studio open genereated .sln file;
3.deploy to hololens by USB;
4.open app in hololens but I can not see anything whitout cursor;
Screenshots

Your Setup (please complete the following information)
-Unity Version [e.g. 2018.3.12f1 ,2018.3.09f1 , 2018.4 ]
-HoloToolkit 2017.4.3.0 - Refresh
Target Platform (please complete the following information)

HoloLens

HTK requires Unity 2017.4
Closing older HTK issue as we are no longer actively working on HTK.
Please upgrade to MRTK V2 for the latest fixes.

In your second screenshot, you should uncheck "WSA Holographic Remoting". That fixed this issue for a couple others.

authors: IfnoLee Yoyozilla keveleigh

repo: microsoft/MixedRealityToolkit-Unity


text:
GLTF loading times very long

Overview
Dynamically loading a GLTF model takes a very long time to load (far too long).
Expected behavior
Dynamically loading a GLTF model should be as fast as importing it in the editor as an asset.
Actual behavior
Dynamically loading a GLTF model is much more longer as importing it in the editor as an asset.
For example, a model that takes about 10s to be imported in the editor as an asset, takes about 3 minutes to be dynamically loaded.
Steps to reproduce
In the Start method of a fresh monobehaviour, import any GLTF model with the following instruction:
await GltfUtility.ImportGltfObjectFromPathAsync("model.gltf");
Unity editor version
2019.2.9f1
Mixed Reality Toolkit release versions
Microsoft Mixed Reality Toolkit 2.2.0
Microsoft Mixed Reality Toolkit 2.1.0

Agreed on the slowness. It's a bit of a restriction of the original implementation. I've been looking into integrating support for GLTFast instead, so we can use a loader with much better support!
If that falls through, I'll take another pass at optimizing the loading logic here.

We appreciate your feedback and thank you for reporting this issue.
Microsoft Mixed Reality Toolkit version 2 (MRTK2) is currently in limited support. This means that Microsoft is only fixing high priority security issues. Unfortunately, this issue does not meet the necessary priority and will be closed. If you strongly feel that this issue deserves more attention, please open a new issue and explain why it is important.
Microsoft recommends that all new HoloLens 2 Unity applications use MRTK3 instead of MRTK2.
Please note that MRTK3 was released in August 2023. It features an all-new architecture for developing rich mixed reality experiences and has a minimum requirement of Unity 2021.3 LTS. For more information about MRTK3, please visit https://www.mixedrealitytoolkit.org.
Thank you for your continued support of the Mixed Reality Toolkit!

authors: IssueSyncBot Yohdu keveleigh


text:
[MRTK3] More spatial manipulation constraints

Overview
Add Rotation Axis Constraint and Min Max Move Constraint to Mixed Reality Toolkit 3
Changes

Add: RotationAxisConstraint.cs;
Add: RotationAxisConstraint.cs.meta;
Add: MinMaxMoveConstraint.cs;
Add: MinMaxMoveConstraint.cs.meta;
Add: ConstraintsExamples.unity;
Add: ConstraintsExamples.unity.meta;

Hey @chrystianfarias! Thanks for opening this! Is there a unit test that can be brought over as well?

Hey @chrystianfarias! Thanks for opening this! Is there a unit test that can be brought over as well?

Not at the moment, I shared it because I was needing it for a project and I didn't have it in MRTK3 yet.
Taking advantage, I would like to show a new constraint: MinMaxMoveConstraint. It allows to block the movement through minimum and maximum coordinates, it can be used local and global coordinates depending on the selected configuration.
Along with this commit is an example scene UnityProjects/MRTKDevTemplate/Assets/Scenes/ConstraintsExamples.unity that can be updated later with the other constraints.

Super sorry we passed over this PR! We ended up porting over all of the remaining constraints in #11085, and are looking to create a new API for constraints and solvers in MRTK3.
Thanks for your contribution!

authors: RogPodge Zee2 chrystianfarias


text:
Minor comment and doc updates for 2.2

Overview
Updates some comments and docs that I've been updating as I see them.
Also updates a test icon.

/azp run


text:
intellisense and xaml wpf designer for cpython + pythonnet

in ptvs it is possible to create wpf project for ironpython, but the runtime cannot be switched to cpython to use wpf with pythonnet. Is there any workaround for this issue?

Why can't you switch the runtime? If you add your CPython environment to the project you should be able to select it.
We won't provide any IntelliSense for Python.NET though, but hopefully with our next version we'll simplify the extensibility model a bit and make that easier to do.

I did not know that various environments can be added to same solution.
Now I'm thinking that better alternative maybe to have one ironpython and
one CPython projects in one solution which reference the same XAML file.
Is this viable?
Can you point at new/old ironpython analyzer for reference DLLs?
Thank you!
On Tuesday, March 15, 2016, Steve Dower notifications@github.com wrote:

Why can't you switch the runtime? If you add your CPython environment to
the project you should be able to select it.
We won't provide any IntelliSense for Python.NET though, but hopefully
with our next version we'll simplify the extensibility model a bit and make
that easier to do.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/Microsoft/PTVS/issues/1156#issuecomment-197067807

You'll only get analysis of .NET DLLs when the IronPython environment is active, because that's part of the IronPython support. But it shouldn't be too hard to switch between them.
There's no way to create a custom IronPython environment unfortunately, which would probably be the best solution. Something we're thinking about for the future.

Hijacking this issue to become the "enable .NET intellisense in any sort of environment" issue. Since we now support analysis extensions, it should be much simpler to enable the .NET part of Python.NET.

@zooba how is this possible with analysis extension? should I open a separate issue? at least 3 users were interested in this:
https://github.com/pythonnet/pythonnet/issues/255
http://stackoverflow.com/questions/30455021/how-to-add-auto-codecomplete-for-net-dll-in-pycharm-or-anyother-ide
I just noticed your message above.
Note that similar issue was closed in user voice for VS:
https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/2858018-give-intellisense-for-dynamic-objects-in-c

In my previous comment I hijacked this issue for it, so no need to create a new issue.
We need to write up some docs on how to do an analysis extension, but the potential is there and we will very likely end up doing it. Unfortunately, it's not a real high priority compared to the other work we need to do, so it'll have to wait a little while.
The best example we currently have is Django.Analysis and DjangoProject.cs (where it is enabled). Probably the trickiest part right now is enabling the extension, so we may end up adding a way to do it implicitly. I'm not sure there's any way to inject one into a project that you don't "own" right now...

Also, that UserVoice issue was for C#'s dynamic keyword. For all the great work they've done, none of their IntelliSense handles type inference beyond var, and even then it's fully resolved by the end of the statement. Full program analysis like we do in Python is a huge ask, so I totally understand them saying they don't need it.

Weird, I thought the easier would be to trick the analyzer into accepting pythonnet code through IronPython analyzer in PTVS. Of course some changes would be necessary to adopt to pythonnet and this is not a good solution for general analyzer extensions.

Afraid not - we actually load IronPython into a separate AppDomain to do some analysis. It doesn't generalize well to other implementations at all.

Stubs for CLR modules generated using skeletons:
https://github.com/gtalarico/ironpython-stubs

whether we have any new way for this? please open again !

authors: chuongmep denfromufa zooba

repo: microsoft/PTVS


text:
No test discovery after cloning repository to a new machine

I pulled a clone of my python repository down to a new machine last night. Been troubleshooting all morning. Everything seems to have worked except the fact that now no tests are populating on the new machine.
The way my solution is set up there is a parent folder (ETL) that contains my app (ETLApp) and a number of other projects for deployment and testing as well as the virtual python environment that deploys with the app. The directory structure is like the below:
ELT -> ETLApp -> ETLAppEnv_3_7
ETL.Deployment
ETLApp.Integration.Test.Py
ETLApp_Test
In the above all projects are contained in the ETL directory and the environment is contained in the directory for the deployable app (ETLApp).
Or if you like it looks like this:
\ETL\ETLApp
\ETL\ETL.Deployment
\ETL\ETL.App.Integration.Test.Py
\ETL\ETLApp_Test
\ETL\ETL\App\ETLAppEnv_3_7
Now in order for the app to work there is a .pth file in the virtual environment's directory (ETLAppEnv_3_7) that adds the path "....\ETL" to the virtual environment's search path when it initializes.
This all works fine in the solution I built the app in originally, but when cloning to a new computer no test populate.... I've tried adding the path ".." to the "Search Paths" section of each project in the solution explorer, but still no tests populate. I'v also tired added paths to the "AppData\Local\Microsoft\VisualStudio\15.0_07f013a5\Python\CompletionDB-1-Temp\paths.map", but no cigar there either (I think that was a shot in the dark anyway).
It looks to me from reading the log, like VS isn't taking into account the .pth file when its populating tests.
some of the log showing import errors is below, but you might need the whole log to figure this one out.  Let me know how I can get it to you, it seems to be too long to post here.
b.Models.Apis.GoogleMetaDateApi.GaMetadataRequestHandler
[00:00:00] Start: 2018-09-29T18:46:32
[00:00:00.0502695] GetCurrentSearchPaths: C:\Users\j\source\repos\Company\ETL\ETLApp\ETLAppEnv_3_7\Scripts\python.exe, C:\Users\j\AppData\Local\Microsoft\VisualStudio\15.0_07f013a5\Python\CompletionDB-1-Temp\1\database.path
[00:00:01.2211550] SearchPaths:
[00:00:01.2497093] Scrape: C:\Users\j\source\repos\Company\ETL\ETLApp\ETLAppEnv_3_7\Scripts\python.exe, -B -E "c:\program files (x86)\microsoft visual studio\2017\community\common7\ide\extensions\microsoft\python\core\scrape_module.py"
[00:00:01.2826152] Scrape: Fatal Python error: initfsencoding: unable to load the file system codec
[00:00:01.2826152] Scrape: ModuleNotFoundError: No module named 'encodings'
[00:00:01.2826152] Scrape:
[00:00:01.2826152] Scrape: Current thread 0x0000344c (most recent call first):
[00:00:02.0262127] Scrape: ExitCode, -1073740791
[00:00:02.1497317] GetCurrentSearchPaths: C:\Users\j\source\repos\Company\ETL\ETLApp\ETLAppEnv_3_7\Scripts\python.exe, C:\Users\j\AppData\Local\Microsoft\VisualStudio\15.0_07f013a5\Python\CompletionDB-1-Temp\1\database.path
[00:00:02.1858785] GetCurrentSearchPaths: C:\Users\j\source\repos\Company\ETL\ETLApp\ETLAppEnv_3_7\Scripts\python.exe, C:\Users\j\AppData\Local\Microsoft\VisualStudio\15.0_07f013a5\Python\CompletionDB-1-Temp\1\database.path
[00:00:03.1220755] SearchPaths:
[00:00:03.1320632] SearchPaths:
[00:00:03.1350902] ImportNotFound: BasicEvent_Test
[00:00:03.1350902] ImportNotFound: BasicEvent_Test
[00:00:03.1420708] ImportNotFound: Config_Test
[00:00:03.1420708] ImportNotFound: Config_Test
[00:00:03.1430682] ImportNotFound: TestScript_Test
[00:00:03.1430682] ImportNotFound: TestScript_Test
[00:00:03.1430682] ImportNotFound: UnitTestConstants
[00:00:03.1430682] ImportNotFound: UnitTestConstants
[00:00:03.1440765] ImportNotFound: MDGCoreLib_Mocks
[00:00:03.1440765] ImportNotFound: MDGCoreLib_Mocks
[00:00:03.1450752] ImportNotFound: MDGCoreLib_Test
[00:00:03.1450752] ImportNotFound: MDGCoreLib_Test
[00:00:03.1450752] ImportNotFound: TestTableGenerator_Test
[00:00:03.1450752] ImportNotFound: TestTableGenerator_Test
[00:00:03.1480673] ImportNotFound: SqlUtilitiesForTesting
[00:00:03.1480673] ImportNotFound: SqlUtilitiesForTesting
[00:00:03.1490647] ImportNotFound: SqlUtilitiesForTesting.RunSqlScriptByCmd
[00:00:03.1490647] ImportNotFound: SqlUtilitiesForTesting.RunSqlScriptByCmd
[00:00:03.1490647] ImportNotFound: SqlUtilitiesForTesting.StringUtilites
[00:00:03.1490647] ImportNotFound: SqlUtilitiesForTesting.StringUtilites
[00:00:03.1490647] ImportNotFound: SqlUtilitiesForTesting.TestTableGenerator
[00:00:03.1490647] ImportNotFound: SqlUtilitiesForTesting.TestTableGenerator
[00:00:03.1500624] ImportNotFound: TestUtilities
[00:00:03.1500624] ImportNotFound: TestUtilities
[00:00:03.1500624] ImportNotFound: TestUtilities.CacheTestingUtils
[00:00:03.1500624] ImportNotFound: TestUtilities.CacheTestingUtils
[00:00:03.1500624] ImportNotFound: TestUtilities.SignatureUtility
[00:00:03.1500624] ImportNotFound: TestUtilities.SignatureUtility
[00:00:03.1510595] ImportNotFound: TestUtilities.VerifyCache
[00:00:03.1510595] ImportNotFound: TestUtilities.VerifyCache
[00:00:03.1510595] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects
[00:00:03.1510595] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects
[00:00:03.1520568] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.HTTPResponse_Mock
[00:00:03.1520568] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.HTTPResponse_Mock
[00:00:03.1520568] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks
[00:00:03.1520568] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks
[00:00:03.1520568] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.Cacheable_Mock
[00:00:03.1520568] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.Cacheable_Mock
[00:00:03.1530542] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.CacheItem_Mock
[00:00:03.1530542] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.CacheItem_Mock
[00:00:03.1530542] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.CacheLockerItem_Mock
[00:00:03.1530542] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.CacheLockerItem_Mock
[00:00:03.1540519] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.CISerializable_Mock
[00:00:03.1540519] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.CISerializable_Mock
[00:00:03.1540519] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.GaExpressions_Mock
[00:00:03.1540519] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.GaExpressions_Mock
[00:00:03.1550490] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.SqlResult_Mock
[00:00:03.1550490] ImportNotFound: MDGCoreLib_Mocks.Models_Mocks.SqlResult_Mock
[00:00:03.1610325] ImportNotFound: MDGCoreLib_Mocks.Utility_Mocks
[00:00:03.1610325] ImportNotFound: MDGCoreLib_Mocks.Utility_Mocks
[00:00:03.1610325] ImportNotFound: MDGCoreLib_Mocks.Utility_Mocks.HttpTestRequestHandler
[00:00:03.1610325] ImportNotFound: MDGCoreLib_Mocks.Utility_Mocks.HttpTestRequestHandler
[00:00:03.1620299] ImportNotFound: Serializer_Test
[00:00:03.1620299] ImportNotFound: Serializer_Test
[00:00:03.1620299] ImportNotFound: MDGCoreLib_Test.Models_Test
[00:00:03.1620299] ImportNotFound: MDGCoreLib_Test.Models_Test
[00:00:03.1630273] ImportNotFound: MDGCoreLib_Test.Models_Test.CacheFileAccessHandle_Test
[00:00:03.1630273] ImportNotFound: MDGCoreLib_Test.Models_Test.CacheFileAccessHandle_Test
[00:00:03.1630273] ImportNotFound: MDGCoreLib_Test.Models_Test.CacheItem_Test
[00:00:03.1630273] ImportNotFound: MDGCoreLib_Test.Models_Test.CacheItem_Test
[00:00:03.1640247] ImportNotFound: MDGCoreLib_Test.Models_Test.Credential_Test
[00:00:03.1640247] ImportNotFound: MDGCoreLib_Test.Models_Test.Credential_Test
[00:00:03.1640247] ImportNotFound: MDGCoreLib_Test.Models_Test.FileTransfer_Test
[00:00:03.1650221] ImportNotFound: MDGCoreLib_Test.Models_Test.FileTransfer_Test
[00:00:03.1650221] ImportNotFound: MDGCoreLib_Test.Models_Test.MSSQLDatabase_Test
[00:00:03.1650221] ImportNotFound: MDGCoreLib_Test.Models_Test.MSSQLDatabase_Test
[00:00:03.1650221] ImportNotFound: MDGCoreLib_Test.Models_Test.MSSQLProc_Test
[00:00:03.1650221] ImportNotFound: MDGCoreLib_Test.Models_Test.MSSQLProc_Test
[00:00:03.1660194] ImportNotFound: MDGCoreLib_Test.Models_Test.SqlResult_Test
[00:00:03.1660194] ImportNotFound: MDGCoreLib_Test.Models_Test.SqlResult_Test
[00:00:03.1660194] ImportNotFound: CacheManager_Test
[00:00:03.1660194] ImportNotFound: CacheManager_Test
[00:00:03.1670175] ImportNotFound: CISerializer_Test
[00:00:03.1670175] ImportNotFound: CISerializer_Test
[00:00:03.1670175] ImportNotFound: FileTransferHandler_Test
[00:00:03.1670175] ImportNotFound: FileTransferHandler_Test
[00:00:03.1680142] ImportNotFound: FtpHandler_Test
[00:00:03.1680142] ImportNotFound: FtpHandler_Test
[00:00:03.1680142] ImportNotFound: MSSQLHandler_Test
[00:00:03.1680142] ImportNotFound: MSSQLHandler_Test
[00:00:03.1690119] ImportNotFound: OAuth2Handler_Test
[00:00:03.1690119] ImportNotFound: OAuth2Handler_Test
[00:00:03.1690119] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.ftplib
[00:00:03.1690119] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.ftplib
[00:00:03.1700277] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.ftplib.FTP_Mock
[00:00:03.1700277] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.ftplib.FTP_Mock
[00:00:03.1700277] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.pyodbc_Mock
[00:00:03.1700277] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.pyodbc_Mock
[00:00:03.1710060] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.pyodbc_Mock.pyodbc_Mock
[00:00:03.1710060] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.pyodbc_Mock.pyodbc_Mock
[00:00:03.1710060] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.pyodbc_Mock.pyodbcConnection_Mock
[00:00:03.1710060] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.pyodbc_Mock.pyodbcConnection_Mock
[00:00:03.1720033] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.pyodbc_Mock.pyodbcCursor_Mock
[00:00:03.1720033] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.pyodbc_Mock.pyodbcCursor_Mock
[00:00:03.1720033] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.pyodbc_Mock.pyodbcRow_Mock
[00:00:03.1720033] ImportNotFound: MDGCoreLib_Mocks.ExternalObjects.pyodbc_Mock.pyodbcRow_Mock
[00:00:03.1730007] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test
[00:00:03.1730007] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test
[00:00:03.1739981] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test.GoogleAnalyticsReporting_Test
[00:00:03.1739981] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test.GoogleAnalyticsReporting_Test
[00:00:03.1739981] ImportNotFound: Cacheable_Test
[00:00:03.1739981] ImportNotFound: Cacheable_Test
[00:00:03.1749958] ImportNotFound: HttpTarget_Test
[00:00:03.1749958] ImportNotFound: HttpTarget_Test
[00:00:03.1749958] ImportNotFound: JsonDecoder_Test
[00:00:03.1749958] ImportNotFound: JsonDecoder_Test
[00:00:03.1759932] ImportNotFound: LimitedResponseBuffer_Test
[00:00:03.1759932] ImportNotFound: LimitedResponseBuffer_Test
[00:00:03.1765359] ImportNotFound: Server_Test
[00:00:03.1765359] ImportNotFound: Server_Test
[00:00:03.1771739] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test.GoogleAnalyticsReporting_Test.GaFilter_Test
[00:00:03.1779869] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test.GoogleAnalyticsReporting_Test.GaFilter_Test
[00:00:03.1779869] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test.GoogleAnalyticsReporting_Test.GaHelpers_Test
[00:00:03.1779869] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test.GoogleAnalyticsReporting_Test.GaHelpers_Test
[00:00:03.1789846] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test.GoogleAnalyticsReporting_Test.GaProperty_Test
[00:00:03.1789846] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test.GoogleAnalyticsReporting_Test.GaProperty_Test
[00:00:03.1789846] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test.GoogleAnalyticsReporting_Test.GaRequest_Test
[00:00:03.1789846] ImportNotFound: MDGCoreLib_Test.Models_Test.Apis_Test.GoogleAnalyticsReporting_Test.GaRequest_Test
[00:00:00] Start: 2018-09-29T18:46:27
[00:00:00.0010308] GetCurrentSearchPaths: C:\Users\j\source\repos\Company\ETL\ETLApp\ETLAppEnv_3_7\Scripts\python.exe, C:\Users\j\AppData\Local\Microsoft\VisualStudio\15.0_07f013a5\Python\CompletionDB-1-Temp\1\database.path
[00:00:00.0371736] GetCurrentSearchPaths: C:\Users\j\source\repos\Company\ETL\ETLApp\ETLAppEnv_3_7\Scripts\python.exe, C:\Users\j\AppData\Local\Microsoft\VisualStudio\15.0_07f013a5\Python\CompletionDB-1-Temp\1\database.path
[00:00:00.0994383] GetCurrentSearchPaths: C:\Users\j\source\repos\Company\ETL\ETLApp\ETLAppEnv_3_7\Scripts\python.exe, C:\Users\j\AppData\Local\Microsoft\VisualStudio\15.0_07f013a5\Python\CompletionDB-1-Temp\1\database.path
[00:00:00.1889297] GetCurrentSearchPaths: C:\Users\j\source\repos\Company\ETL\ETLApp\ETLAppEnv_3_7\Scripts\python.exe, C:\Users\j\AppData\Local\Microsoft\VisualStudio\15.0_07f013a5\Python\CompletionDB-1-Temp\1\database.path
[00:00:00.1911194] SearchPaths:

** EDIT **
Here is a more complete statement of my question.  For some reason my edits to the main post above don't seem to be staying.  I have full log I can post as well, but it won't let me do it here as it says its too long.
**EDIT
I pulled a clone of my python repository down to a new machine last night.  Been troubleshooting all morning.  Everything seems to have worked except the fact that now no tests are populating on the new machine.
The way my solution is set up there is a parent folder (ETL) that contains my app (ETLApp) and a number of other projects for deployment and testing as well as the virtual python environment that deploys with the app.  The directory structure is like the below:
ELT -> ETLApp -> ETLAppEnv_3_7
ETL.Deployment
ETLApp.Integration.Test.Py
ETLApp_Test
In the above all projects are contained in the ETL directory and the environment is contained in the directory for the deployable app (ETLApp).
Or if you like it looks like this:
\ETL\ETLApp
\ETL\ETL.Deployment
\ETL\ETL.App.Integration.Test.Py
\ETL\ETLApp_Test
\ETL\ETL\App\ETLAppEnv_3_7
Now in order for the app to work there is a .pth file in the virtual environment's directory (ETLAppEnv_3_7) that adds the path "....\ETL" to the virtual environment's search path when it initializes.
This all works fine in the solution I build the app in originally, but when cloning to a new computer no test populate....   I've tried added the path ".." to the "Search Paths" section of each project in the solution explorer, but still no tests populate.  I'v also tired added paths to the "AppData\Local\Microsoft\VisualStudio\15.0_07f013a5\Python\CompletionDB-1-Temp\paths.map", but no cigar there either (I think that was a shot in the dark anyway).
It looks to me from reading the log, like VS isn't taking into account the .pth file when its populating tests.

It's possible that it's not discovering the tests because it has trouble analyzing them, ie it can't figure out they derive from unittest.TestCase.
Have you tried adding a new boilerplate test with no dependencies to see if that one is discovered?
import unittest

class Test_test1(unittest.TestCase):
    def test_A(self):
        self.fail("Not implemented")

if __name__ == '__main__':
    unittest.main()

Your tests are all included in one of the projects in the solution? I'm pretty sure they have to be, code in the search path won't be analyzed for tests.

Thanks for the reply.

Yes I've added the boiler plate you mentioned to a new .py file in my test project.  It did not populate in the test explorer.  I tried restarting the project as well and that didn't seem to help.

All my tests are in the projects ETLApp_Test and ETLApp_IntegrationTest.  The other projects in the solution don't contain any tests.

What do you mean code in the search paths?  My virtual environment has a .pth file that contains the path of a parent directory.  Other than that there is no code manipulating the search path.   Still. now that I think of it, that .pth file should only affect the virtual environments ability to find the test, not visual studio right?

The log is rather extensive (about 400 lines) on this.  I"ve been peeling through it, but it might mean more in your hands than mine.

@huguesv I'm trying to tack this down, so i've downloaded the ptsv source and built it.  Could you give me some quick directions to tracking down the failing methods.  It looks like "GetCurrentSearchPaths", "SearchPaths", and "Scrape" are where the module imports are failing, (and i'm guessing what is inevitably causing test discovery to fail).

Looks like the virtual environments in my solution are just failing in general.  I'm seeing this error:
[00:00:00.1786829] Scrape: Fatal Python error: initfsencoding: unable to load the file system codec
[00:00:00.1786829] Scrape: ModuleNotFoundError: No module named 'encodings'
[00:00:00.1786829] Scrape:
[00:00:00.1786829] Scrape: Current thread 0x00002090 (most recent call first):
[00:00:00.1996067] Scrape: ExitCode, -1073740791
[00:00:04.1072371] GetCurrentSearchPaths:

One very useful trick for debugging is to add this property to your .pyproj files:
<_InProcessPythonAnalyzer>true</_InProcessPythonAnalyzer>

That will run the analyzer in the same process as devenv.exe, so you don't have to keep attaching to an external analyzer executable for debugging.
I've seen that UnauthorizedAccessException in a few people's logs. See @MikhailArkhipov comment at https://github.com/Microsoft/python-language-server/issues/136
You could try applying the fix in PTVS source base and see if that helps.

Test discovery for unittest framework has been reworked in 16.3, it no longer depends on the analyzer, it runs the unittest module to do the discovery. So if your code is discoverable using command line unittest module, it now should be in test explorer as well.


text:
cache glass binaries (#8107)

new PR that not a user repo

Do you need to run the cache again? It looks like it doesn't have the vstest.console.exe in it. Is there a way to force the cache to update?

Ok. PRs now using cache for glass test data
we can manually run a build and set skipGlassCache flag to force the cache to update.
we can also schedule that to run weekly
PR run
https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=10704077&view=logs&j=9970d973-4294-51e0-bc18-c59342cf31c4&t=1c076860-59cb-537d-4380-18c885bdfe5c

authors: bschnurr rchiodo


text:
Update docs for calculator plugin supported operations to include %

@crutkas
Let's add a list of supported operators and functions to docs.microsoft.com.
cc: @dedavis6797
Originally posted by @htcfreek in https://github.com/microsoft/PowerToys/issues/11814#issuecomment-866098367

@dedavis6797 this should be a .41 work item

dup of #11889?

lets track this with #11889

authors: Jay-o-Way crutkas

repo: microsoft/PowerToys


text:
Separate snap zone from activation zone. Pic included

Description of the new feature / enhancement
So I have 10K of screen real-estate and Fancy Zones has saved my life, there's only one missing feature preventing my ascension to the promised land:
Allow us to define a zones "center" or activation zone.
I've found "activate by closest to center" to work the best for me, but I may be misunderstanding the other zone activation options. My picture might explain better
With several overlapping zones, its not always obvious what zone I'm going to activate (gotta go fast).
Its less ergonomic to have to dip cursor to the center to do a "full vertical space" snap instead of a half height. With highly nested layouts and opacity/contrast with selected window vs zone color it can be tough to distinguish visually.
With user mappable activation zones I can go fast, and I can even see more intricate zone layouts becoming usable.

Green= Zone I want
Red= Zone I got
Yellow= My mouse grabs and moves
Scenario when this would be used?
Highly overlapped zone assignments.
Multiple ultrawide or HiDPI monitors.
Ergo support for those with limited mobility but large amount of screen real-estate
Supporting information
Seems like the easiest way to implement without overly complicating UX for new users is to allow the number (center) of a zone to move during zone assignment. Once zone is placed just hold a modifier key (or not) and use arrow keys to manually move the number
Long term I think having separate activation zones vs snap zones offers the most functionality. You could have a "mini layout" where windows spawn and move mere centimeters to assign that new window to a zone that could be a whole mousepad width away. Fling windows super far away while being ergonomic.

Hi @kernkraft235  thanks for your message. FancyZones has 4 settings for overlapping zones:

smallest zone in area
largest zone in area
split
activate zone with center closest to cursor

Am I right to assume you have tried all of these? If not, can you please try them and let me know what fits best for you? If those still not sufficient, this is going to get very detailed...

By the way, your layout is indeed very complicated. Why not have one big grid with many zones, and you can place windows in multiple (adjacent) zones? (hold Ctrl while dragging)

I can do the +ctrl method, but most of my snaps are a browser window at full height so I'd be adding an extra step and involve a new limb to my main action. I'd be willing to do it for my half height zones.
I tried the other snap modes,
"By Largest" = I can never snap to a 50% zone because they are all contained in a larger zone
"By Smallest" = I can never snap to a 100% zone because they are all completely filled with smaller zones
"Split" = I don't understand how this works and had trouble intuiting where to snap, my goal is for zones to be a natural intuitive part of my work flow. Can you explain how split works?
I did figure out a solution that meets my usability and ergo goals, but it involes scarificing some zone space in the 50% zones. I just shrank the 50% zones into 40% and left that free 10% at the top to only contain the full height zone. Screen shot may not show lines unless zoomed

I can see the value in this proposal but it also can lead to the same underlying issue of quirks as you even call out.  I think there is no good solution to overlapping zones as we can always come up with scenarios to break it.
This is one reason why i'm a big advocate of grid based layouts over canvas layouts

Yea that makes sense. I really like Fancy zones and want it to be useful for the most amount of people. I think overall the desktop UI experience in Windows and Linux is poor and stuck in the same paradigm. I'm learning to code now because I want to introduce features as impactful as fancy zones. My 50% height problem would be solved if I could just make a "container" window and place my terminal/file explorers in there.
The dream is a product like Microsoft's whiteboard, except the whiteboard is a desktop which is independent of actual screen size, shape, and location - your monitor just acts as a viewport to a much larger workspace. Your "virtual desktops" are now just x,y,z coordinates for the viewport

authors: Jay-o-Way crutkas kernkraft235


text:
Windows Move to Different External Monitor on Desktop Change

Microsoft PowerToys version
0.55.1
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
Move between virtual desktops using ctrl+win+arrow.
✔ Expected Behavior
Windows stay where they were.
❌ Actual Behavior
A window will (occasionally) move from one external monitor to another.
Other Software
No response

Can you confirm this issue is still relevant in v0.73? /needinfo

I actually have not been using virtual desktops for some time. I haven't had this issue otherwise.

Got it, I'll close this issue, but if you see this issue again, please reopen.

authors: TheJoeFin jnobbe-palimpsest


text:
Layout selected for external monitor in portrait configuration does not stick; it uses the layout for the other external monitor, which is landscape

Microsoft PowerToys version
0.60.0
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
Use two external monitors, one operating landscape, the other portrait.
Launch the Fancy Zones layout editor.
Select a template for the external portrait monitor.
Select a different template for the external landscape monitor.
Close the layout editor.
The portrait monitor will not have the correct layout. In my case it acquires the layout for the other external (landscape) monitor.
✔ Expected Behavior
I was expecting the layout I selected for the portrait monitor to actually "stick". In other words, I was expecting the layout I created for the portrait monitor - a layout different from that I created for the landscape monitor - to remain. I don't want both these monitors to have the same layout.
❌ Actual Behavior
Both external monitors acquire only the layout set for the landscape monitor (monitor #1, in my case). The portrait monitor is #3. Strangely, PowerToys identifies the native monitor on my laptop as monitor #2.
Other Software
Not applicable.

/dup #19240

authors: MarkMessinger htcfreek


text:
FancyZones - Space around Zones

Microsoft PowerToys version
0.64.0
Installation method
PowerToys auto-update
Running as admin
No response
Area(s) with issue?
FancyZones
Steps to reproduce
After updating the software, the space around each zone was displayed even though it was inactive, and after a lot of trial and error, I realized that this is a bug in the creation of zones. CREATE ZONES > SELECT ZONE > TURN OFF SPACES AROUND THE ZONE but it does not work and I have to make space to 0px and then turn it off to make it work.

✔ Expected Behavior
when space around zone is turned off it's we don't see any space around any zone

❌ Actual Behavior
space around zone is turn of but it's not working

Other Software
No response

/dup #21630

thank you so much

authors: USFAkbari jaimecbernardo


text:
add black list program entry or stop quick accent when program launches in full screen

Description of the new feature / enhancement
add black list program entry or stop quick accent when program launches in full screen.
Scenario when this would be used?
Games expect certain key combinations to function correctly, and the quick accent feature prevents some games from working properly. would be nice to have automatic toggle for this feature.
Supporting information
Games expect certain key combinations to function correctly, and quick accent feature prevents some games from working properly. would be nice to have automatic toggle for this feature.

/dup #20349

authors: crutkas krezol