text:
[Event Request] Peport 7305 "Whse.-Source - Create Document".OnOpenPage

Please add these events.
    requestpage
    {

        layout
        {
            area(content)
            {
                group(Options)
                {
                    Caption = 'Options';
                    field(AssignedID; AssignedID)
                    {
                        ApplicationArea = Warehouse;
                        Caption = 'Assigned User ID';
                        TableRelation = "Warehouse Employee";
                        ToolTip = 'Specifies the ID of the assigned user to perform the pick instruction.';

                        trigger OnLookup(var Text: Text): Boolean
                        var
                            WhseEmployee: Record "Warehouse Employee";
                            LookupWhseEmployee: Page "Warehouse Employee List";
                        begin
                            WhseEmployee.SetCurrentKey("Location Code");
                            WhseEmployee.SetRange("Location Code", GetHeaderLocationCode);
                            LookupWhseEmployee.LookupMode(true);
                            LookupWhseEmployee.SetTableView(WhseEmployee);
                            if LookupWhseEmployee.RunModal = ACTION::LookupOK then begin
                                LookupWhseEmployee.GetRecord(WhseEmployee);
                                AssignedID := WhseEmployee."User ID";
                            end;
                        end;

                        trigger OnValidate()
                        var
                            WhseEmployee: Record "Warehouse Employee";
                        begin
                            if AssignedID <> '' then
                                WhseEmployee.Get(AssignedID, GetHeaderLocationCode);
                        end;
                    }
                    field(SortingMethodForActivityLines; SortActivity)
                    {
                        ApplicationArea = Warehouse;
                        Caption = 'Sorting Method for Activity Lines';
                        MultiLine = true;
                        ToolTip = 'Specifies the method by which the lines in the instruction will be sorted. The options are by item, document, shelf or bin (when the location uses bins, this is the bin code), due date, bin ranking, or action type.';
                    }
                    field(BreakbulkFilter; BreakbulkFilter)
                    {
                        ApplicationArea = Warehouse;
                        Caption = 'Set Breakbulk Filter';
                        ToolTip = 'Specifies if you want the program to hide intermediate break-bulk lines when an entire larger unit of measure is converted to a smaller unit of measure and picked completely.';
                    }
                    field(DoNotFillQtytoHandle; DoNotFillQtytoHandle)
                    {
                        ApplicationArea = Warehouse;
                        Caption = 'Do Not Fill Qty. to Handle';
                        ToolTip = 'Specifies if you want to manually fill in the Quantity to Handle field on each line.';
                    }
                    field(PrintDoc; PrintDoc)
                    {
                        ApplicationArea = Warehouse;
                        Caption = 'Print Document';
                        ToolTip = 'Specifies if you want the instructions to be printed. Otherwise, you can print it later from the warehouse instruction window.';
                    }
                }
            }
        }

        actions
        {
        }

        trigger OnOpenPage()
        var
            Location: Record Location;
        begin
            GetLocation(Location, GetHeaderLocationCode);
            if Location."Use ADCS" then
                DoNotFillQtytoHandle := true;

            //------------------------------------------------------------OnAfterOpenPage:BEGIN
            OnAfterOpenPage(Location,DoNotFillQtytoHandle);
            //------------------------------------------------------------OnAfterOpenPage:END
        end;
    }

    [IntegrationEvent(TRUE, false)]
    local procedure OnAfterOpenPage(var Location: Record Location; var DoNotFillQtytoHandle: Boolean)
    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. 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.

authors: JesperSchulz fridrichovsky

repo: microsoft/ALAppExtensions


text:
[Protected Request] page 402 "Sales Order Statistics" SalesPost

Hello,
Is it possible to get the variable SalesPost in page 402 "Sales Order Statistics" as protected var?
   SalesPost: Codeunit "Sales-Post";

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.

source: gharchive/issue

authors: JesperSchulz NeleBollen

license: MIT

license_type: permissive

license_source: github-api


text:
[Access Request] report 108 "Customer - Order Detail"

Can you change global variabel SalesHeader to proteced var in report 108 "Customer - Order Detail"?

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.

authors: JesperSchulz auzhhv


text:
[Event Request] codeunit 1001 "Job Post-Line" - PostJobOnPurchaseLine

Hello,
Please add this handled event:

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.

authors: JesperSchulz NiroWolfee


text:
[Event Request] Table 27 Item - field "Production BOM No." - OnBeforeValidateProductionBOMNo

Please add an Event OnBeforeValidateProductionBOMNo in field "Production BOM No." in Table 27 Item
        field(99000751; "Production BOM No."; Code[20])
        {
            Caption = 'Production BOM No.';
            TableRelation = "Production BOM Header";

            trigger OnValidate()
            var
                MfgSetup: Record "Manufacturing Setup";
                ProdBOMHeader: Record "Production BOM Header";
                ItemUnitOfMeasure: Record "Item Unit of Measure";
                IsHandled: Boolean; <-- NEW VAR
                            begin
                    IsHandled := false;
                OnBeforeValidateProductionBOMNo(Rec,xRec,IsHandled); <-- NEW EVENT
                If IsHandled then
                    exit;

                ...
            end;
        }

    [IntegrationEvent(false, false)]
    local procedure OnBeforeValidateProductionBOMNo(var Item: Record "Item"; xItem: Record "Item"; var IsHandled: Boolean)
    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.
Build ID: 46955.


text:
[Event Request] codeunit 1101 "CA Jnl.-Check Line" - OnRunCheckForNotEmptyCostType

Hello, would it be possible to add OnRunCheckForNotEmptyCostType event to codeunit 1101 "CA Jnl.-Check Line", like this:
    procedure RunCheck(var CostJnlLine: Record "Cost Journal Line")
...
                      if ("Cost Center Code" = '') and ("Cost Object Code" = '') then
                         Error(Text004, "Line No.", "Document No.", Amount);

                 IsHandled := false;
>                 OnRunCheckForNotEmptyCostType(IsHandled); //New Event
                 if not IsHandled then
                     if ("Cost Center Code" <> '') and ("Cost Object Code" <> '') then
                         Error(Text001, "Line No.", "Document No.", Amount);
             end;

local procedure OnRunCheckForNotEmptyCostType(var IsHandled: Boolean)

Use OnBeforeRunCheck instead

authors: Vadim-Stepanenko gretanorv


text:
[Event Request] Codeunit 951 - Time Sheet Approval Management - OnBeforePostAbsence

Dear ALAppExtensions team,
Through this issue we would like to request event publisher OnBeforePostAbsence to be added to Codeunit 951 Time Sheet Approval Management with the following signature:
    [IntegrationEvent(false, false)]
    local procedure OnBeforePostAbsence(var TimeSheetLine: Record "Time Sheet Line"; var IsHandled: Boolean)
    begin
    end;

which would be called as follows from PostAbsence:
    local procedure PostAbsence(var TimeSheetLine: Record "Time Sheet Line")
    var
        Resource: Record Resource;
        TimeSheetHeader: Record "Time Sheet Header";
        TimeSheetDetail: Record "Time Sheet Detail";
        Employee: Record Employee;
        EmployeeAbsence: Record "Employee Absence";
        TimeSheetMgt: Codeunit "Time Sheet Management";
        IsHandled: Boolean; //new
    begin
        //new start
        IsHandled := false;
        OnBeforePostAbsence(TimeSheetLine, IsHandled);
        if IsHandled then
          exit;
        //new end
        TimeSheetHeader.Get(TimeSheetLine."Time Sheet No.");

We would like to be able to postpone the Absence posting.

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.
Build ID: 52288.


text:
[Event Request] table 1294 "Applied Payment Entry" - OnGetVendLedgEntryRemAmtBeforeCalcFields

Describe the request
Hello, can you please add a new Event OnGetVendLedgEntryRemAmtBeforeCalcFields in table 1294 "Applied Payment Entry"?
    local procedure GetVendLedgEntryRemAmt(): Decimal
    var
        VendLedgEntry: Record "Vendor Ledger Entry";
        BankAccReconLine: Record "Bank Acc. Reconciliation Line";
        Result: Decimal;
        IsHandled: Boolean;
    begin
        OnGetVendLedgEntryRemAmtBeforeCalcFields(Rec, IsHandled, Result);
        if IsHandled then
            exit(Result);
        VendLedgEntry.Get("Applies-to Entry No.");
        if IsBankLCY() and (VendLedgEntry."Currency Code" <> '') then begin
            BankAccReconLine.Get("Statement Type", "Bank Account No.", "Statement No.", "Statement Line No.");
            VendLedgEntry.CalcFields("Remaining Amount");
            exit(
                CurrencyExchRate.ExchangeAmount(
                    VendLedgEntry."Remaining Amount", VendLedgEntry."Currency Code", '', BankAccReconLine."Transaction Date"));
        end;
        VendLedgEntry.CalcFields("Remaining Amount");
        exit(VendLedgEntry."Remaining Amount");
    end;

    [IntegrationEvent(false, false)]
    local procedure OnGetVendLedgEntryRemAmtBeforeCalcFields(AppliedPaymentEntry: Record "Applied Payment Entry"; var IsHandled: Boolean; var Result: Decimal)
    begin
    end;

Additional context
We have additional values to calculate the Remaining Amount and need to recalculate it to get the correct output for the procedure.
Internal work item: AB#547379

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.
Build ID: 24752.


text:
[Event Request] Codeunit 6500 "Item Tracking Management" OnBeforeCopyItemTracking3

Hello together,
in a manufacturing process it should be possible that within a predefined item tracking in the Prod. Order Line (same on Prod. Order Component), only a certain lot/serial number is finished or should be consumed.
To influence the filtering of the reservation entry, for example to enter a lot number, I need a publisher.
Otherwise a CalcSums of the quantity will be made on all lines of the Item Tracking later on and this quantity will not match the quantity of the Item Journal Line anymore, so that you are currently forced to finish the last operation completely (which actually does'nt always have to be the case.

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: Busslar bc-ghost


text:
[Event Request] Report 7391 - OnInsertPurchaseReturnOrderLine

Hi Team,
In Report 7391 we need possibility to have our additional checks . Having event in the trigger OnPostDataItem, would be a perfect solution :

[IntegrationEvent(false, false)]
local procedure OnInsertPurchaseReturnOrderLine(var PurchaseLineTemp: Record "Purchase Line"; var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; var SetBinCodeToPurchReturnOrder: Boolean; DestinationType2: Option MovementWorksheet,WhseInternalPutawayHeader,ItemJournalLine,TransferHeader,InternalMovementHeader,,,,,,,,,,,PurchReturnHeader)

Hi @MantasGurinas . Please clarify parameters, looks like they have been taken from other place.

Hi @MantasGurinas , any update from your side?

Hi @RomanZanizdra , it looks like it was a mistake. I'm closing this issue until we fix the issue.

authors: MantasGurinas RomanZanizdra


text:
Dynamics GP Historical Transactions extension

This is the new Dynamics GP Historical Transactions extension. It includes tables to store historical GP transactions for G/L, receivables, payables, purchase receivables, and inventory transactions. It also contains pages to display this information.

Settings added to allow for snapshot configuration.
The GP Intelligent Cloud extension queues a background job at the end of the migration to migrate the historical transactions snapshot.
The GP Detail snapshot can be reran if needed.
The Dynamics GP History SmartLists extension is deprecated and is no longer installed when the migration is finished.
Factboxes added to Customers and Vendors to display their historical transactions.
Factboxes added to the Cloud Migration Management page to show current status, log, and errors.

Availability update: We will publish a fix for this issue in the next update for release 21.
Build ID to track: 52569.

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.
Build ID: 52565.

source: gharchive/pull-request

authors: JesperSchulz jaymckinney-enavate


text:
[Android] \n Newline character added at the beginning/end of the text is not rendering.

Platform

Android

Author or host
Microsoft Teams
Version of SDK
1.2.10
Details
Text beginning/ ending with newline character(\n) aren't rendering on Android.

Desktop
Android

Components tested out are:

RichTextBlock with TextRun.
TextBlock

Here is the sample JSON for above card:
{
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "type": "AdaptiveCard",
    "version": "1.2",
    "body": [
        {
            "type": "TextBlock",
            "text": "This is a textblock"
        },
        {
            "type": "TextBlock",
            "text": "\n\nThis is a textblock"
        },
        {
            "type": "RichTextBlock",
            "inlines": [
                {
                    "type": "TextRun",
                    "text": "\n This is a rich text block"
                },
                {
                    "type": "TextRun",
                    "text": "\n This is a rich text block \n"
                }
            ]
        }
    ]
}

cc: @anbah34, @vikrantsingh01, @shbhadra

@jwoo-msft this seems to be related to our markdown handling and differences in various line break and newline escape character handling - Can you link this to the existing issue /discussion around this we've been having and is it also mentinoed in our Inconsistencies spec?

Also noticed this in our v1.2\Scenarios\FlightDetails.json sample:

Is this an outcome of one of the inconsistency discussions? @jwoo-msft

@shalinijoshi19
Sorry, somehow I missed your comment. This isn't a markdown issue.
Here is the parsed string we get once the deserialization is done for TextBlock with the text, "\n\nThis is a textblock".
"\n\nThis is a textblock"
notice that the newline chars are preserved."text": "\n\nThis is a textblock"

Scheduling for 21.02 as this is a P0 Teams ask.

Scheduling for 21.02 as this is a P0 Teams ask.

Task Update:
Remove Android code that pulls newlines from the rich text blocks
cc @paulcam206, @RebeccaAnne , @golddove

@jwoo-msft : Can you share the build version where this bug is fixed.

authors: Gunashree-R-V RebeccaAnne VikrantSingh01 golddove jwoo-msft shalinijoshi19

repo: microsoft/AdaptiveCards


text:
[Smoke Test] [Android] Tables

[ ] #6486

[ ] #6487

The sub issues have been spun off into separate issues. Closing this master bug.

authors: RebeccaAnne jwoo-msft


text:
[Site] Remove visualizer from site

Related Issue
Fixes VSO #24081771
Description
Per advice in VSO item, removing the visualizer. @dclaux / @matthidinger / @shalinijoshi19 -- this PR also removes the visualizer all up from the site. Is that what we want to do, or simply remove the link from the designer to the visualizer?
How Verified

local build and testing

Microsoft Reviewers: Open in CodeFlow

Removing the visualizer means no most Host Config editor, which is a pretty big loss for an arguably small group of folks. Any workarounds suggested?

I don't think we have any workaround at this point.

Removing the visualizer means no most Host Config editor, which is a pretty big loss for an arguably small group of folks. Any workarounds suggested?

Hmm to @matthidinger's point, there's still ~4% of our site users that are hitting the Visualizer page. Given that there is no workaround for them, then @paulcam206 should we then just remove references to it from the designer page while still hosting the visualizer on the site (so we aren't advertising it anymore but people who actually want to use it can manually hit it over adaptivecards.io/visualizer should they choose to? Is HostConfig editing the only thing needed to get feature parity in the designer vis-a-vis classic visualizer?

Removing the visualizer means no most Host Config editor, which is a pretty big loss for an arguably small group of folks. Any workarounds suggested?

Hmm to @matthidinger's point, there's still ~4% of our site users that are hitting the Visualizer page. Given that there is no workaround for them, then @paulcam206 should we then just remove references to it from the designer page while still hosting the visualizer on the site (so we aren't advertising it anymore but people who actually want to use it can manually hit it over adaptivecards.io/visualizer should they choose to? Is HostConfig editing the only thing needed to get feature parity in the designer vis-a-vis classic visualizer?

I'm willing to bet that the majority of users of the classic visualizer are not using it for hostconfig editing. I bet it's a combination of folks with old bookmarks and folks that don't like the designer.
Perhaps the right thing to do here is:

Remove visualizer link from the designer
Leave the visualizer live
Give the user a banner prompting them to move to the designer
Offer up a survey seeking feedback if they don't like the designer

Filed #4180 to cover the banner and survey.


text:
[BUG] error thrown using basic version + NPM setup

Description/Screenshot
I've installed the basic version using NPM, but attempting to initialise results in a JS error in the DevTools console:
index.js:34 Uncaught TypeError: _self.getSKUDefaults is not a function
    at index.js:34:1
    at dynamicProto (DynamicProto.js:514:1)
    at new ApplicationInsights (index.js:32:1)
    at jeorp.@microsoft/applicationinsights-web-basic (main.ts:3:21)
    at newRequire (index.b7a05eb9.js:71:24)
    at index.b7a05eb9.js:122:5
    at index.b7a05eb9.js:145:3

Steps to Reproduce
npm i --save @microsoft/applicationinsights-web-basic

import { ApplicationInsights } from '@microsoft/applicationinsights-web-basic';

const appInsights = new ApplicationInsights({
  instrumentationKey: 'd999b489-4274-4a38-9526-0964fd808627',
});

Full code available here: https://github.com/lindsayevans/linz.id.au/tree/develop/src
Can be seen in action here: https://yellow-smoke-042698a1e-develop.westus2.1.azurestaticapps.net/

OS/Browser: macOS 10.15.7, Chrome 103
SDK Version [e.g. 22]: 2.8.6
How you initialized the SDK:

Expected behavior
Additional context
Checking the location from the error (node_modules/@microsoft/applicationinsights-web-basic/dist-esm/index.js:34:1), it looks like getSKUDefaults is called before being defined:
_self.getSKUDefaults();
_initialize();
_self[_DYN_INITIALIZE /* @min:%2einitialize */] = _initialize;
_self.getSKUDefaults = function () {

Seems to be occurring with all 2.8.* versions, but works as expected with v2.7.6
npm i --save @microsoft/applicationinsights-web-basic@2.7.6

FYI: just tested against the nightly build & everything looks good

repo: microsoft/ApplicationInsights-JS


text:
Allow including custom properties in useTrackMetric

Add custom properties argument to useTrackMetric

Thanks for contributing

authors: MSNev simonurmi


text:
Error with PerformanceCounter

Hello guys,
I updated my Application Insights' nugets of an application that I developed with .NET Framework 4.8. I installed the lastest version (2.17.0) and when I am trying to debug my application, it always gives the same exception ('System.NullReferenceException' in Microsoft.AI.PerfCounterCollector.dll) on this line performanceCounter.Collect();.
What can I do to fix this?

Please share a minimal repro app showing this issue to investigate.

Hi @cijothomas ,
I can show you this image when exception is thrown:

And this is the output created by debug:
Application Insights Telemetry (unconfigured): {"name":"AppDependencies","time":"2021-03-25T16:44:34.7570189Z","tags":{"ai.cloud.roleInstance":"CPU-244.famo.pt","ai.operation.id":"e1300e0f7e6464499a12a7ea536bd46a","ai.operation.parentId":"fee080fa494db64f","ai.operation.name":"GET /FAMO.CODE_API/api/Products/Lines/Configurator","ai.location.ip":"::1","ai.internal.sdkVersion":"rddf:2.17.0-146","ai.internal.nodeName":"CPU-244.famo.pt"},"data":{"baseType":"RemoteDependencyData","baseData":{"ver":2,"name":"URANO | CODE_DEV","id":"780dd643525be04f","duration":"00:00:00.0053963","success":true,"type":"SQL","target":"URANO | CODE_DEV","properties":{"DeveloperMode":"true","_MS.ProcessedByMetricExtractors":"(Name:'Dependencies', Ver:'1.1')"}}}}
Application Insights Telemetry (unconfigured): {"name":"AppDependencies","time":"2021-03-25T16:44:34.7648878Z","tags":{"ai.cloud.roleInstance":"CPU-244.famo.pt","ai.operation.id":"e1300e0f7e6464499a12a7ea536bd46a","ai.operation.parentId":"fee080fa494db64f","ai.operation.name":"GET /FAMO.CODE_API/api/Products/Lines/Configurator","ai.location.ip":"::1","ai.internal.sdkVersion":"rddf:2.17.0-146","ai.internal.nodeName":"CPU-244.famo.pt"},"data":{"baseType":"RemoteDependencyData","baseData":{"ver":2,"name":"URANO | CODE_DEV","id":"5d5620c51499424e","duration":"00:00:00.0076206","success":true,"type":"SQL","target":"URANO | CODE_DEV","properties":{"DeveloperMode":"true","_MS.ProcessedByMetricExtractors":"(Name:'Dependencies', Ver:'1.1')"}}}}
Exception thrown: 'System.IO.IOException' in mscorlib.dll
Application Insights Telemetry (unconfigured): {"name":"AppDependencies","time":"2021-03-25T16:44:34.7759208Z","tags":{"ai.cloud.roleInstance":"CPU-244.famo.pt","ai.operation.id":"e1300e0f7e6464499a12a7ea536bd46a","ai.operation.parentId":"fee080fa494db64f","ai.operation.name":"GET /FAMO.CODE_API/api/Products/Lines/Configurator","ai.location.ip":"::1","ai.internal.sdkVersion":"rddf:2.17.0-146","ai.internal.nodeName":"CPU-244.famo.pt"},"data":{"baseType":"RemoteDependencyData","baseData":{"ver":2,"name":"URANO | CODE_DEV","id":"f41e9031a6a7584c","duration":"00:00:00.0073421","success":true,"type":"SQL","target":"URANO | CODE_DEV","properties":{"DeveloperMode":"true","_MS.ProcessedByMetricExtractors":"(Name:'Dependencies', Ver:'1.1')"}}}}
Application Insights Telemetry (unconfigured): {"name":"AppDependencies","time":"2021-03-25T16:44:34.7914830Z","tags":{"ai.cloud.roleInstance":"CPU-244.famo.pt","ai.operation.id":"e1300e0f7e6464499a12a7ea536bd46a","ai.operation.parentId":"fee080fa494db64f","ai.operation.name":"GET /FAMO.CODE_API/api/Products/Lines/Configurator","ai.location.ip":"::1","ai.internal.sdkVersion":"rddf:2.17.0-146","ai.internal.nodeName":"CPU-244.famo.pt"},"data":{"baseType":"RemoteDependencyData","baseData":{"ver":2,"name":"URANO | CODE_DEV","id":"1dc255805da0d749","duration":"00:00:00.0044607","success":true,"type":"SQL","target":"URANO | CODE_DEV","properties":{"DeveloperMode":"true","_MS.ProcessedByMetricExtractors":"(Name:'Dependencies', Ver:'1.1')"}}}}
Application Insights Telemetry (unconfigured): {"name":"AppDependencies","time":"2021-03-25T16:44:34.7986851Z","tags":{"ai.cloud.roleInstance":"CPU-244.famo.pt","ai.operation.id":"e1300e0f7e6464499a12a7ea536bd46a","ai.operation.parentId":"fee080fa494db64f","ai.operation.name":"GET /FAMO.CODE_API/api/Products/Lines/Configurator","ai.location.ip":"::1","ai.internal.sdkVersion":"rddf:2.17.0-146","ai.internal.nodeName":"CPU-244.famo.pt"},"data":{"baseType":"RemoteDependencyData","baseData":{"ver":2,"name":"URANO | CODE_DEV","id":"171a6434f6990746","duration":"00:00:00.0055291","success":true,"type":"SQL","target":"URANO | CODE_DEV","properties":{"DeveloperMode":"true","_MS.ProcessedByMetricExtractors":"(Name:'Dependencies', Ver:'1.1')"}}}}
Application Insights Telemetry (unconfigured): {"name":"AppDependencies","time":"2021-03-25T16:44:34.8058908Z","tags":{"ai.cloud.roleInstance":"CPU-244.famo.pt","ai.operation.id":"e1300e0f7e6464499a12a7ea536bd46a","ai.operation.parentId":"fee080fa494db64f","ai.operation.name":"GET /FAMO.CODE_API/api/Products/Lines/Configurator","ai.location.ip":"::1","ai.internal.sdkVersion":"rddf:2.17.0-146","ai.internal.nodeName":"CPU-244.famo.pt"},"data":{"baseType":"RemoteDependencyData","baseData":{"ver":2,"name":"URANO | CODE_DEV","id":"fafa747f291ba04f","duration":"00:00:00.0045239","success":true,"type":"SQL","target":"URANO | CODE_DEV","properties":{"DeveloperMode":"true","_MS.ProcessedByMetricExtractors":"(Name:'Dependencies', Ver:'1.1')"}}}}
Exception thrown: 'System.InvalidOperationException' in System.dll
Exception thrown: 'System.NullReferenceException' in Microsoft.AI.PerfCounterCollector.dll
Object reference not set to an instance of an object.

This doesn't help us with any investigation. Need to have a repro app, or the exact instructions which can repro the behavior.

Sorry if it is not enough. In my MVC project, I only click in "IIS" and before my application shows up, this exception is thrown multiple times.

@antoniogarcez  Did you find the solution for your problem? I'm facing the same issue.
I'm running an web application ASP.NET 4.6.1 I'm trying to add a default Application Insights setup by Configuring a default App Application insights by SDK.
ApplicationInsightsConfigFile.zip
Debug output --
Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Server response time","kind":"Aggregation","value":572.0885,"count":1,"min":572.0885,"max":572.0885,"stdDev":0}],"properties":{"operation/synthetic":"False","request/performanceBucket":"500ms-1sec","cloud/roleName":"Unknown","_MS.MetricId":"requests/duration","_MS.IsAutocollected":"True","_MS.AggregationIntervalMs":"50000","Request.Success":"True","cloud/roleInstance":"LAPTOP-XJEA31","request/resultCode":"200"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Server response time","kind":"Aggregation","value":826.8681,"count":3,"min":257.0655,"max":289.3134,"stdDev":13.6074460079765}],"properties":{"operation/synthetic":"False","request/performanceBucket":"250ms-500ms","cloud/roleName":"Unknown","_MS.MetricId":"requests/duration","_MS.IsAutocollected":"True","_MS.AggregationIntervalMs":"50000","Request.Success":"True","cloud/roleInstance":"LAPTOP-XJEA31","request/resultCode":"200"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Dependency duration","kind":"Aggregation","value":427.3933,"count":1,"min":427.3933,"max":427.3933,"stdDev":0}],"properties":{"operation/synthetic":"False","Dependency.Success":"True","dependency/performanceBucket":"250ms-500ms","cloud/roleName":"Unknown","_MS.MetricId":"dependencies/duration","_MS.IsAutocollected":"True","dependency/target":"test.XXXX.api","_MS.AggregationIntervalMs":"50000","cloud/roleInstance":"LAPTOP-XJEA31","dependency/resultCode":"200","Dependency.Type":"Http"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Dependency duration","kind":"Aggregation","value":68.2655,"count":1,"min":68.2655,"max":68.2655,"stdDev":0}],"properties":{"operation/synthetic":"False","Dependency.Success":"True","dependency/performanceBucket":"<250ms","cloud/roleName":"Unknown","_MS.MetricId":"dependencies/duration","_MS.IsAutocollected":"True","dependency/target":"test.XXXX.api","_MS.AggregationIntervalMs":"50000","cloud/roleInstance":"LAPTOP-XJEA31","dependency/resultCode":"200","Dependency.Type":"Http"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Dependency duration","kind":"Aggregation","value":349.4797,"count":8,"min":26.1161,"max":78.3276,"stdDev":17.0806961506943}],"properties":{"operation/synthetic":"False","Dependency.Success":"True","dependency/performanceBucket":"<250ms","cloud/roleName":"Unknown","_MS.MetricId":"dependencies/duration","_MS.IsAutocollected":"True","dependency/target":"test.xxx.api","_MS.AggregationIntervalMs":"50000","cloud/roleInstance":"LAPTOP-XJEA31","dependency/resultCode":"200","Dependency.Type":"Http"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Dependency duration","kind":"Aggregation","value":3362.6157,"count":3,"min":1072.91,"max":1148.1796,"stdDev":34.0227879934419}],"properties":{"operation/synthetic":"False","Dependency.Success":"True","dependency/performanceBucket":"1sec-3sec","cloud/roleName":"Unknown","_MS.MetricId":"dependencies/duration","_MS.IsAutocollected":"True","dependency/target":"test.xxx.api","_MS.AggregationIntervalMs":"50000","cloud/roleInstance":"LAPTOP-XJEA31","dependency/resultCode":"200","Dependency.Type":"Http"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Server response time","kind":"Aggregation","value":3571.0884,"count":2,"min":1055.4554,"max":2515.633,"stdDev":730.0888}],"properties":{"operation/synthetic":"False","request/performanceBucket":"1sec-3sec","cloud/roleName":"Unknown","_MS.MetricId":"requests/duration","_MS.IsAutocollected":"True","_MS.AggregationIntervalMs":"50000","Request.Success":"True","cloud/roleInstance":"LAPTOP-XJEA31","request/resultCode":"200"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Dependency duration","kind":"Aggregation","value":1322.8034,"count":2,"min":603.9236,"max":718.8798,"stdDev":57.4780999999994}],"properties":{"operation/synthetic":"False","Dependency.Success":"True","dependency/performanceBucket":"500ms-1sec","cloud/roleName":"Unknown","_MS.MetricId":"dependencies/duration","_MS.IsAutocollected":"True","dependency/target":"test.xxx.api","_MS.AggregationIntervalMs":"50000","cloud/roleInstance":"LAPTOP-XJEA31","dependency/resultCode":"200","Dependency.Type":"Http"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Dependency duration","kind":"Aggregation","value":1306.2165,"count":3,"min":412.2061,"max":470.0995,"stdDev":24.9934099682295}],"properties":{"operation/synthetic":"False","Dependency.Success":"True","dependency/performanceBucket":"250ms-500ms","cloud/roleName":"Unknown","_MS.MetricId":"dependencies/duration","_MS.IsAutocollected":"True","dependency/target":"xxxxx.azurewebsites.net | cid-v1:6678289b-9f57-4f53-b932-9b94ba164c21","_MS.AggregationIntervalMs":"50000","cloud/roleInstance":"LAPTOP-XJEA31","dependency/resultCode":"200","Dependency.Type":"Http (tracked component)"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Server response time","kind":"Aggregation","value":0.0178,"count":2,"min":0.0084,"max":0.0094,"stdDev":0.000499999999999965}],"properties":{"operation/synthetic":"False","request/performanceBucket":"<250ms","cloud/roleName":"Unknown","_MS.MetricId":"requests/duration","_MS.IsAutocollected":"True","_MS.AggregationIntervalMs":"50000","Request.Success":"True","cloud/roleInstance":"LAPTOP-XJEA31","request/resultCode":"301"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Server response time","kind":"Aggregation","value":283.7352,"count":7,"min":20.0782,"max":91.4169,"stdDev":23.0686433140622}],"properties":{"operation/synthetic":"False","request/performanceBucket":"<250ms","cloud/roleName":"Unknown","_MS.MetricId":"requests/duration","_MS.IsAutocollected":"True","_MS.AggregationIntervalMs":"50000","Request.Success":"False","cloud/roleInstance":"LAPTOP-XJEA31","request/resultCode":"404"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Server response time","kind":"Aggregation","value":1560.7904,"count":37,"min":16.1433,"max":210.1531,"stdDev":34.1668982869377}],"properties":{"operation/synthetic":"False","request/performanceBucket":"<250ms","cloud/roleName":"Unknown","_MS.MetricId":"requests/duration","_MS.IsAutocollected":"True","_MS.AggregationIntervalMs":"50000","Request.Success":"True","cloud/roleInstance":"LAPTOP-XJEA31","request/resultCode":"200"}}}} Application Insights Telemetry: {"name":"AppMetrics","time":"2021-06-29T13:19:11.0000000Z","iKey":"xxxxx","tags":{"ai.cloud.roleInstance":"LAPTOP-XJEA31","ai.internal.sdkVersion":"m-agg2:2.17.0-146"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"Dependency duration","kind":"Aggregation","value":1668.5255,"count":52,"min":15.4877,"max":86.7231,"stdDev":16.3124367529494}],"properties":{"operation/synthetic":"False","Dependency.Success":"True","dependency/performanceBucket":"<250ms","cloud/roleName":"Unknown","_MS.MetricId":"dependencies/duration","_MS.IsAutocollected":"True","dependency/target":"BencomStateServer.bencomfarm.local | ASPState","_MS.AggregationIntervalMs":"50000","cloud/roleInstance":"LAPTOP-XJEA31","dependency/resultCode":"Unknown","Dependency.Type":"SQL"}}}} Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll Exception thrown: 'System.NullReferenceException' in Microsoft.AI.PerfCounterCollector.dll Object reference not set to an instance of an object.

Nope and it's really annoying.
To run my project, I have to click on "Continue" three times and after some time, the exception is thrown again and again and again... . If you find something, please tell me.

@antoniogarcez Can imagine. Do you have some other logging services installed? And does the originalString value also looks like this "\\ASP.NET Applications(??APP_W3SVC_PROC??)\\Requests/Sec" ?

@Robert-Zandberg Sorry but do you know where I can find that value? I am using the default logging services (ApplicationInsightsWebTracking)

@antoniogarcez I found the solution that works for me. Maybe this also helps you, the issue happened because the application pool does not have access to the folder where the website files are kept.
So what I needed to do was adding a the IIS_IUSER as a authenticated user. Right click on the repo/folder then security tab, add new user and add IIS_IUSER.

I hope this will help you as well.

@Robert-Zandberg I did like you suggested but this error continues happening.

How did you configure your application pool?

repo: microsoft/ApplicationInsights-dotnet


text:
Does applicationInsights SDK support send batch event synchronously

Is your feature request related to a problem? Please describe.
Here is my service scenario. Worker service subscribe Azure eventhub, process events from eventhub and output result to ApplicationInsights.  As I know applicationInsights SDK process result and telemetry asynchronously.  But worker service seems applicationInsights process rate is slower than process events from eventhub. When there are high traffic event comming in, it cause many result items pipe up in applicationInsights SDK buffer and memory goes up to limit finally OOM.
I think maybe there is a bottleneck in applicationInsights.
Describe the solution you'd like
I would like to make applicationInsights SDK process event synchronously. For example, worker service pull batch events from eventhub and output batch result to applicationInsights synchronoulsy. it means worker service will not pull next batch events from eventhub until the current batch is prccessed and applicationInsights SDK buffer is flushed.
I want applicationInsights support two features:

expose current buffer length, so we could monitoring whether there are some data is block in applicationInsights buffer or queue.
support explicitly send batch result or telemetry synchronously

Describe alternatives you've considered
Additional context
Really apprecicate you could give some advice or some techincal detials. Thanks~

TelemetryClient flush method accepts a FlushOptions parameter where you can include a callback and wait until flush is done on your side.
channel is available in TelemetryClient where you can read _buffer  property to determine the number of envelopes in the buffer.

Please let us know if you still have issues with this.

authors: hectorhdzg ruowan


text:
tagdiff fails with -o on ubuntu (appinspector 1.0.27)

Describe the bug
When running 'tagdiff' with the -o flag, the application fails to access the output directory for some reason.
To Reproduce
AppInspector.dll tagdiff -x high --src1 proj1 --src2 proj2 -o ~/tmp
Expected behavior
No runtime error
Screenshots

Desktop (please complete the following information):
Ubuntu 18.04.4 LTS

Looking into thanks.

Listen I am not seeing the issue having tested both the ~tmp file name is used or a directory /tmp is created and a filename is included which your example omitted so that it is referencing only a directory.  I'd look at that.  See my results here.

Oh, so it happens when you pass an existing directory instead of the path to a non-existing file.
So -o /tmp will not work if tmp is an already existing directly, maybe some error handling is missing.

I think the problem was just that your arg didn't include a filename at the end of the directory.  Note the directory must already exists as the app won't create the directory and file referenced.  So, if tmp is a directory and you only include -o /tmp that won't work but -o /temp/out.txt will work.  Cheers.

authors: d-karlss guyacosta

repo: microsoft/ApplicationInspector


text:
Azure Kinect on Jetson Orin

Azure Kinect - ROS in Nvidia Jetson
I need to use azure kinect with ros in jetson nano. Currently I use ubuntu 20.04 in Jetson.
Actually I followed this  link which is working fine (standalone) when I run the SDK with command ./bin/k4aviewer in the Azure-Kinect_Sensor_SDK/build directory. But I need to use azure kinect with ROS. So then I seach k4a in terminal, I don't see it.
Then, I look for this website(Offical GitHub)
ARM64 users, please use the same instructions, but use https://packages.microsoft.com/ubuntu/18.04/multiarch/prod for the repository path instead of the default https://packages.microsoft.com/ubuntu/18.04/prod.
But I use ubuntu 20.04. So, I look for https://packages.microsoft.com/ubuntu/20.04/prod which is available but for ARM64 user https://packages.microsoft.com/ubuntu/20.04/multiarch/prod is not there.
So in short I am able to use SDK standalone but not with ROS. I need .../20.04/multiarch/prod or another way to run this SDK in ROS with ./bin/k4aviewer
Also I am open for all suggestions...

Hey dude,
You probably won't get the help you need from here.
Binaries from ubuntu 18.04 should work on 20.04,  i built my binaries from source.
If you want to execute in headless (without desktop) in the future:
You will need to "mock" desktop environment to populate DISPLAY variable.

authors: ShayHQ omerKurkutlu

repo: microsoft/Azure-Kinect-Sensor-SDK

license: mit

license_source: bigquery


text:
Cannot publish Bot to Azure

Describe the bug
We're trying to deploy out bot made with the Composer App with the publish workflow provided in the application. Our bot is also using LUIS services.
We're experiencing issues when launching the publish script and looks like it has to do with the proper LUIS resource configuration. We already did publish this specific bot in the past using the same process.
The problem began when updating to the last stable of the composer.
Version
4.7.0-preview-191208-1
Browser

[X] Chrome
[ ] Safari
[ ] Firefox
[X] Edge

OS

[ ] macOS
[X] Windows
[ ] Ubuntu

To Reproduce
Follow the publish procedure provided in the composer app.
This is the error i get.
Screenshots

@fathorMB Hi, did you meet the same error like this:

@hibrenda  This is caused by empty model error in luis build. Will be fixed in #2402

@zidaneymar Yes, that's an error we get before the lubuild succeeded message. All this happens before the 401 error.

addressed via https://github.com/microsoft/BotFramework-Composer/pull/2402

authors: cwhitten fathorMB zidaneymar

repo: microsoft/BotFramework-Composer


text:
=addProperty({} , "a" ,dialog.a) could not be executed twice

Describe the bug

If we begin the following dialog twice

It will send the following error for the second set properties
Expression evaluation resulted in an error. Expression: =addProperty({} , “a” ,dialog.a). Error: a already exists
Version

Browser

[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[ ] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior

Screenshots

Additional context

setProperty is also incorrect. for example, the following will generate an array with repeated last element:
=select(indicesAndValues(dialog.tasks),iter,setProperty(setProperty(setProperty({}, "Id", iter.index),"Topic",iter.value.subject),"IsCompleted",if(iter.value.status=="completed",True,False)))


text:
Provision editing : no resource is needed for provisioning

If user has already created all the resources, user will hit following white page.

we need to let user know there is no resource to be added and gray out "next" button as well for preventing user to go next.

this has been fixed.

authors: benbrown hibrenda


text:
Custom triggers: the project tree and entry element in the flow view aren't rendering labels/descriptions

When adding a custom trigger that comes in from a package, the following get rendered:

cc @ryanlengel


text:
Add support for deleteActivity and updateActivity

Is your feature request related to a problem? Please describe.
We currently cannot use the emulator to test bots that use deleteActivity and updateActivity. These are pretty commonly used methods in real bots.
Describe the solution you'd like
Add support for these 2 methods.  According to @tomlm this is dependent on support being added to webchat. I've opened a ticket on that repo as well.
[enhancement]

Unclear channel support roadmap for update and delete activity. @seaen; @compulim - let's triage this for webchat support separately.

Any news on this feature? We need this feature badly.

As far as I know, the status last given by the Direct Line service still stands:

support for Update and Delete within the Direct Line service remains on the backlog with low priority and no ETA due to low customer demand

Since this feature relies on changes in the service, and then in Web Chat, it is not currently on our radar until that work is done.

exactly when will that happen? it's been 3 years.

Any chance on this ever being updated?

authors: Godrules500 benbrown jayadrathamondal tonyanziano twarped vishwacsena

repo: microsoft/BotFramework-Emulator


text:
Error: Binary format of the specified custom attribute was invalid

Hi ClearScript Team,
i have the following code:
 [CustomAttribute("ResponseEmpty", ExportType = false)]
 public class ResponseEmpty
 {
     public bool ok { get; set; }
 }

 [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
 public sealed class CustomAttribute: Attribute
 {
     public string ClassAlias { get; }

     public bool ExportType { get; set; } = true;

     public CustomAttribute(string classAlias)
     {
         ClassAlias = classAlias;
     }
 }

When i return a object from type ResponseEmpty to a V8Script, i get this exception:
Error: Binary format of the specified custom attribute was invalid.
       at V8ScriptEngine [internal]:1:896 -> Object.defineProperty(this,'EngineInternal',{value:(t=>{let e=t=>t.bind();function r(){return new this(...arguments)}let o=t.isHostObjectKey;delete t.isHostObjectKey;let n=t=>!!t&&!0===t[o],c=Promise,i=JSON,a=Symbol(),s=t.toJson;return delete t.toJson,Object.freeze({commandHolder:{},getCommandResult:e(t=>null==t?t:'function'!=typeof t.hasOwnProperty?'Module'===t[Symbol.toStringTag]?'[module]':'[external]':!0===t[o]?t:'function'!=typeof t.toString?'['+typeof t+']':t.toString()),strictEquals:e((t,e)=>t===e),invokeConstructor:e((t,e)=>{if('function'!=typeof t)throw Error('Function expected');return r.apply(t,Array.from(e))}),invokeMethod:e((t,e,r)=>{if('function'!=typeof e)throw Error('Function expected');return e.apply(t,Array.from(r))}),createPromise:e(function(){return new c(...arguments)}),isPromise:e(t=>t instanceof c),isHostObject:e(n),completePromiseWithResult:e((t,e,r)=>{try{e(t())}catch(o){r(o)}}),completePromise:e((t,e,r)=>{try{t(),e()}catch(o){r(o)}}),throwValue:e(t=>{throw t}),getStackTrace:e(()=>{try{throw Error('[stack trace]')}catch(t){return t.stack}}),toIterator:e(function*(t){try{for(;t.ScriptableMoveNext();)yield t.ScriptableCurrent}finally{t.ScriptableDispose()}}),toAsyncIterator:e(async function*(t){try{for(;await t.ScriptableMoveNextAsync();)yield t.ScriptableCurrent}finally{await t.ScriptableDisposeAsync()}}),getIterator:e(t=>t?.[Symbol.iterator]?.()),getAsyncIterator:e(t=>t?.[Symbol.asyncIterator]?.()),checkpoint:e(()=>{let e=t[a];if(e)throw e}),toJson:e((t,e)=>s?i.parse(s(t,e)):e),parseJson:e(t=>i.parse(t)),asyncGenerator:async function*(){}().constructor})})(this)});
   --- End of inner exception stack trace ---
   at Microsoft.ClearScript.V8.SplitProxy.V8SplitProxyNative.Invoke(Action`1 action)
   at Microsoft.ClearScript.V8.SplitProxy.V8ContextProxyImpl.InvokeWithLock(Action action)
   at Microsoft.ClearScript.V8.V8ScriptEngine.ScriptInvoke[T](Func`1 func)
   at Microsoft.ClearScript.V8.V8ScriptItem.InvokeMethod(Boolean marshalResult, String name, Object[] args)
   at Microsoft.ClearScript.V8.V8ScriptItem.InvokeMethod(String name, Object[] args)
   at Microsoft.ClearScript.V8.V8ScriptEngine.<>c__DisplayClass147_0.<Microsoft.ClearScript.JavaScript.IJavaScriptEngine.CreateTaskForPromise>b__1(Object error)
   --- Script error details follow ---
   Error: Binary format of the specified custom attribute was invalid.
       at V8ScriptEngine [internal]:1:896 -> Object.defineProperty(this,'EngineInternal',{value:(t=>{let e=t=>t.bind();function r(){return new this(...arguments)}let o=t.isHostObjectKey;delete t.isHostObjectKey;let n=t=>!!t&&!0===t[o],c=Promise,i=JSON,a=Symbol(),s=t.toJson;return delete t.toJson,Object.freeze({commandHolder:{},getCommandResult:e(t=>null==t?t:'function'!=typeof t.hasOwnProperty?'Module'===t[Symbol.toStringTag]?'[module]':'[external]':!0===t[o]?t:'function'!=typeof t.toString?'['+typeof t+']':t.toString()),strictEquals:e((t,e)=>t===e),invokeConstructor:e((t,e)=>{if('function'!=typeof t)throw Error('Function expected');return r.apply(t,Array.from(e))}),invokeMethod:e((t,e,r)=>{if('function'!=typeof e)throw Error('Function expected');return e.apply(t,Array.from(r))}),createPromise:e(function(){return new c(...arguments)}),isPromise:e(t=>t instanceof c),isHostObject:e(n),completePromiseWithResult:e((t,e,r)=>{try{e(t())}catch(o){r(o)}}),completePromise:e((t,e,r)=>{try{t(),e()}catch(o){r(o)}}),throwValue:e(t=>{throw t}),getStackTrace:e(()=>{try{throw Error('[stack trace]')}catch(t){return t.stack}}),toIterator:e(function*(t){try{for(;t.ScriptableMoveNext();)yield t.ScriptableCurrent}finally{t.ScriptableDispose()}}),toAsyncIterator:e(async function*(t){try{for(;await t.ScriptableMoveNextAsync();)yield t.ScriptableCurrent}finally{await t.ScriptableDisposeAsync()}}),getIterator:e(t=>t?.[Symbol.iterator]?.()),getAsyncIterator:e(t=>t?.[Symbol.asyncIterator]?.()),checkpoint:e(()=>{let e=t[a];if(e)throw e}),toJson:e((t,e)=>s?i.parse(s(t,e)):e),parseJson:e(t=>i.parse(t)),asyncGenerator:async function*(){}().constructor})})(this)});
   --- End of inner exception stack trace ---

The workaround for this exception is to change the code to the following:
 [CustomAttribute("ResponseEmpty", false)] //here
 public class ResponseEmpty
 {
     public bool ok { get; set; }
 }

 [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
 public sealed class CustomAttribute: Attribute
 {
     public string ClassAlias { get; }

     public bool ExportType { get;  } = true;

     public CustomeAttribute(string classAlias)
     {
         ClassAlias = classAlias;
     }

     public CustomAttribute(string classAlias, bool exportType) //here
     {
         ClassAlias = classAlias;
         ExportType = exportType;
     }
 }

Thanks in advance.
Best regards,
David

Hi @DavidBal,
We're having trouble reproducing this issue. We can pass ResponseEmpty instances to script code – and instantiate ResponseEmpty in script code – without any problems. Can you provide a minimal sample? Also what .NET runtime are you using?
Thanks!

Please reopen this issue if you have additional information about this topic. Thank you!

authors: ClearScriptLib DavidBal

repo: microsoft/ClearScript


text:
Cannot build F# project with Microsoft.ProjectReunion.WinUI

Describe the bug
F# project that references Microsoft.ProjectReunion.WinUI does not build
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2902,7): error MSB4057: The target "XamlPreCompile" does not exist in the project.

To Reproduce

Clone https://github.com/xperiandri/Elmish.Uno/tree/uno_winui
Check out https://github.com/xperiandri/Elmish.Uno/tree/uno_winui branch
Open Elmish.Uno.sln
Build Elmish.Uno.fsproj

Expected behavior
Project builds sucessfully
Version Info
Microsoft.ProjectReunion.WinUI 0.5.0-prerelease

@xperiandri Can you file this issue on the Reunion repo? https://github.com/microsoft/ProjectReunion
This seems like a Reunion issue, not C#/WinRT

authors: angelazhangmsft xperiandri

repo: microsoft/CsWinRT


text:
Inquiry about Parameters Used in Figure 5

Hi authors,
Thank you for your excellent work. I have a question regarding the parameters used in Figure 5 of your paper.
In the description below Figure 5, it's stated that ε = 3.34 and δ = 10^-5. Additionally, in the appendix, you mention that the number of iterations T = 20, the noise multiplier σ = √2.
I've been trying to reproduce these results using the compute_epsilon function, but I'm encountering some discrepancies. With the given σ, δ, and T, I'm unable to arrive at ε = 3.34. However, I was able to obtain ε = 3.34 using the following parameters:
δ = 10^-5
T = 5
σ = 2√2
Here's the Python code I used:
from math import sqrt
delta = 1e-5
epoch = 5
fixed_noise = 2*sqrt(2)  # 2√2
eps = compute_epsilon(fixed_noise, epoch, delta)
print(f"For noise = {fixed_noise:.4f}, epoch = {epoch}, and delta = {delta}")
print(f"The computed epsilon is: {eps:.6f}")
I would greatly appreciate it if you could clarify the exact parameters used for Figure 5. This would help me understand where the discrepancy in my calculations might be occurring.
Thank you for your time and assistance.
Best regards,
Jin

Hi @Jinsterrr, Thanks for your question.
I just checked my experiment logs. You are right---the parameters I used to run this experiment was delta=1e-5, T=5, and \sigma=2\sqrt{2}. In the appendix, there was a typo on the \sigma, and I forgot to specify T. I will correct these errors in the next arXiv update.
Thanks again for catching this issue!

@Jinsterrr: There is a typo on the threshold, too---the threshold should be $H=4$. I will fix that as well.

@Jinsterrr I just updated the arXiv with this typo fixed. See Appendix J of https://arxiv.org/pdf/2305.15560

authors: Jinsterrr fjxmlzn

repo: microsoft/DPSDA


text:
[BUG] Encountered a problem when using SparseSelfAttention.

Hi there,
I attempt to use SparseSelfAttention class to calculate matrix multiplication as following code:
result_layer = self.sparse_self_attention(query_layer,
key_layer,
value_layer,
key_padding_mask=None)
Two months ago, the thing was oke but now I run the same code again and an error is triggered as shown below:
ImportError: cannot import name 'MatMul' from 'deepspeed.ops.sparse_attention' (/usr/local/lib/python3.7/dist-packages/deepspeed/ops/sparse_attention/init.py)
Please help me fix that error.
Many thanks!
P/s: Deepspeed was successfully installed via ds_report.txt.
ds_report.txt

Hi @AngThanos,
this problem might be due to the changes we imported from the new version of Triton. I will try this and let you know if I repro this. If you could provide me some test for this, that would be awesome.
We will push a fix for this soon.
Thanks,
Reza

Hi Im having the same error when I try
from deepspeed.ops.sparse_attention import MatMul, Softmax
The error -
ImportError: cannot import name 'MatMul' from 'deepspeed.ops.sparse_attention' (/opt/conda/lib/python3.7/site-packages/deepspeed/ops/sparse_attention/__init__.py)
my 'ds_report' is:
--------------------------------------------------
DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
      runtime if needed. Op compatibility means that your system
      meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
cpu_adam ............... [NO] ....... [OKAY]
cpu_adagrad ............ [NO] ....... [OKAY]
fused_adam ............. [NO] ....... [OKAY]
fused_lamb ............. [NO] ....... [OKAY]
sparse_attn ............ [YES] ...... [OKAY]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
async_io ............... [NO] ....... [OKAY]
utils .................. [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
transformer_inference .. [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/opt/conda/lib/python3.7/site-packages/torch']
torch version .................... 1.11.0
torch cuda version ............... 11.3
torch hip version ................ None
nvcc version ..................... 11.3
deepspeed install path ........... ['/opt/conda/lib/python3.7/site-packages/deepspeed']
deepspeed info ................... 0.6.2+0149bd4f, 0149bd4f, master
deepspeed wheel compiled w. ...... torch 1.11, cuda 11.3, hip 0.0

Hi Im having the same error when I try from deepspeed.ops.sparse_attention import MatMul, Softmax
The error - ImportError: cannot import name 'MatMul' from 'deepspeed.ops.sparse_attention' (/opt/conda/lib/python3.7/site-packages/deepspeed/ops/sparse_attention/__init__.py)
my 'ds_report' is:
--------------------------------------------------
DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
      runtime if needed. Op compatibility means that your system
      meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
cpu_adam ............... [NO] ....... [OKAY]
cpu_adagrad ............ [NO] ....... [OKAY]
fused_adam ............. [NO] ....... [OKAY]
fused_lamb ............. [NO] ....... [OKAY]
sparse_attn ............ [YES] ...... [OKAY]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
async_io ............... [NO] ....... [OKAY]
utils .................. [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
transformer_inference .. [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/opt/conda/lib/python3.7/site-packages/torch']
torch version .................... 1.11.0
torch cuda version ............... 11.3
torch hip version ................ None
nvcc version ..................... 11.3
deepspeed install path ........... ['/opt/conda/lib/python3.7/site-packages/deepspeed']
deepspeed info ................... 0.6.2+0149bd4f, 0149bd4f, master
deepspeed wheel compiled w. ...... torch 1.11, cuda 11.3, hip 0.0

This was due to a wrong import. The correct import is.
 from deepspeed.ops.sparse_attention.matmul import MatMul

Closing as the issue is stale given the updates to DeepSpeed and triton.

authors: AngThanos RezaYazdaniAminabadi loadams shehan360

repo: microsoft/DeepSpeed


text:
[BUG] [0.6.7] Runtime Device index error with DeepSpeedTransformerInference on long sequences

Describe the bug
Running a forward pass on a DeepSpeedTransformerInference layer, with a sequence length of ~1000 tokens, results in a Device  Index Runtime error.
To Reproduce
Here is a minimal reproducible example that shows the bug:
from deepspeed.ops.transformer import DeepSpeedInferenceConfig, DeepSpeedTransformerInference
import torch

torch.cuda.set_device(0)

hidden_size = 256
heads = 8
num_layers = 12
fp16 = True
layernorm_epsilon = 1e-5
deepspeed_config = DeepSpeedInferenceConfig(hidden_size=hidden_size,
                                            intermediate_size=hidden_size * 4,
                                            heads=heads,
                                            num_hidden_layers=num_layers,
                                            layer_norm_eps=layernorm_epsilon,
                                            # encoder_decoder=False,
                                            fp16=fp16,
                                            pre_layer_norm=True,
                                            stochastic_mode=False,
                                            scale_attention=True,
                                            triangular_masking=True,
                                            local_attention=False,
                                            window_size=256,
                                            )
transformer = DeepSpeedTransformerInference(config=deepspeed_config)
transformer.half()
new_state_dict = {k: 0.01*torch.ones(*v.shape, dtype=v.dtype, device=v.device)
                  for k,v in transformer.state_dict().items()}
transformer.load_state_dict(new_state_dict)
transformer.cuda()
device = list(transformer.parameters())[0].device

batch_size = 1
seq_len = 1000
inputs = torch.ones((batch_size, seq_len, hidden_size), dtype=torch.float16, device=device)
input_mask = torch.ones(*inputs.shape[:2], dtype=bool, device=device)

output, _ = transformer(
    input=inputs,
    input_mask=input_mask)

print(f"outupt: \n {output}")

Running the code resulted with the following exception
RuntimeError: Device index must be -1 or non-negative, got -2

Expected behavior
I was expecting to get a correct output, without the exception. Also, when running with shorter sequences (seq_len=100) correct results were returned.
ds_report output
--------------------------------------------------
DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
      runtime if needed. Op compatibility means that your system
      meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
cpu_adam ............... [NO] ....... [OKAY]
cpu_adagrad ............ [NO] ....... [OKAY]
fused_adam ............. [NO] ....... [OKAY]
fused_lamb ............. [NO] ....... [OKAY]
 [WARNING]  using untested triton version (1.1.1), only 1.0.0 is known to be compatible
sparse_attn ............ [NO] ....... [NO]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
 [WARNING]  async_io requires the dev libaio .so object and headers but these were not found.
 [WARNING]  async_io: please install the libaio-dev package with apt
 [WARNING]  If libaio is already installed (perhaps from source), try setting the CFLAGS and LDFLAGS environment variables to where it can be found.
async_io ............... [NO] ....... [NO]
utils .................. [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
transformer_inference .. [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/opt/conda/lib/python3.8/site-packages/torch']
torch version .................... 1.8.0a0+1606899
torch cuda version ............... 11.1
torch hip version ................ None
nvcc version ..................... 11.1
deepspeed install path ........... ['/opt/conda/lib/python3.8/site-packages/deepspeed']
deepspeed info ................... 0.6.7, unknown, unknown
deepspeed wheel compiled w. ...... torch 1.8, cuda 11.1

System info (please complete the following information):

OS: Ubuntu 20.04
GPU count and types: a single A100 GPU
Python version: 3.8.5

Launcher context
Launching directly using Python interpreter.

Hi @tomeras91
Thanks for reporting this. I am going to take a look at it and send a fix soon
Best,
Reza

@RezaYazdaniAminabadi @cmikeh2 - any news on this? Just tested version 0.7.1 and the bug is still there


text:
2020.08.22 fixed nodejs ci error & refined groundtruth structure (by …

Description
Current consensus is that the converter project will run on windows platform, but the github workflow (/,github/workflows/nodejs.yml) wants a ubuntu environment, which may trigger unexpect exceptions. So I modified the platform from ubuntu to windows.
Besides above, the previous ground truth files contains unnecessary fields used for ui effections, such as unusedSegments and invalidAccess, I removed them for cleaner ground truth files content.

For now, OSS Converter runs in linux containers, you can find more detail in the Dockerfile. As node is a cross-platform runtime, what risks we may face after migrating to windows platform?
Agree with the ground truth part. However, do we have any test cases for unusedSegments  and invalidAccess? These parts should be covered in additional testing for Web UI functions.

Yes, I agree. However, if we separate them, we may still need to add some regression test for them separately because we will continue to use unused segments and invalid access in the future.

Finally, I made it. There are no differet performace on desperate platforms any more.

authors: ACMoretxj moria97 yankunhuang-pku

repo: microsoft/FHIR-Converter


text:
Can't access data captured by StreamRecorder

HI,
I am testing out the StreamRecorder app. Was able to run fine on the device. Trying to get the data off the device and it doesn't work.
a. Using the device portal I get "failed to get files for package: ..."
b. Using the python code - what is the path?
I tried connecting via wifi and USB (the appdata folder is empty in USB but in wifi device portal it is there)
How can I get the data?

@sitzikbs  Hi, maybe you can look at the StreamRecorder\README.md, which provides a lot of helpful information. Actually, you can use python StreamRecorderConverter/recorder_console.py --workspace_path <output_folder>  --dev_portal_username <user> --dev_portal_password <password> to download data from hololens, and this #4 maybe helpful.

Thanks!
#4 worked (uncheck SSL connection from Preferences under system at Windows Device Portal).
Also, I found the documentation for workspace_path confusing - I thought it meant the path on the device (not on the local machine - but maybe it is just me).
closing now.

authors: sitzikbs ylsislove


text:
[dask] remove unused private _client attribute

Refer to https://github.com/microsoft/LightGBM/pull/3883#discussion_r569033103.

The other properties on scikit-learn estimators seem to all have an attribute like that with a single leading underscore:

Yeah, but this is not required by sklearn. It is made for storing underlying value of a property (with training _). You chose to use function for this purpose.

repo: microsoft/LightGBM


text:
[ci] raise floors on CI dependencies

Contributes to #6350.
This PR proposes using stricter dependency requirements when creating conda environments in CI.

= {major}.{minor}.* pins in Python 3.7 jobs, for faster solves and to limit the risk of stuff like #6370
>= floors in Python 3.8+ jobs, for faster solves

And some other changes to env creation:

switches from matplotlib to the lighterweight matplotlib-base for all jobs
removes -q in conda create calls, so we can see in logs what packages get pulled in (it's not that many log lines)
moving those lists of requirements out of testing scripts and into files that can be passed to conda create

simplifies the testing scripts, and allows those environment files to be re-used in local development

Notes for Reviewers
How this helps with local development
I'm envisioning that for local development, we could (in a follow-up PR) encourage a pattern like this for creating a local dev environment:
conda create \
    --name lgb-dev \
    --yes \
    --file ./.ci/conda-envs/ci-core.txt \
    --file ./.ci/conda-envs/dev.txt \
    python=3.11

Where dev.txt might contain things like mypy, ruff, and pre-commit.
Why are these .txt files and not conda .yaml files?
conda create cannot read conda YAML files, it expects stuff like these .txt files. You can see that in the docs for conda list (which produces requirement lists like these .txt files).
https://github.com/conda/conda/blob/29f5f3192b519cf94c314dbfb442ad974b0a4232/conda/cli/main_list.py#L90
And I wanted to be able to pass in the Python constraint from the command line, which conda env create (the command that can read YAML files) doesn't support.
So did this make things faster?
Yes 🔥
Especially on AppVeyor. On master, building one commit has been taking 45-85 minutes. On this branch, it's taking more like 35-45 minutes.
See https://ci.appveyor.com/project/guolinke/lightgbm/history
On Azure DevOps and GitHub Actions, it looks to me like the speedup is not quite so noticeable, but at a minimum this doesn't seem to make any builds slower.
References

https://stackoverflow.com/questions/71393065/can-i-make-conda-solve-this-environment-faster

Seems like keeping support for Python 3.7 has become too much of a maintenance burden. I'd be ok to drop it if you want

Python 3.7 reached EOL on June 27, 2023 (cf. https://devguide.python.org/versions/), I think it's reasonable to drop it 😅

Seems like keeping support for Python 3.7 has become too much of a maintenance burden. I'd be ok to drop it if you want

This PR and that CI blockage wasn't too bad.
I think we should do one more release with Python 3.7 support and include a note in the release notes that it'll be the last one to support Python 3.7. So I think this PR should be merged as-is.
And when I say "last one to support Python 3.7".... I'd support that being a "soft" drop.

bumping to python-requires >= 3.7 in the package metadata (so "hard" dropping Python 3.6)
running the https://github.com/microsoft/LightGBM/blob/master/.ci/test-python-oldest.sh tests in a Python 3.7 environment
allowing code that would not be syntactically-valid Python 3.6 to make it onto master

And then only move to python-requires >= 3.8 if there is a compelling reason, like new language features.

Python 3.7 reached EOL on June 27, 2023 ...  I think it's reasonable to drop it 😅

That's a good piece of evidence but not the only one I think we should consider when contemplating which versions of Python LightGBM supports. I think at least 2 of these should be true before we drop support:

the version is end-of-life
the maintenance burden of supporting the version is prohibitively high
supporting that version is preventing LightGBM from adding some sufficiently-valuable new functionality

I still support working that way moving forward, to try to support users in constrained environments where it's difficult to update Python versions. So, for example, I don't think LightGBM should drop Python 3.8 support immediately when it reaches end-of-life later this year.
Some relevant prior discussions:

https://github.com/microsoft/LightGBM/pull/5765#issuecomment-1454861675
https://github.com/microsoft/LightGBM/pull/5006#issuecomment-1039464720

authors: borchero jameslamb jmoralez


text:
Include connection to training/scoring data sources

The template should include realistic guidance on how to connect to data sources:

For training, how to connect to data sources (whether of a type supported by Azure ML Datasource classes, or other ODBC data source type)
Whether we should have a separate pipeline stage for pulling the data (separation of concerns + reuse of run steps) or just query the data in the training step
How to manage credentials, one way is to use Key Vault in the run script itself (https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/manage-azureml-service/authentication-in-azureml/authentication-in-azureml.ipynb) but it's hard to find, should be part of the solution template (+any other method to manage credentials if appropriate)
For scoring, similarly how to manage connectivity to data sources. Enterprise DS models often enrich incoming requests with data from a data mart (e.g. user profiles)

+1 there should be at least one sample that uses the Azure ML managed data stores.
https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-access-data#train

I believe this is fixed by #134. I'd like to keep the DataOps for ML cycle separate from this repo - and yes it should be in its own pipeline.  Eugene is working on other supporting documents in this space.
Key Vault integration is present with Azure DevOps task groups.  We link to existing documentation on how to add different types of data sets which will work with this approach.

authors: algattik dtzar sebader

repo: microsoft/MLOpsPython


text:
Noobie question about MSBuildForUnity

Hello everyone I wondering if is it possible to use MSBuildForUnity and Fody.
I have created a .csproj file under Assets/Scripts/Library
added :
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>netstandard2.0</TargetFramework>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="Fody" Version="6.0.3"/>
        <PackageReference Include="MethodTimer.Fody" Version="3.1.0"/>
    </ItemGroup>
</Project>

But it throws:
PrecompiledAssemblyException: Multiple precompiled assemblies with the same name Library.dll included for the current platform. Only one assembly with the same name is allowed per platform. Assembly paths: Assets/Scripts/Library/bin/Debug/netstandard2.0/Library.dll, Assets/Scripts/Library/obj/Debug/netstandard2.0/Library.dll

In fact I'm looking for a tool that would allow me to use weaving code on unity, like Fody
Thanks for reply

Have a look at https://github.com/ExtendRealityLtd/Malimbe/.
I'd love to kill that project if MSBuildForUnity has a way to allow using Fody directly instead :)

Thanks for this reference I will try it soon as possible.
Closing this issue.

You should definitely be able to use Fody with MSBuildForUnity. In the case described above by @loic-lopez, the problem is that by default, the build for csproj puts the compiled dll in both the obj directory and the bin directory, and so Unity sees it twice and doesn't know how to handle it. There are a couple ways to deal with this, but the simplest is to put the project in a directory that Unity won't process. To do this, you can either:

Put the csproj in a directory that starts with a . (Unity ignores these). Check out the current sample project for this route: https://github.com/microsoft/MSBuildForUnity/tree/master/Source/MSBuildTools.Unity/Assets/Samples
Move the csproj outside of the Unity project's Assets directory, and set the  in the csproj to be a directory under Assets. This way, the final outputs (normally in the bin directory) will be pushed into the Unity project.

@andreiborodin is doing a bunch of work on the project generation side that will make this easier. The generated projects ultimately will be used for both consuming dependencies - ProjectReference (MSBuild project) or PackageReference (NuGet package). We'll have more samples demonstrating this soonish.

Thanks @ryantrem, I will wait for your samples 🥇

#35 Has just been put in, there are now two samples linked from the main readme:
https://github.com/microsoft/MSBuildForUnity/#msbuildforunity
Tagging for notification. @loic-lopez, @bddckr

Also in theory I should be able to use the Fody library through this example:
https://github.com/microsoft/MSBuildForUnity/tree/master/Samples/SimpleNuGetDependency.Unity

@andreiborodin Thanks, but the two links are broken in the readme.
https://github.com/microsoft/MSBuildForUnity/blob/master/Samples/SimpleNuGetDependency.Unity/Readme.md
https://github.com/microsoft/MSBuildForUnity/blob/master/Samples/IntegratedDependencies.Unity/Readme.md

Oh wow, GitHub is case sensitive on that link for "README.md", will update.

Also in theory I should be able to use the Fody library through this example:
https://github.com/microsoft/MSBuildForUnity/tree/master/Samples/SimpleNuGetDependency.Unity
I would like to do something like that with Fody in a MonoBehaviour:
public class MyBehaviour : MonoBehaviour
{
[Time]
public void MyMethod()
{
//Some code u are curious how long it takes
Console.WriteLine("Hello");
}
}
Ref: Fody/MethodTimer
Thanks for your help.

Ok, so I am not very familiar with Fody, however, as I understand it's two NuGet packages and then a special compilation step that replaces default source compilation?
We currently let Unity compile our scripts, however, we in the https://github.com/microsoft/MSBuildForUnity/tree/master/Samples/IntegratedDependencies.Unity sample we do setup C# projects for asmdefs in the repo that reference all the Unity libraries.
I think you can craft a special C# project based on the AsmDef generated projects. It references generated .g.props and g.targets that will be geneerated when you open the Editor. Those generated props/targets reference Unity libraries and can allow you to build Unity scripts outside of Unity.
This special crafted project with it's script should be invisible to Unity, so either outside of Assets or in a folder that is prefixed with a dot '.' in the assets folder.
You can then reference that project from Dependencies.msb4u.csproj.
You will need to have Auto Generation Enabled for this, so start with IntegratedDependencies.msb4u sample.

@andreiborodin yes Fody will weave assemblies after the dll are generated.
I will try the IntegratedDependencies.Unity so.

So that what I was trying to say in my longer post above. The IntegratedDependencies.Unity generates the C# Projects and Solution that can be used to build compiled Unity binaries outside of Unity editor.
So, you can do the same for your code, and have it live outside of Unity, and as long as it references the same imports as the generated props, it should build.
I will see if I can find sometime and hack up a C# project for you.

I managed to hack up some stuff quickly, @loic-lopez  I have a PR for you here: #61
There are two very similar C# projects that are of interest to you:

CustomUnityBuild
CustomUnityBuild.Player

You can find notes in them that I added, they are prefixed "anborod NOTE::"
They both reference the same source file under .src folder (invisible to Unity) which is in fact a Unity MonoBehaviour.
These projects get build by Unity, and then they rely on current Editor's very own DLLs to build against and place the output into Unity.
Caveat! I had to check-in the meta files, as I couldn't properly hook into our metafilegenerator (there is a task on us to reconcile this). There are two being produced.
Additionally, I have to have two projects to build current platform editor version and player version, we will support a better way in the future.
Finally, any NuGet referenced by these projects will be brought in regardless if any other project file in Unity references the same NuGet package already.
Hopefully this get's you started.

@andreiborodin thanks for your help I will try out your PR as soon as possible!

@andreiborodin I have encountered multiple issue when building the IntegratedDependencies.Unity on Unity 2018.4.12
example:
MSBuildForUnity\Samples\IntegratedDependencies.Unity\Assets\CustomUnityBuild\CustomUnityBuild.csproj(54,3): error MSB4019: The imported project "C:\.InEditor.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk

MSBuildForUnity\Samples\IntegratedDependencies.Unity\Assets\CustomUnityBuild\CustomUnityBuild.Player.csproj(64,3): error MSB4019: The imported project "C:\.Player.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

MSBuildForUnity\Samples\IntegratedDependencies.Unity\Assets\Dependencies.msb4u.csproj(33,3): error MSB4019: The imported project "C:\Dependencies.msb4u.g.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

Sorry if I miss something I'm very not familiar with msbuild.

Did you try opening the Unity solution first?

Also, there was a bug that I fixed in master, so I updated the branch.

@andreiborodin Hi again, so I pulled your update and there is other issues on Unity startup:
System.NullReferenceException: Object reference not set to an instance of an object
  at Microsoft.Build.Unity.ProjectGeneration.Exporters.TemplatedProjectExporter.ProcessPlatformTemplate (Microsoft.Build.Unity.ProjectGeneration.Templates.ITemplatePart rootPart, Microsoft.Build.Unity.ProjectGeneration.Templates.TemplateReplacementSet rootReplacementSet, System.String platformName, System.String configuration, UnityEditor.BuildTarget buildTarget, Microsoft.Build.Unity.ProjectGeneration.TargetFramework targetFramework, System.Collections.Generic.IEnumerable`1[T] references, System.Collections.Generic.IEnumerable`1[T] defines, System.Collections.Generic.HashSet`1[System.String][] priorToCheck) [0x000da] in C:\Users\LoicL\Desktop\MSBuildForUnity\Source\MSBuildTools.Unity\Packages\com.microsoft.msbuildforunity\Editor\ProjectGenerator\Scripts\Exporters\TemplatedProjectExporter.cs:534
  at Microsoft.Build.Unity.ProjectGeneration.Exporters.TemplatedProjectExporter.ExportPlatformPropsFile (Microsoft.Build.Unity.ProjectGeneration.CompilationPlatformInfo platform, System.Boolean inEditorConfiguration) [0x000a2] in C:\Users\LoicL\Desktop\MSBuildForUnity\Source\MSBuildTools.Unity\Packages\com.microsoft.msbuildforunity\Editor\ProjectGenerator\Scripts\Exporters\TemplatedProjectExporter.cs:504
  at Microsoft.Build.Unity.ProjectGeneration.MSBuildTools.ExportCoreUnityPropFiles () [0x00029] in C:\Users\LoicL\Desktop\MSBuildForUnity\Source\MSBuildTools.Unity\Packages\com.microsoft.msbuildforunity\Editor\ProjectGenerator\Scripts\MSBuildTools.cs:169
  at Microsoft.Build.Unity.ProjectGeneration.MSBuildTools.RegenerateEverything (System.Boolean reparseUnityData) [0x000da] in C:\Users\LoicL\Desktop\MSBuildForUnity\Source\MSBuildTools.Unity\Packages\com.microsoft.msbuildforunity\Editor\ProjectGenerator\Scripts\MSBuildTools.cs:206
  at Microsoft.Build.Unity.ProjectGeneration.MSBuildTools.RunCoreAutoGenerate (System.Boolean skipTokenFileCheck) [0x0003b] in C:\Users\LoicL\Desktop\MSBuildForUnity\Source\MSBuildTools.Unity\Packages\com.microsoft.msbuildforunity\Editor\ProjectGenerator\Scripts\MSBuildTools.cs:154
  at Microsoft.Build.Unity.ProjectGeneration.MSBuildTools..cctor () [0x0006f] in C:\Users\LoicL\Desktop\MSBuildForUnity\Source\MSBuildTools.Unity\Packages\com.microsoft.msbuildforunity\Editor\ProjectGenerator\Scripts\MSBuildTools.cs:138
UnityEditor.EditorAssemblies:ProcessInitializeOnLoadAttributes(Type[])

Win32Exception: ApplicationName='dotnet', CommandLine='msbuild CustomUnityBuild.csproj -restore  -v:minimal -p:NuGetInteractive=true  -t:Build -p:Configuration=Release -nologo', CurrentDirectory='C:\Users\LoicL\Desktop\MSBuildForUnity\Samples\IntegratedDependencies.Unity\Assets\CustomUnityBuild', Native error= Le fichier spécifié est introuvable.

System.Diagnostics.Process.StartWithCreateProcess (System.Diagnostics.ProcessStartInfo startInfo) (at <9f8c4786222746238eb929db40bf8dd1>:0)
System.Diagnostics.Process.Start () (at <9f8c4786222746238eb929db40bf8dd1>:0)
(wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
Microsoft.Build.Unity.MSBuildProjectBuilder+<ExecuteMSBuildAsync>d__17.MoveNext () (at C:/Users/LoicL/Desktop/MSBuildForUnity/Source/MSBuildTools.Unity/Packages/com.microsoft.msbuildforunity/Editor/ProjectBuilder/MSBuildProjectBuilder.cs:452)
--- End of stack trace from previous location where exception was thrown ---
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () (at <599589bf4ce248909b8a14cbe4a2034e>:0)
Microsoft.Build.Unity.MSBuildProjectBuilder+<BuildProjectAsync>d__16.MoveNext () (at C:/Users/LoicL/Desktop/MSBuildForUnity/Source/MSBuildTools.Unity/Packages/com.microsoft.msbuildforunity/Editor/ProjectBuilder/MSBuildProjectBuilder.cs:396)
--- End of stack trace from previous location where exception was thrown ---
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () (at <599589bf4ce248909b8a14cbe4a2034e>:0)
Microsoft.Build.Unity.MSBuildProjectBuilder+<BuildProjectsAsync>d__10.MoveNext () (at C:/Users/LoicL/Desktop/MSBuildForUnity/Source/MSBuildTools.Unity/Packages/com.microsoft.msbuildforunity/Editor/ProjectBuilder/MSBuildProjectBuilder.cs:289)
--- End of stack trace from previous location where exception was thrown ---
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () (at <599589bf4ce248909b8a14cbe4a2034e>:0)
Microsoft.Build.Unity.MSBuildProjectBuilder.BuildProjects (System.Collections.Generic.IReadOnlyCollection`1[T] msBuildProjectReferences, System.String profile, System.String additionalArguments) (at C:/Users/LoicL/Desktop/MSBuildForUnity/Source/MSBuildTools.Unity/Packages/com.microsoft.msbuildforunity/Editor/ProjectBuilder/MSBuildProjectBuilder.cs:203)
Microsoft.Build.Unity.MSBuildProjectBuilder+BuildOnLoad.BuildAllAutoBuiltProjects () (at C:/Users/LoicL/Desktop/MSBuildForUnity/Source/MSBuildTools.Unity/Packages/com.microsoft.msbuildforunity/Editor/ProjectBuilder/MSBuildProjectBuilderEditor.cs:109)
Microsoft.Build.Unity.MSBuildProjectBuilder+BuildOnLoad+<>c.<.cctor>g__OnUpdate|0_0 () (at C:/Users/LoicL/Desktop/MSBuildForUnity/Source/MSBuildTools.Unity/Packages/com.microsoft.msbuildforunity/Editor/ProjectBuilder/MSBuildProjectBuilderEditor.cs:93)
UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at C:/buildslave/unity/build/Editor/Mono/EditorApplication.cs:303)

These issues are also displayed when I try to Build All Projects in the MSBuild menu.

So after compiling mannually the CustomUnityBuild.csproj I was able to add Fody and MethodTimer.Fody to the deps:
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using MethodTimer;
using UnityEngine;

public class ExternalMonoBehaviour : MonoBehaviour
{
    // Start is called before the first frame update
    [Time]
    void Start()
    {
        Debug.Log(typeof(ExternalMonoBehaviour).BaseType.FullName);
    }
}

public static class MethodTimeLogger
{
    public static void Log(MethodBase methodBase, long milliseconds, string message)
    {
        Debug.Log("FROM WEAVING");
    }
}

And the console print:

So Fody is weaving the assembly pretty well!

Awesome of the result, but could you tell me if you are still able to repro the Unity editor issues. If you check-in your changes to the proj file, do a git clean, and then open Unity again, what do you get?
I would like to work out those kinks.

@andreiborodin I always use the Unity editor, and also I have pulled the latest change on the custom branch.

Ok, well just to be pedantic I will try that again, but I have been doing various testing and not seeing anything regarding failing to parse the template.
I wonder if there is something about my context that is different from yours, one you said you re-installed VS and that changed the behavior.
I appreciate you trying this and finding issues, it helps me fix the few issues.

Thanks you again for helping me to integrate Fody.

Closing this issue, opened another issue to track supporting this concrete scenario.

authors: andreiborodin bddckr loic-lopez ryantrem

repo: microsoft/MSBuildForUnity


text:
CI - Fix Deprecation of Upload Artifacts

https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/

This unblocks CI build


text:
Fix some word not wrapping issues in the Configurator

Overview
Make sure the texts wrap properly for certain texts that could be potentially truncated. Fixes #9708

/azp run

repo: microsoft/MixedRealityToolkit-Unity


text:
NOT_IMPLEMENTED : Could not find an implementation for BeamSearch(1) node with name 'BeamSearch_node'

I'm trying to export Whisper from here.
Pipeline: GPU, FP16: PyTorch Model -> Onnx Model -> Transformers Optimized Onnx Model -> Mixed Precision Model -> Insert Beam Search Op -> Insert Pre/Post Processing Ops
using olive in the main branch and onnxruntime-gpu-1.16.3
Step:
python prepare_whisper_configs.py --model_name openai/whisper-tiny.en --atol 1e-4
python -m olive.workflows.run --config whisper_gpu_fp16.json

which yield the error:
.......
File "/usr/local/lib/python3.10/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 463, in _create_inference_session
    sess.initialize_session(providers, provider_options, disabled_optimizers)
onnxruntime.capi.onnxruntime_pybind11_state.NotImplemented: [ONNXRuntimeError] : 9 : NOT_IMPLEMENTED : Could not find an implementation for BeamSearch(1) node with name 'BeamSearch_node'
[2024-01-25 09:17:41,782] [INFO] [engine.py:282:run] Run history for gpu-cuda:
[2024-01-25 09:17:41,783] [INFO] [engine.py:557:dump_run_history] Please install tabulate for better run history output
[2024-01-25 09:17:41,783] [INFO] [engine.py:296:run] No packaging config provided, skip packaging artifacts

However, when I try with python -m olive.workflows.run --config whisper_cpu_fp32.json, it works. Is the Beam Search Op export with GPU is not support right now? Thank you.

@jambayk, do you have any insight on this error? do we hit it before?

My pip list | grep onnx yields:
onnx                      1.15.0
onnxruntime-extensions    0.9.0
onnxruntime-gpu           1.16.3

and pip list | grep ort yields:
ort-nightly-gpu           1.15.0.dev20230502003

I deleted the cache folder, but it still not works. I saw an error in the middle of the logs:
[E:onnxruntime:Default, provider_bridge_ort.cc:1480 TryGetProviderInfo_CUDA] /onnxruntime_src/onnxruntime/core/session
/provider_bridge_ort.cc:1193 onnxruntime::Provider& onnxruntime::ProviderLibrary::Get() [ONNXRuntimeError] : 1 : FAIL : Failed
to load library libonnxruntime_providers_cuda.so with error: libcublasLt.so.11: cannot open shared object file: No such file or directory

Is this error relevant to my issue? Thank you.

seems similar to https://stackoverflow.com/questions/70268140/could-not-load-dynamic-library-libcublaslt-so-11-dlerror-libcublaslt-so-11

Thanks @guotuofeng. The problems might because of the libcudart. I was using docker pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime, wwitch to docker with Ubuntu like anibali/pytorch:2.0.1-cuda11.8 solve the problem.

authors: HKAB guotuofeng

repo: microsoft/Olive


text:
.JSON / .YML files incomplete

After implementing a PoC of this tool in one of my APIs, I noticed that while the CSDL generated from my OData models is complete, the output .JSON / .YML files are not.
They end abruptly, as you can see below.

.yml Example

.json Example

Example of implementation. Some of this may be incorrect, considering the documentation doesn't seem to have been updated in the readme, but after some time of figuring it out I was at least able to get the document generated.
Any chance anyone can reproduce this or give me an idea as to what I may be doing incorrectly that is causing this to happen?

@hunter-ledet Thanks for reaching to me. Can you share me with your CSDL metadata or the codes in GetEdmModel() for me to verify? Thanks.

@xuzhg

Still waiting on confirmation to send a copy of the CSDL, but I can confirm that it is complete and properly closed off / contains all necessary information regarding our models / navigational properties

Here is the CSDL file
csdlFinal.txt

@hunter-ledet
I used your CSDL and added two test cases for JSON and YMAL. So far it looks fine. You can find it at https://github.com/microsoft/OpenAPI.NET.OData/commit/37f49c4e3d048f6c495558600dd343281f0260b5
Would you please verify at your side why it's not finished completely? Maybe the writing stream is not flushed?

@xuzhg
Flushing the writing stream did it for me. I was running off of the examples given in the readme.md, and it made total sense to me when you suggested it that it may have been the issue.
Appreciate the help!

authors: hunter-ledet xuzhg