text:
Add KSP support and re-enable Kotlin tests

Adds support for configuring KSP including handling the new inject-kotlin module and configuring the ksp and kspTest classpaths

hmm not sure why these fail on CI but pass locally 🤔

I'm seeing failures locally too, I will investigate:
* What went wrong:
org/jetbrains/kotlin/gradle/dsl/KaptArguments
> org.jetbrains.kotlin.gradle.dsl.KaptArguments

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
java.lang.NoClassDefFoundError: org/jetbrains/kotlin/gradle/dsl/KaptArguments

So I have fixed the failing tests, and in the process, I added a test with the kotest test runtime. However, it seems that the KSP plugin doesn't work with kotest.
If you uncomment the following lines: https://github.com/micronaut-projects/micronaut-gradle-plugin/blob/0222d20eec0d41783df1d97468d4bd8417968413/functional-tests/src/test/groovy/io/micronaut/gradle/kotlin/Kotest5FunctionalTest.groovy#L98-L99
then you will see the tests failing with:
> Task :kspTestKotlin FAILED
e: [ksp] java.lang.IllegalStateException: Cannot map null value in: com.example.$ExampleTest$Definition$Reference
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.pushValue(AnnotationMetadataWriter.java:553)
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.lambda$pushValue$8(AnnotationMetadataWriter.java:588)
	at io.micronaut.inject.writer.AbstractClassFileWriter.pushStoreInArray(AbstractClassFileWriter.java:1055)
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.pushValue(AnnotationMetadataWriter.java:587)
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.lambda$pushValue$10(AnnotationMetadataWriter.java:658)
	at io.micronaut.inject.writer.AbstractClassFileWriter.pushStringMapOf(AbstractClassFileWriter.java:1739)
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.pushValue(AnnotationMetadataWriter.java:658)
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.lambda$pushValue$9(AnnotationMetadataWriter.java:610)
	at io.micronaut.inject.writer.AbstractClassFileWriter.pushStoreInArray(AbstractClassFileWriter.java:1055)
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.pushValue(AnnotationMetadataWriter.java:609)
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.lambda$pushCreateAnnotationData$6(AnnotationMetadataWriter.java:541)
	at io.micronaut.inject.writer.AbstractClassFileWriter.pushStringMapOf(AbstractClassFileWriter.java:1739)
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.lambda$pushCreateAnnotationData$7(AnnotationMetadataWriter.java:540)
	at io.micronaut.inject.writer.AbstractClassFileWriter.pushStringMapOf(AbstractClassFileWriter.java:1739)
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.pushCreateAnnotationData(AnnotationMetadataWriter.java:539)
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.instantiateInternal(AnnotationMetadataWriter.java:468)
	at io.micronaut.inject.annotation.AnnotationMetadataWriter.instantiateNewMetadata(AnnotationMetadataWriter.java:265)
	at io.micronaut.inject.writer.AbstractAnnotationMetadataWriter.initializeAnnotationMetadata(AbstractAnnotationMetadataWriter.java:188)
	at io.micronaut.inject.writer.AbstractAnnotationMetadataWriter.writeAnnotationMetadataStaticInitializer(AbstractAnnotationMetadataWriter.java:168)
	at io.micronaut.inject.writer.AbstractAnnotationMetadataWriter.writeAnnotationMetadataStaticInitializer(AbstractAnnotationMetadataWriter.java:132)
	at io.micronaut.inject.writer.BeanDefinitionReferenceWriter.generateClassBytes(BeanDefinitionReferenceWriter.java:280)
	at io.micronaut.inject.writer.BeanDefinitionReferenceWriter.accept(BeanDefinitionReferenceWriter.java:121)
	at io.micronaut.kotlin.processing.beans.BeanDefinitionProcessor.processBeanDefinitions(BeanDefinitionProcessor.kt:152)
	at io.micronaut.kotlin.processing.beans.BeanDefinitionProcessor.finish(BeanDefinitionProcessor.kt:103)
	at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$10$1.invoke(KotlinSymbolProcessingExtension.kt:322)
	at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$10$1.invoke(KotlinSymbolProcessingExtension.kt:321)
	at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.handleException(KotlinSymbolProcessingExtension.kt:390)
	at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:321)
	at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:123)
	at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:99)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:257)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:42)
	at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:115)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:248)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:88)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:47)
	at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:167)
	at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:53)
	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:101)
	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:47)
	at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
	at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1645)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)
	at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
	at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
	at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)

I am not sure if we're supposed to support this, and if so, if it's a bug in our KSP support or that the test is not setup correctly.

Probably a bug will look when I get back

source: gharchive/pull-request

authors: graemerocher melix

license_type: permissive

license_source: github-api


text:
Migrate build to use Gradle Catalogs

Work in progress. Additional work remains in test-suite-serde-java/build.gradle.

@melix should we use the mn approach in project template?

I think we should, since it reduces duplication. I started using this in micronaut-aot as an experiment and it works very well, so we can definitely move to using it in projects and therefore in the template.

authors: hollingsworthd melix


text:
Pageextension trigger OnAfterGetCurrRecord not fired

Describe the bug
It seems that the OnAfterGetCurrRecord trigger in a pageextension only fires when there is code in C/AL. However, when you set a breakpoint on the code in this trigger, then the debugger stops at the breakpoint. After that, the trigger works like expected, until you publish the extension again or the server is restarted.
A similar issue was reported earlier: https://github.com/Microsoft/AL/issues/1383
To Reproduce
Steps and to reproduce the behavior:
Create a pageextension for a page that has no code in the OnAfterGetCurrRecord trigger, e.g. for Page 15 Location List.
Add a trigger OnAfterGetCurrRecord to the pageextension and add some code to it, a message will do the job.
Publish and run the extension, the code will not be executed.
Set a breakpoint on the code and publish again. The debugger will now stop at the code. Stop the debugger and the code will now continue to run.
AL Code to reproduce the issue
pageextension 50101 LocationListExt extends "Location List"
{
    trigger OnAfterGetCurrRecord()
    begin
        Message('Hello from OnAfterGetCurrRecord');
    end;
}

Expected behavior
The OnAfterGetCurrRecord trigger in a pageextension should always execute, regardless of C/AL code in the base object.
Versions:

AL Language: 3.0.118998
Business Central: Platform 14.0.31606.0 + Application 31632 (W1 14.1)

Any update on this? This is blocking some functionalities at the moment

Hi @Frederig I forwarded the issue to the right team, no updates yet.

Will this be in CU2 of the April 2019 release? It is not working in CU1

Still not working on 14.1.33107.0... When can we expect this?

Can you provide any deadline when this issue will be fixed?

source: gharchive/issue

authors: AndreyKorepanov Frederig GregoryAA ajkauffmann bwdeleeuw geeknikolai

repo: microsoft/AL

license: MIT


text:
AL Code working in Sandbox, but not in live environment

Hi there,
Thanks in advance for taking the time to assist with my below query.
I have written code for a customer that I tested in Sandbox and it worked perfectly fine, but when I deployed it in live it does not work. I have read every single blog and question I have been able to find on the possible differences between Sandbox and Live, and I have tried to do my research, but was not able to find an answer. I will give as much details as possible to assist in the troubleshooting process.
I am using a cloud environment, and both Sandbox and Live environments are version 14.0.29537.0
My development is that on the Posted Sales Invoice page, I need to make the Your Reference field editable for a customer, as they only get the customer order number after having invoiced the customer, And their customer requires their reference number on the Invoice for payment. I added a button that makes the field editable for when required. This was tested in Sandbox, and worked as desired, and as designed. However upon deploying to live, it does not work.
I have noticed that in the Sandbox environment when you go to the Posted Sales Invoice page, that the edit button (the one at the top that looks like a pencil) is active, but in the live environment, it is grayed out. Meaning that the entire page is non-editable, so I tried adding CurrPage.Editable:=true to my code, in case the page is non editable in live, but this also yielded no results.
I then tried to make the field permanently editable in my extension (in other words not having the user click on a button to make it editable when required), and once again, this was fine in Sandbox, but not in live.
I know that if your "runtime": "2.1" is set in APP.json then you could not set the editable property in code, but my setting in APP.json is "runtime": "2.2", and further I have the following settings in case you were wondering, or if this has any bearing.
{
...
"platform": "13.0.0.0",
"application": "13.0.0.0",
"showMyCode": true,
"runtime": "2.2"
}
I have a suspicion that this could have something to do with the "protected" tables in the system, and that the license on the Sandbox does not implement these protected tables, but I need some guidance on how to proceed. My thinking is that I'll have to get the user to click on the button to change the Customer's Reference, then I pop up with a different page that I design, and the user makes his changes there, and I implement the changes in code when the page is closed or something?
Thanks once again for taking the time to assist with this, looking forward to your response in this regard.
Greetings,
Berny During

That i exactly the problem. Sales Invoice Header is a protected table by design so the only way to change values is by doing it via a codeunit that has permissions on the "Sales Invoice Header".
See below a generic function that will popup a request page requesting a new value for a field:

The function would be called like this in your example:
SalesInvoiceHeader."Your Reference" := CopyStr(RequestNewValueForAField(SalesInvoiceHeader
, SalesInvoiceHeader.FieldNo("Your Reference"), SalesInvoiceHeader."Your Reference", true)
, 1, MaxStrLen(SalesInvoiceHeader."Your Reference"));
Full Copy paste version
Permissions = tabledata "Sales Invoice Header" = rim;
//#region RequestNewValueForAField
procedure RequestNewValueForAField(RecordVariant: Variant; FieldNo: Integer; InitialValue: Text; ThrowError: Boolean) Result: Text
var
FilterPage: FilterPageBuilder;
FldRef: FieldRef;
RecRef: RecordRef;
GetFiltersText: Text;
StringPosition: Integer;
ModifyFieldLbl: Label 'New Value for Field:';
TooManyParametersErr: Label 'You have used too many parameters. Please only use 1.';
begin
// #This function asks the user a new value for a field
// @RecordVariant : Variant: The record
// @FieldNo : Integer: The field No.
// @InitialValue : Text: Optional the value of the current field
// |Result: the value that the user entered
FilterPage.PAGECAPTION(ModifyFieldLbl);
FilterPage.ADDRECORD(ModifyFieldLbl, RecordVariant);
RecRef.GETTABLE(RecordVariant);
FldRef := RecRef.FIELD(FieldNo);
FilterPage.ADDFIELD(ModifyFieldLbl, FldRef, InitialValue);
IF NOT FilterPage.RUNMODAL() THEN
if ThrowError then
ERROR('');
RecRef.SETVIEW(FilterPage.GETVIEW(ModifyFieldLbl));
GetFiltersText := RecRef.GETFILTERS();
StringPosition := STRPOS(GetFiltersText, ':');
GetFiltersText := COPYSTR(GetFiltersText, StringPosition + 2);
StringPosition := STRPOS(GetFiltersText, ':');
IF StringPosition <> 0 THEN
ERROR(TooManyParametersErr);
EXIT(GetFiltersText);
end;
//#endregion RequestNewValueForAField
//#region ModifyExternalDocumentNoFromSalesInvoiceHeader
procedure ModifyExternalDocumentNoFromSalesInvoiceHeader(var SalesInvoiceHeader: Record "Sales Invoice Header");
begin
SalesInvoiceHeader."External Document No." := CopyStr(RequestNewValueForAField(SalesInvoiceHeader
, SalesInvoiceHeader.FieldNo("External Document No."), SalesInvoiceHeader."External Document No.", true)
, 1, MaxStrLen(SalesInvoiceHeader."External Document No."));
end;
//#endregion ModifyExternalDocumentNoFromSalesInvoiceHeader

Thanks for the help @BartPermentier ! I will close this issue as it seems it has been resolved.

authors: BartPermentier atoader bernyd123


text:
Evaluate Bigger then Integer size gives Error

Describe the bug
Evaluate(decValue, '999999999999999.99') doesn't work. and the documentation tells me that this should be the max value allowed.

To Reproduce
`
[Test]
procedure TestOn_TextMaxDecimal_ConversionFunctions();
var
    decText: Text;
    decValueCorrect: BigInteger;
    decValue: Decimal;
begin
    decValueCorrect := 999999999999999.99;
    decText := '999999999999999.99';

    Evaluate(decValue, decText);

    if not (decValue = decValueCorrect) then
        Error(StrSubstNo('The Text to Decimal was expecting an %1 as value got %2', decValueCorrect, decValue));

end;

`
Expected behavior
No error
5. Versions:

AL Language:

Business Central:
Platform 15.0.36117.0 + Application 15.0.36145.0

We can now reproduce this issue based on the code provided above. The AL code compiles, but fails at runtime.

As far as I can see, there are 2 issues with the listed sample code:

You cannot assign a decimal to a biginteger when the decimal contains a fractional value. That will give you an error similar to:
Overflow under conversion of Microsoft.Dynamics.Nav.Runtime.Decimal18 value 999999999999999.99 to System.Int64.
which is expected and correct as the .99 cannot be represented in an integer type.

Your code contains an invisible unicode character as part of the decText string. You can see this if you put the cursor at the end of the line and delete until you get to the first 9. When trying to delete that character, you instead delete the invisible unicode character.

I have tested the following code and it works fine:
[Test]
procedure TestOn_TextMaxDecimal_ConversionFunctions();
var
    decText: Text;
    decValueCorrect: Decimal;
    decValue: Decimal;
begin
    decValueCorrect := 999999999999999.99;
    decText := '999999999999999.99';

    Evaluate(decValue, decText);

    if not (decValue = decValueCorrect) then
        Error(StrSubstNo('The Text to Decimal was expecting an %1 as value got %2', decValueCorrect, decValue));
end;

Closing this issue based on the previous comment.

authors: jehelles ppvandermark qutreson


text:
Database::xxx is not supported in Const expressions of properties (RunPageLink, ...)

Describe the bug
We would like to avoid hardcoded usage of table id's (e.g. CONST(18)) as much as possible and enforce the use of Database::xxx instead (e.g. DATABASE::Customer). However, seems like this is still not supported in the latest AL versions, neither have we found a decent workaround.
To Reproduce
pageextension 50100 CustomerListExt extends "Customer List"
{
    actions
    {
        addfirst(Dimensions)
        {
            action(MyDimensionsSingle)
            {
                ApplicationArea = Dimensions;
                Caption = 'Dimensions-Single';
                Image = Dimensions;
                Promoted = true;
                PromotedCategory = Category7;
                RunObject = Page "Default Dimensions";
                RunPageLink = "Table ID" = CONST(18),        // This is the default code
                                      "No." = FIELD("No.");
                ShortCutKey = 'Alt+D';
            }
            action(MyDimensionsSingle2)
            {
                ApplicationArea = Dimensions;
                Caption = 'Dimensions-Single';
                Image = Dimensions;
                Promoted = true;
                PromotedCategory = Category7;
                RunObject = Page "Default Dimensions";
                RunPageLink = "Table ID" = CONST(Database::Customer),   // This is how we would like to include Database::xxx support
                                      "No." = FIELD("No.");
                ShortCutKey = 'Alt+D';
            }
            action(MyDimensionsSingle3)
            {
                ApplicationArea = Dimensions;
                Caption = 'Dimensions-Single';
                Image = Dimensions;
                Promoted = true;
                PromotedCategory = Category7;
                RunObject = Page "Default Dimensions";
                                RunPageLink = "Table ID" = filter(Database::Customer),  // This is how we would like to include Database::xxx support - option 2
                                      "No." = FIELD("No.");
                ShortCutKey = 'Alt+D';
            }
        }
    }
}

Expected behavior
Please provide support for Database::xxx in Const expressions of page properties (RunPageLink, ...)
5. Versions:

AL Language:

dupe of #6163 which just got punted to BCIdeas

https://experience.dynamics.com/ideas/idea/?ideaid=3c20fb10-3802-eb11-b5d9-0003ff68e671

authors: dtkb fvet


text:
[Bug] [BC24] Go to Definition for Moved Table Object (e.g. "No. Series", "No. Series Line") - Unable to resolve text model content for resource

Please include the following with each issue:
1. Describe the bug
I receive the follwoing when I try to DrillDown to "No. Series Line"

The editor could not be opened due to an unexpected error: Unable to resolve text model content for resource al-preview://allang/MainApp/Table/309/No.%20Series%20Line.dal

2. To Reproduce
Steps to reproduce the behavior:

Try to use "Go to Definition" on "No. Series Line"

    local procedure Dummy()
    var
        NoSeriesLine: Record "No. Series Line";
    begin
       ...
    end;

3. Expected behavior
It should be possible to DrillDown to any Object
4. Actual behavior
Currently I receive this strange error.
Maybe this is related to the case, that the "No. Series Line" was moved to the "Business Foundation Layer"
5. Versions:

AL Language: v14.0.963280 (pre-release)

I can confirm the same issue.

Thank you for reporting this issue. This problem with goto definition on the moved objects, is fixed. The fix will be available in the next version of AL language extension.

authors: PooyaKharamesh mjmatthiesen pri-kise


text:
[Event Request] Codeunit 5720 "Item Reference Management".SalesReferenceNoLookup - OnBeforeSalesReferenceNoLookup

In the new "Item Reference" Feature (BC17ff) it is possible to handle the Item Selection in function
ReferenceLookupSalesItem like:

In addition it would be nice to complete the LookupHandler also to be able to add consistent changes,
e.g. to have a different Lookup-Page.
Followig suggestion:

    IsHandled:Boolean;
begin
    IsHandled := false;
    OnBeforeSalesReferenceNoLookup(var SalesLine: Record "Sales Line";SalesHeader: record "Sales Header"; IsHandled:Boolean);
    If IsHandled then
    exit;

[IntegrationEvent(false, false)]
local procedure OnBeforeSalesReferenceNoLookup(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header";IsHandled:Boolean)
begin
end;

Thank you

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 fekramer

repo: microsoft/ALAppExtensions


text:
SumLine in VAT Amount Line in spanish localization

The signature of procedure SumLine in table 290 "VAT Amount Line" differs in spanish localization from in w1.
w1:
procedure SumLine(LineAmount: Decimal; InvDiscAmount: Decimal; VATDifference: Decimal; AllowInvDisc: Boolean; Prepayment: Boolean)
source @ MSDyn365BC.Code.History
es:
procedure SumLine(LineAmount: Decimal; InvDiscAmount: Decimal; PmtDiscAmount: Decimal; VATDifference: Decimal; ECDifference: Decimal; AllowInvDisc: Boolean; Prepayment: Boolean)
source @ MSDyn365BC.Code.History
Localization should never have a smaller public interface than w1!
Please use overload instead of replacement.
Else anybody who uses this procedure is not able to publish his app in spain.

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: ChrisBlankDe JesperSchulz


text:
[BUG] codeunit 699 "Exch. Rate Adjmt. Process" - AdjustCurrency

I am not sure where to report this. I think the following ist a bug, because if you iterate over more than one currency the TempCurrencyToAdjust (Buffer) is only filled with the first currency.
I suggest to move the repeat some lines upwords.
local procedure AdjustCurrency(var ExchRateAdjmtParameters: Record "Exch. Rate Adjmt. Parameters" temporary)
var
    BankAccount: Record "Bank Account";
begin
    BankAccount.SetFilter("No.", ExchRateAdjmtParameters.GetFilter("Bank Account Filter"));
    BankAccount.FilterGroup(2);
    BankAccount.SetFilter("Currency Code", '<>%1', '');
    BankAccount.FilterGroup(0);
    BankAccNoTotal := BankAccount.Count();
    BankAccount.Reset();

    Currency.SetView(ExchRateAdjmtParameters."Currency Filter");
    if Currency.FindSet() then begin
        //-BUGFIX
        repeat
            // +BUGFIX
            Currency."Last Date Adjusted" := ExchRateAdjmtParameters."Posting Date";
            Currency.Modify();

            Currency."Currency Factor" := CurrExchRate.ExchangeRateAdjmt(ExchRateAdjmtParameters."Posting Date", Currency.Code);

            TempCurrencyToAdjust := Currency;
            TempCurrencyToAdjust.Insert();

            // -BUGFIX
            //repeat
            // +BUGFIX
            BankAccount.SetCurrentKey("Bank Acc. Posting Group");
            BankAccount.SetRange("Currency Code", Currency.Code);
            BankAccount.SetRange("Date Filter", ExchRateAdjmtParameters."Start Date", ExchRateAdjmtParameters."End Date");
            if BankAccount.FindSet() then
                repeat
                    BankAccNo := BankAccNo + 1;
                    Window.Update(1, Round(BankAccNo / BankAccNoTotal * 10000, 1));
                    ProcessBankAccount(BankAccount, Currency);
                until BankAccount.Next() = 0;
        until Currency.Next() = 0;
    end;
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: 45051.

authors: ChristianBouska JesperSchulz


text:
[Event Request] report 202 "Sales Document - Test" – OnBeforeCheckDimValuePostingHeader/OnBeforeCheckDimValuePostingLine

for the functionality of the publishers OnBeforeCheckDimValuePostingHeader and OnBeforeCheckDimValuePostingLine var is necessary for TableID and No (like OnAfterCreateDimTableIDs)
    [IntegrationEvent(false, false)]
    local procedure OnBeforeCheckDimValuePostingHeader(var SalesHeader: Record "Sales Header"; var TableID: array[10] of Integer; var No: array[10] of Code[20]);
    begin
    end;

    [IntegrationEvent(false, false)]
    local procedure OnBeforeCheckDimValuePostingLine(var SalesLine: Record "Sales Line"; var TableID: array[10] of Integer; var No: array[10] of Code[20]);
    begin
    end;

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

authors: TMEKUMA bc-ghost


text:
[EventRequest] Codeunit 1535 Approvals Mgmt. - SubstituteUserIdForApprovalEntry

To make the approval framework and 'Approval User Setup' more extensible. We would like Integration Events to adjust the user setup. For example: to set a different 'Approver ID' and/or approval amount based upon a workflow category.
In the function SubstituteUserIdForApprovalEntry there is a integration event 'OnBeforeSubstituteUserIdForApprovalEntry' availble. But the function OnDelegateApprovalRequest(ApprovalEntry) is not global available, so not all code can be replaced with current event.
Therefore a request for an additional integration event after the UserSetup.GET: OnAfterGetUserSetupSubstituteUserIdForApprovalEntry (UserSetup as Var)
begin
    IsHandled := false;
    OnBeforeSubstituteUserIdForApprovalEntry(ApprovalEntry, IsHandled);
    if IsHandled then
        exit;

    if not UserSetup.Get(ApprovalEntry."Approver ID") then
        Error(ApproverUserIdNotInSetupErr, ApprovalEntry."Sender ID");
    **OnAfterGetUserSetupSubstituteUserIdForApprovalEntry(UserSetup,ApprovalEntry); //CM00084.Event**

    if UserSetup.Substitute = '' then
        if UserSetup."Approver ID" = '' then begin
            ApprovalAdminUserSetup.SetRange("Approval Administrator", true);
            if ApprovalAdminUserSetup.FindFirst then
                UserSetup.Get(ApprovalAdminUserSetup."User ID")
            else
                Error(SubstituteNotFoundErr, UserSetup."User ID");
        end else
            UserSetup.Get(UserSetup."Approver ID")
    else
        UserSetup.Get(UserSetup.Substitute);

    ApprovalEntry."Approver ID" := UserSetup."User ID";
    ApprovalEntry.Modify(true);
    OnDelegateApprovalRequest(ApprovalEntry);
end;

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

authors: PieterDeVriesAddIT bc-ghost


text:
[Event Request] handled pattern in CU 226 CustEntry-Apply Posted Entries

Hi App Team,
In our vertical solution we need to change some standard behaviour in application of cust.ledger entries. To that end we would like to apply the Handled-pattern in the procedure Apply.
Suggested code:
procedure Apply(CustLedgEntry: Record "Cust. Ledger Entry"; DocumentNo: Code[20]; ApplicationDate: Date): Boolean
var
PaymentToleranceMgt: Codeunit "Payment Tolerance Management";
Handled: Boolean;
begin
    with CustLedgEntry do begin
        Handled := false;
        OnBeforeApplyPaymentTolerancePmtTolCust(Handled, CustLedgEntry, PaymentToleranceMgt, SuppressCommit);

        if not handled then begin
            if (not PreviewMode) then
                if not PaymentToleranceMgt.PmtTolCust(CustLedgEntry) then
                    exit(false);
        end;
        Get("Entry No.");

        if ApplicationDate = 0D then
            ApplicationDate := GetApplicationDate(CustLedgEntry)
        else

...
Event signature:
[IntegrationEvent(false, false)]
local procedure OnBeforeApplyPaymentTolerancePmtTolCust(var Handled: boolean; CustLedgEntry: Record "Cust. Ledger Entry"; PaymentToleranceMgt: Codeunit "Pmt. Tolerance Mgt. L365"; SuppressCommit: Boolean)
begin
end;

Hi @tomddlc . Couple of questions.

What is the codeunit "Pmt. Tolerance Mgt. L365"? I cannot find it.
There is no SuppressCommit variable in Apply function.
Are you sure you don't need var for codeunit parameter? Then what is the purpose to pass it in event?

Hi Roman,
Sorry - I rreported that too fast...
You are absolutely right - the code has now been updated.

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: RomanZanizdra bc-ghost tomddlc


text:
[Event Request] Table 210 "Job Journal Line" - procedure CreateDim()

    procedure CreateDim(Type1: Integer; No1: Code[20]; Type2: Integer; No2: Code[20]; Type3: Integer; No3: Code[20])
    var
        TableID: array[10] of Integer;
        No: array[10] of Code[20];
    begin

----------------------- ADD EVENT ----------------------
        IsHandled := false;
        OnBeforeCreateDim(Rec, IsHandled);
        if IsHandled then
            exit;
----------------------------------------------------------

        TableID[1] := Type1;
        No[1] := No1;
        TableID[2] := Type2;
        No[2] := No2;
        TableID[3] := Type3;
        No[3] := No3;
        OnAfterCreateDimTableIDs(Rec, CurrFieldNo, TableID, No);

        "Shortcut Dimension 1 Code" := '';
        "Shortcut Dimension 2 Code" := '';
        "Dimension Set ID" :=
          DimMgt.GetRecDefaultDimID(
            Rec, CurrFieldNo, TableID, No, "Source Code", "Shortcut Dimension 1 Code", "Shortcut Dimension 2 Code", 0, 0);
    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.


text:
[Event Request] Codeunit "Item Tracking Management" RegisterNewItemTrackingLines

Could we please have a new publisher “OnBeforeRegisterItemTrackingLines” in Function “RegisterNewItemTrackingLines”, Codeunit "Item Tracking Management"?

procedure RegisterNewItemTrackingLines (var TempTrackingSpec: Record "Tracking Specification" temporary)
    begin

…

 QtyToHandleOnSourceDocLine := ReservMgt.GetSourceRecordValue(ReservEntry, false, 0);

 if QtyToHandleToNewRegister + QtyToHandleInItemTracking > QtyToHandleOnSourceDocLine then
   Error(CannotMatchItemTrackingErr);
 TrackingSpec."Quantity (Base)" :=
    TempTrackingSpec."Qty. to Handle (Base)" + Abs(ItemTrkgQtyPostedOnSource(TrackingSpec));

           OnBeforeRegisterItemTrackingLinesLoop(TrackingSpec, TempTrackingSpec);

           Clear(ItemTrackingLines);
           ItemTrackingLines.SetCalledFromSynchWhseItemTrkg(true);

           *** Start new code ***
           OnBeforeRegisterItemTrackingLines(TempTrackingSpecification, ItemTrackingLines);
           *** Stop new code ***

          ItemTrackingLines.RegisterItemTrackingLines(TrackingSpec,
                                                      TrackingSpec."Creation Date",
                                                      TempTrackingSpec);

          TempTrackingSpec.ClearSourceFilter;

       until TempTrackingSpec.Next = 0;

end;

*** Start new code ***
[IntegrationEvent(false, false)]
local procedure OnBeforeRegisterItemTrackingLines(
                 var TempTrackingSpecification: Record "Tracking Specification" temporary;
                 var ItemTrackingLines: page "Item Tracking Lines")
 begin

 end;
*** Stop new code ***

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


text:
find zero resource after running .\AzureResourceInventory.ps1

I run this script but can't get any resources, i login into my Azure, but it seems bind to wrong subscription.
PS C:\Windows\SysWOW64\WindowsPowerShell\v1.0\ARI> .\AzureResourceInventory.ps1
Validating Az Cli..
WARNING: You have 1 updates available.
Please let us know how we are doing: https://aka.ms/azureclihats
and let us know if you're interested in trying out our newest features: https://aka.ms/CLIUXstudy
Validating Az Cli Extension..
Validating ImportExcel Module..
PowerShell Desktop Identified.
Azure Cloud Environment: AzureCloud
Tenant ID not specified. Use -TenantID parameter if you want to specify directly.
Authenticating Azure
You have privileges only in One Tenant
Extracting from Tenant xxxxxxx-xxxx-xxxx-xxxx-xxxxxxx
To include Security Center details in the report, use <-SecurityCenter> parameter.
Report Complete. Total Runtime was: 1.08 Minutes
Total Resources: 0
Total Advisories: 0
Excel file saved at: C:\AzureResourceInventory\AzureResourceInventory_Report_2022-08-09_06_39.xlsx

Same issue. O resources in the report.
_"Azure Resource Inventory are collecting Security Center Advisories.
Collecting Security Center Can increase considerably the execution time of Azure Resource Inventory and the size of final report
Report Complete. Total Runtime was: .94 Minutes
Total Resources: 0
Total Security Advisories: 0"_

Hello,
That's generally caused by different version of AZ CLI extension version.
Can you try to run: "az upgrade" and see if any extension is updated?
Thanks

authors: Claudio-Merola kumammanish zhengmaowang

repo: microsoft/ARI


text:
[Android] Input.Date doesn't receive focus on error

Platform

[ ] Android

Version of SDK
2.3.0
Details
First invalid input should receive focus on error, but Input.Date doesn't receive focus.
For example, test with v1.3/Samples/Elements/Input.Date.Label.json and submit empty date.

Closing as duplicate of #5020

repo: microsoft/AdaptiveCards


text:
Adaptive cards are not getting rendered for Mac users in their outlook

Target Platforms
iOS
SDK Version
1.0
Application Name
MS Outlook
Problem Description
Adaptive cards are not getting rendered for Mac users in their outlook
Screenshots
No response
Card JSON
Adaptive cards are not getting rendered for Mac users in their outlook

Sample Code Language
No response
Sample Code
No response

it's an issue with outlook; could you please file this bug to outlook?

authors: jwoo-msft rameshtummalapalli


text:
Handle overlapping module names in messages delivered graph.

The workbook for device details shows wrong data if a module name is a substring of another module name.
In my case data flows from cv-writer-rabbitmq-gateway::process to cv-writer-metamorph1::input and cv-writer-metamorph1::output to cv-writer-metamorph::input.
However the graph shows two sources to cv-writer-metamorph::input (which is wrong)

The underlying problem is that the query generating the graph is using contains to select the data - so searching for cv-writer-metamorph also matches cv-writer-metamorph1.
The fix is simple and straightforward:
Replace the unspecific part of the query
target contains endpSplit[0]

with a specific one (that strips the device name and exactly matches the module name):
trim_start(@"[^/]+/", target) == endpSplit[0]

Please let me know if I was unclear or if you need further information.
(@veyalla - fyi, since you've merged my last PR - this is also for support request 2403070050002257)
PR Checklist

[x] Explain your changes, so people looking at the PR know what and why, the code changes are the how.
[x] Validate your changes using one or more of the testing methods.

If adding or updating templates:

[x] post a screenshot of templates and/or gallery changes
[x] ensure your template has a corresponding gallery entry in the gallery folder
[x] If you are adding a new template, add your team and template/gallery file(s) to the CODEOWNERS file. CODEOWNERS entries should be teams, not individuals
[x] ensure all steps have meaningful names
[x] ensure all parameters and grid columns have display names set so they can be localized
[x] ensure that parameters id values are unique or they will fail PR validation (parameter ids are used for localization)
[x] ensure that steps names are unique or they will fail PR validation (step names are used for localization)
[x] grep /subscription/ and ensure that your parameters don't have any hardcoded resourceIds or they will fail PR validation
[x] remove fallbackResourceIds and fromTemplateId fields from your template workbook or they will fail PR validation

Thanks @damonbarry for bringing this across the line - also thanks for escaping "my" quotes - I've missed that, sorry!


text:
[loc][Query][AzureStorageExplorer] Localizability of 0; "MessageNumCanceled"

Hi,
please help localization team to answer question from translator.
In case translator is not sure about context/meaning/localizability of string we raise a question to Core team.
Please re-assign back to use in case you are not the right contact person or you can´t assign to a proper person.
Can you help, please?
Thanks!
Source:
%d canceled
File Name:
loc\en\src\Standalone\resources\Activities.json
Resource ID:
0; "MessageNumCanceled"
Query:
Please, define placeholder and whether it will appear with similar strings (%d conflict, %d errors...) for consistent translation.
Also for string
%d completed 0; "MessageNumCompleted"

@PDostalek Yes, "%d canceled" is just like the other strings. It will be a number, such as "2 canceled, 3 succeeded".

Thanks

authors: PDostalek craxal

repo: microsoft/AzureStorageExplorer


text:
'Third Party Notices' under Help menu is not localized

Storage Explorer Version: 1.10.1
Build: 20190926.4
Branch: master
Platform/OS: Windows 10/ Linux Ubuntu 18.04/macOS High Sierra
Architecture: ia32/x64
Language:  Chinese (zh-CN)/ Chinese (zh-TW)
Regression From: Not a regression
Steps to reproduce:

Launch Storage Explorer using the command 'StorageExplorer.exe --lang=zh-CN'.
Click the localized menu 'Help' -> Check its dropdown list.

Expect Experience:
'Third Party Notices' is localized.
Actual Experience:
'Third Party Notices' is not localized.

Existing string translated, but forgot to swap out hard-coded string.

authors: craxal v-xianya


text:
An error dialog pops up when trying to delete one ADLS Gen2 blob

Storage Explorer Version: 1.10.1
Build: 20191009.1
Branch: master
Platform/OS: Windows 10/ Linux Ubuntu 19.04/macOS High Sierra
Architecture: ia32/x64
Regression From: Previous release (1.10.1)
Steps to reproduce:

Expand one ADLS Gen2 storage account -> Blob Containers.
Create one blob container -> Upload one blob.
Try to delete the blob -> Check the result.

Expect Experience:
The Delete dialog pops up.

Actual Experience:
An error dialog pops up.

@craxal  This might be caused by overloclaization of some resource.
From our side all occurrences of string Cancel are localized. If Cancel need to stay in English please lock corresponding resource string

This issue has been fixed on build 20191015.4. So we close it.

authors: janbaltus v-xianya


text:
Pop up an error dialog when trying to delete one blob when the soft delete is enabled

Storage Explorer Version: 1.16.0-dev
Build:  20201009.2
Branch: main
Platform/OS: Windows 10/ Fedora release 29/ MacOS Catalina
Architecture: ia32/x64
Regression From: Previous release (1.15.1)
Steps to reproduce:

Expand one storage account -> Blob Containers -> Enable the soft delete.
Create one blob container -> Upload one blob -> Try to delete the blob.
Check the result.

Expect Experience:
No error occurs.
Actual Experience:
Pop up an error dialog.

More Info:
This issue also reproduces when deleting one blob version or one snapshot.

Verified this issue on build 20201010.4. Fixed.


text:
Cannot create connection for Azure Account

Version: 1.4.2
Platform: macOS
Architecture: x64
Build Number: 20180917.1
Commit: f66de7ea
Support Id: d02ab9b4-e6df-b370-42ae-f793c85261ca
Authentication Window is presented and never presents the ability, eventually goes away.

@spboyer , if you're still having auth issues, please let us know with a new issue. Thanks.

authors: MRayermannMSFT spboyer


text:
devcontainer build failure

I've tried to build the devcontainer locally and I get the following error
[276489 ms] Start: Run in container: /bin/sh -c .devcontainer/scripts/post-create-command.sh
find: ‘AzureTRE/devops/’: No such file or directory
[277020 ms] postCreateCommand failed with exit code 1. Skipping any further user-provided commands.

Just downloading the AzureTRE release seems to fix it.
Hardware: M1 Pro Mac
OS: MacOS 12.5.1
build_log.txt
Many thanks for your help in advance.

Thanks @t-young31 just to confirm I have just tested and hit the same issue in WSL.
@tamirkamara @LizaShak is this something you have seen?

Thanks for the logs. That's useful.
Can you try pulling the latest code, and re-running this again please? A number of files have changed in the repo since this was opened. This issue was opened 7 days ago, but the release of AzureTRE that you're installing appears to be...
OSS_VERSION=v0.4.3

... and this was only referenced in this deployment repo 3 days ago. So, I'm hoping that pulling the latest code from here and re-running (rebuilding the dev container) will help fix this.
You shouldn't need to download a copy of the AzureTRE yourself. You should find a download in the location pointed to by...
ENV AZURETRE_HOME=/home/$USERNAME/AzureTRE

If this doesn't work, can you tell me what AZURETRE_HOME is set to inside the devcontainer?

I'm on v0.4.3 and get the same issue, it's set to: AZURETRE_HOME=/home/vscode/AzureTRE.
For some reason the download step on line 96 of the dockerfile doesn't seem to be creating the files, but don't get an error.

Just to be sure I'm clear: have you...

pulled the latest version of this repo
performed a "rebuild dev container" in VS Code

If/when you do, can you share the logs for that please?

RUN layers aren't automatically invalidated, and so I was wondering if we're seeing a cache issue

Just to be sure what you're done: have you...

pulled the latest version of this repo
performed a "rebuild dev container" in VS Code
If/when you do, can you share the logs for that please?
Just run exactly that & same issue:
build_log_22092022.txt

I rebuilt without cache and got the same.@martinpeck can you build the dev container from this repo with any success?

So, I see the same error.
The copy isn't failing. The AzureTRE has been downloaded, and unzipped, exactly where we expect it to be.
For example, I have a folder /home/vscode/AzureTRE that contains everything I'd expect, and includes the version.txt file that install-azure-tre-oss.sh creates as its final step.
So, the Docker commands appear to be working as expected. The find is failing in the postCreateCommand step.

I've got a fix. This certainly allows the devcontainer to build/open successfully, and appears to copy the .env files.
However, it results in git seeing changes because these .env files are tracked already.

@t-young31 hopefully this fixes things for you

authors: marrobi martinpeck t-young31

repo: microsoft/AzureTRE-Deployment


text:
Fix typo

Resolves #3779
What is being addressed
Fix a typo.

/test-force-approve

authors: SvenAelterman marrobi

repo: microsoft/AzureTRE


text:
Create a sample to show taking input attachments on a waterfall dialog

currently as i see , the handling attachment bot sample is more of a bot sample jumping different functions , it would be a better implementation if the same can be implemented in a waterfall-dialog setting .
attachments are a key part of the chat bot experience , the one i am developing for my company's project requires this .
currently i am trying to find a way to switch bots with a waterfall ,
any guidance will help . thank you .
EDIT : Multi attachment handling isnt very clear in the handling attachment sample .

any updates on how to do this ?

@v-kydela, can you please provide an example

i have described this issue here : https://stackoverflow.com/questions/58336861/how-to-access-iturn-context-functions-through-a-waterfall-dialog-in-bot-framewor
got no support there .
need to make a prototype to show my team before monday.
its meant to handle jpeg/png images . there is just a lack of samples on handling attachments . The attachmentprompt too has sparse documentation and literally no usage examples.

@vyomanaut - I have answered your question on Stack Overflow. Is it the same as your issue here or does this GitHub issue need to be solved separately?

Just saw your answer , what i am requesting is if a sample can be made for the next release of 4.6 .
Attachments is a very critical part of the chat-bot experience .
Also very sparse documentation on attachment prompt with no examples .

@vyomanaut, it's unlikely this meets the bar for 4.6 given the time frame of that release. @cleemullins to confirm.

can we add more examples/samples of handling attachements ?
the handling attachements sample is honestly not an ideal use case . Customers will likely want attachement funstionality in component dialogs .
also as i mentioned earlier , example demonstrating AttachmentPrompt is missing .

try this solution here :
https://github.com/microsoft/botframework-sdk/issues/5312

I'm open to improving the Attachment Sample. Certainly as part of the Teams work, that's on our radar. This would happen in our R7 or R8 time frame.
@vyomanaut, do you have a specific set of criteria you would like to see included?

@cleemullins - My recommendation would be to update the multi-turn prompt sample to include attachment prompts, since it has most other prompts already

@v-kydela I'm good with that. I've traiged to R7.

definitely what Kyle has said is recommended .
Apart from that nothing else so far .
btw , thats a cool profile picture though !, you seem to be one of ours ....

@v-kydela I've assigned you here. Can you take this with your suggested approach?

@cwhitten - Yes, you can expect a PR tomorrow. Thank you, Chris.

@cwhitten - I have submitted a PR for .NET and will look into doing Node as well

@cwhitten - I've made the changes to the Node sample now. I've requested your review.

authors: CoHealer cleemullins cwhitten v-kydela vyomanaut

repo: microsoft/BotBuilder-Samples


text:
[Issue] - Health Checker - Unable to determine Local System Membership as the results were blank.

Provide Version Number
24.12.06.1857
Describe the issue
Exchange Server Membership: Failed
Unable to determine Local System Membership as the results were blank.
Script Output
Exchange Server Membership: Failed
Unable to determine Local System Membership as the results were blank.
Additional context
Checked the AD computer object manually. It's member of "Exchange Trusted Subsystem" and "Exchange Servers"
The KB https://aka.ms/HC-ServerMembership does not explain what "the results were blank" mean.

Actually, this is for checking to make sure that on the local server, Exchange Trusted Subsystem is a member of the Administrators group of the server.

I will have to update the documentation on this to help call this out.

Thank you for the clarification!
I’ve checked this, and the Exchange Trusted Subsystem is a member of the Administrators group on the server.
However, the Health Checker still shows the above-mentioned error.

OK, I understand.
Thank you for this extremely helpful tool! :)

Going to keep the issue open to update the documentation at least.

Sorry ;)

repo: microsoft/CSS-Exchange


text:
2022-08-11 AzureNamingTool - Resource Type Update

Updated resource type data

Notification: @dominicallen @jocontr

Looks good

Merging following @jocontr review

authors: BryanSoltis dominicallen jocontr

repo: microsoft/CloudAdoptionFramework


text:
Treesitter dependency

Latest version of Treesitter doesn't work with GraphCodeBert. It gives:
AttributeError: type object 'tree_sitter.Language' has no attribute 'build_library'.
Works fine on older versions of Treestitter like 0.20.1

You helped me.

Thank u

Thank you so much!

authors: AWGiaGia Michael-Jiahao-Zhang mediuspage zzhisthebest

repo: microsoft/CodeBERT


text:
We cannot convert value Null to type list while loading table/view from custom connectors in power Bi desktop

DRL power BI.docx
While loading the data from DB to power BI we are getting mention error like We cannot convert value Null to type list while loading table/view from custom connectors

I'm not familiar with Summit DB or with the code for the custom connector that you're using.
I'm afraid I'm not in a position to help given the information. My best advice is to check the connector logic and see if there's any incorrect logic on how null values should be handled when they come from the data source. That could be the reason why you're getting the message of "We cannot convert value Null to type list"

Hey!
For questions related to the Power Query SDK, Power BI Custom Connectors, or Power Query in general, we recommend posting those questions in the official Power Query forum inside the Power BI Community site. You can find more information about this from the last section of the readme file of this repo.
Thank you!
Miguel Escobar
Product Manager @ Microsoft

repo: microsoft/DataConnectors


text:
ZeroQuant quantization kernels and LKD

Hi,
I was trying out the compression library for ZeroQuant quantization (for GPT-J model). While I was able to compress the model, I didn't see any throughput/latency gain from the quantization during inference. I have a few questions regarding this:

Do you guys have any guide to running inference on compressed models(especially ZeroQuant)? InferenceEngine only seems to support Mixture-of-Quantization but not ZeroQuant. I also tried int8 quantization without using compression module as shown in the code snippet below but end up getting CUDA error: an illegal memory access error
Have you guys released the fused kernels for GeLU+Quantize and GeMM+dequantize proposed in the ZeroQuant paper yet?
Any tentative release date for Layer-by-layer Knowledge Distillation?
What's the motivation for multiplying quantized input by scale here? Wouldn't that dequantize inputs?

injection_policy={gptj_transformer:
                          module_inject.replace_policy.HFGPTJLayerPolicy}

model = deepspeed.init_inference(
    model,
    mp_size=world_size,
    dtype=torch.int8,
    quantization_setting=2,
    replace_with_kernel_inject=True,
    injection_policy=injection_policy,
)

Any help would be appreciated.

Looks like the inference kernesl for zeroquant is not released.

@gsujankumar have you by any chance been able to quantize gpt-x models like gpt-2 or gpt-j?

Hi,
The engine of ZeroQuant inference is not released yet. The code example in DeepSpeed-Example is only to help verify the accuracy of ZeroQuant.
The kernel/engine released is on our calendar and we are actively working on it to make it compatible for various models. Please stay tuned.
For LKD, we will also release it soon.
For the last question, the code for training or accuracy testing is different than the final inference engine. Here, everything is simulated, so we can do quantization aware training or other things

thanks for replying back @yaozhewei. Do you think you could provide any estimation on when the ZeroQuant inference will be released? any rough estimation would help!

i have the same questions, is there any guide to running inference on compressed models(especially ZeroQuant)?
Any help would be appreciated.

hi ，when the ZeroQuant inference will be released?

@yaozhewei any news on this?

@david-macleod LKD example is just released (not merged yet): https://github.com/microsoft/DeepSpeedExamples/pull/214
For kernel, please stay tuned

Thanks @yaozhewei! Do you know whether there is a rough timeline for this? e.g. 1 month, 6 months, 1 year? It would be very useful to know as we'd like to decide where to wait or explore other options. Thanks again!

I have the same problem, after zero-quant with  DeepSpeed-Example reposity's code, but didn't see any throughput/latency gain from the quantization during inference， it only have model size decrease.
the inference kernels for zeroquant have released at now?

@yaozhewei any update on this?

@yaozhewei the newest deepspeed>-0.9.0 can't run any model int INT8， many issue opened not solved yet.  Can you tell us which version of deepspeed can run int8 model? I just want to reproduce the result in your paper ZeroQuant

@yaozhewei any update on this? Is the engine of ZeroQuant inference released?

authors: HarleysZhang Moran232 aakejiang david-macleod gsujankumar huangzl19 sdpmas xk503775229 yaozhewei

repo: microsoft/DeepSpeed


text:
How to get average loss across all ranks using custom loss function

Below is a simple training code
for i, (inputs, labels) in enumerate(trainloader):         inputs = inputs.to(device)         labels = labels.to(device)         pred = model(inputs)         loss = criterion(pred, labels)         optimizer.zero_grad()         model.backward(loss)         optimizer.step()
In this code, although the gradient descent of the model can be performed automatically.
But the loss is different in each rank. So how do I get the average loss under all ranks?
Thank you.

Below is a simple training code
for i, (inputs, labels) in enumerate(trainloader):  inputs = inputs.to(device)   labels = labels.to(device)   pred = model(inputs)   loss = criterion(pred, labels)   optimizer.zero_grad()   model.backward(loss)   optimizer.step()   In this code, although the gradient descent of the model can be performed automatically. But the loss is different in each rank. So how do I get the average loss under all ranks? Thank you.


text:
BulkLoadDemo Display Fix

The "ShowingASet" state tracked time since loading the Marc file, not since loading finished. If the demo takes, say, 20 seconds to load, this state lasts only briefly before switching to "Unloading." To ensure a consistent 10-second display, we now consider both load time and display duration.

@HaydnTrigg, thank you for your contribution.  This behavior is actually by design since it allows for side-by-side comparisons to be made.  If you'd consider making this behavior controllable by some kind of a runtime setting then I'd be happy to integrate this change.

authors: HaydnTrigg damyanp

repo: microsoft/DirectStorage


text:
[C#] FasterLogScanIterator.GetNext should return address of next entry

With the update in 2020.2.1.1, the out long address argument got changed to contain the current address--this renders FasterLogScanIterator.CompleteUntil() unusable, since it expects the "next" address as its argument, but there is no thread-safe way to get this value outside of the previous implementation of out long address. Please consider either reverting the behavior, or adding another out argument for the next address.
Thanks.

Checkout FasterLogScanIterator.NextAddress field.

I think that falls in the "not thread safe" category.
Imagine if you have multiple threads calling into GetNext() of a single iterator so that they can do CPU-heavy processing on the data in parallel. Unless you use some synchronization (like a mutex), you have no guarantee that another thread hasn't already called GetNext() in between the time you call your GetNext() and the time you fetch NextAddress. While we certainly can do that, I think the most elegant solution would be to return the "would-be-next address" at the call of GetNext() so that we avoid that overhead.

Agreed, this was discussed on Gitter earlier. We need it to be thread-safe, and the call stack is the best way to ensure this.

This requires a bit more clarification. Assume we have two threads calling GetNext simultaneously. A thread calls GetNext, does some processing on the returned item, then calls GetNext again in a loop. Now consider from the perspective of one of these threads.
When it calls GetNext and gets the "next" address (via the proposed fix), the next address represents the address of the entry immediately after the currently returned entry. It does NOT imply that the other concurrent thread has completed processing any previous entry. In other words, FASTER does not know when an iterator thread has finished processing its retrieved entry.
That said, the above proposed extension to get the immediate next address might still be more useful than calling iter.NextAddress - because the former would tell the caller the exact address of the item immediately after the one currently retrieved, whereas the latter might return an address further into the future.

repo: microsoft/FASTER


text:
Update scope for npm dependencies

Description
As part of recent changes to some of our internal infrastructure I updated the scope for some NPM dependencies in the @ff-internal/aria-logger package. Pipelines are currently installing the latest version of aria-logger but setting up authentication for the older scope for the dependencies.
This PR updates the scope/feed used in the pipelines and pins the installed version of aria-logger so that future changes to it aren't a (potential) immediate break in the pipelines.
Reviewer Guidance
Pinning the version of aria-logger that we install in the pipelines means one more change we need to make there in order for any improvements made to aria-logger to be reflected, but it makes them a bit more robust. Given the low frequency of changes to aria-logger, I think the trade-off is acceptable.

How might we know in the future that we need to update the version of aria-logger?

How might we know in the future that we need to update the version of aria-logger?

Since (AFAIK) it is only used in the pipelines, any improvements to it will probably come from a need there. I'd imagine the person who makes the improvements will know that this pinned installation step exists and will update it together with their change, or will investigate why their improvement isn't being reflected in the pipeline and eventually run into the pinned version and update it.

repo: microsoft/FluidFramework


text:
Update dev dependencies on @fluidframework/eslint-config-fluid in azure packages

Also applies fixes and adds missing package-lock file.

@curtisman @tylerbutler layer-check is failing due to the dependency fix I made. Looks like the external-controller package might be mislabeled. Guidance for how to fix would be appreciated :)

The lockfile shouldn't be added to the external-controller project since it's part of the release group.

Ah, for some reason I thought we still had them per package. My mistake. I have removed it.


text:
New serialized data format in testdata

New try to test new detached format added in testdata repo. See https://github.com/microsoft/FluidFramework/pull/18829 for more info

can you verify the new test data in running in a test, basically just look it up in the CI pipeline output, maybe add a link here if possible.

there are the new tests that use new serialized container data format. Links coming from passing CI pipeline:
Rehydrate container from newSerializedContainer.json and check contents before attach
https://dev.azure.com/fluidframework/public/_build/results?buildId=231355&view=ms.vss-test-web.build-test-results-tab&runId=5125622&resultId=100004&paneView=debug
Rehydrate container from newSerializedContainer.json round trip serialize/deserialize
https://dev.azure.com/fluidframework/public/_build/results?buildId=231355&view=ms.vss-test-web.build-test-results-tab&runId=5125622&resultId=100005&paneView=debug

test data repo PR: https://github.com/microsoft/FluidFrameworkTestData/pull/64

authors: anthony-murphy dannimad


text:
build(matrix): use fluid-tsc

@anthony-murphy, @Abe27342 - A proper ESM package requires includes file extensions when importing files.  These were added automatically via 'ts2esm'.

matrix source file changes look good to me. If you want to add more context on intent of this change (I assume some infra normalization as part of our esm effort, but I'm not sure right now what our end goal is) I can review the rest as well.


text:
Update build-tools and type tests

Description
https://github.com/microsoft/FluidFramework/pull/21070 made some improvements to type tests which were needed to regenerate the type tests for client. This change integrates that, as well as regenerates the type tests with the new generator.
Reviewer Guidance
The review process is outlined on this wiki page.

ping me when primary reviewer has approved, merge-tree changes are fine.


text:
[rc5] Re-expose full API in default export

DRAFT - more info coming soon.
Re-exposes the full API in the default export for the following packages:

container-definitions
core-interfaces
datastore-definitions
driver-definitions
runtime-definitions
shared-object-base

Superseded by other changes; closing.


text:
feat(ci): Add e2e tests against latest docker images

Description
Adds a new stage for e2e tests against a local routerlicious environment spun up with docker in the build agent. This exercises our e2e tests against the current version (head of main) of all server code (vs the tests we run against the internal routerlicious deployment in AKS, which runs not-terribly-old-but-never-head-of-main docker images of the server components), which should help get us some confidence that the current version of server isn't breaking something (which in fact already seems to have happened; keep reading).
For this, a few adjustments (and fixes?) were necessary in the docker setup, server configuration, and the e2e tests pipeline:

Add an nginx container to the docker environment spun up from server/docker-compose.yml, with the nginx configuration defined in the repo. This is necessary so recent changes that cause alfred to redirect certain requests to nexus are in place. Otherwise older FF versions do not work against this environment.
Split the image tag used for historian from the ones used for gitrest and gitssh. They come from different pipelines from different build numbers so with a single variable we would not be able to find all of them at the same time.
Enable whole summary upload by default in alfred. Without this, I was able to run things correctly using the latest routerlicious + gitrest + gitssh images, but when adding the latest historian image into the mix, I started seeing many errors in the historian logs, and the tests ran, but they did it way slower. I don't understand the interaction here, but we're moving away from shredded summary upload anyway, so changing the default in the docker images to be whole summary upload seems to make sense regardless.

In my opinion, this basically means that we (kind of?) broke the server environment provided by our docker images at some point. The tests still work, but something seems to not be working as intended, if one were to spin up a server environment with the latest docker images available internally. It has had no public impact because the image versions that are available publicly for historian, gitrest, and gitssh, are pretty old (and things seem to work fine with those, but they're far from being the latest).

Update the template for e2e test runs in the pipeline so it can take pre/post steps (post-steps capability was already there but unused), where the new stage can spin up and spin down the docker environment.

Reviewer Guidance
The review process is outlined on this wiki page.
This sample run (msft internal) was done with only the new stage. Runtimes are pretty good and no tests failed.

Server folks (@znewton , @pradeepvairamani, tag anyone else that could/should chime in), I'm interested in your thoughts on the changes to the docker compose files and the routerlicious config. I'm not familiar with any workflows you guys might have with these files, but I think everything here is safe and/or necessary for a fully functional local environment (including supporting older FF client versions).


text:
Add safe way to add pii to error objects

fixes #1920

Gonna close this one temporarily, need to merge in some other changes, and it's in a half-baked state after my work day was cut short today.

Hey @markfields , just want to confirm that your intent in adding me to review this closed PR is for consideration of its additions of a private taggedProps?: ITaggedTelemetryProperties argument to LoggingError and the handleTaggedProps capability for inclusion in some of my work on #5321 ?

I'll have to look at that PR. I'm planning to reopen this next week all things being equal. @jcmoore

Love the direction, but would love to see comments addressed before merging. Happy to take another pass.

authors: jcmoore markfields vladsud


text:
Sensor device consent issue

Overarching goal: Get IMU data from the modified HL2 device.
Trying to run the latest main trunk code (SensorVisualization sample using VS2019 v16.8.5) on my modified HL2 device but it keeps failing at this line:
winrt::check_hresult(m_pSensorDevice->QueryInterface(IID_PPV_ARGS(&m_pSensorDeviceConsent)));
My interpretation: Since my HL2 has different sensors the "device consent" piece is NOT working as it may be asking consent using GUIDs which are NOT applicable in my hardware. it is just my guess.
My real question: How does one get GUIDs such as below "EAB9D672-9A88-4E43-8A69-9BA8f23A4C76" ?:
DECLARE_INTERFACE_IID_(IResearchModeSensorDeviceConsent, IUnknown, "EAB9D672-9A88-4E43-8A69-9BA8f23A4C76") { STDMETHOD_(HRESULT, RequestCamAccessAsync)(void (*camCallback)(ResearchModeSensorConsent))= 0; STDMETHOD_(HRESULT, RequestIMUAccessAsync)(void (*imuCallback)(ResearchModeSensorConsent)) = 0; };
My OS version: 19041.1045
any thoughts @dorinung @robertyoung2 @fbogo @kysucix  !

Research Mode - and thus IMU access - is only supported with 19041.1364 or newer. Have a look in the doc file or issues #70.

Overarching goal: Enable Research Mode in my Hololens2.
When following instructions in the tutorial at xxx i have found that my "Device-Portal" doesnt include the option "Research-Mode". See attached image
My interpretation: The OS of my device is not updated, so the "research-mode" option is missing
Currently my device has buildings of 19041.1113..., and the tutorial indicates that "earliest build that fully supports research mode is 19041.1364"
What I have done:  update the OS version using Windows insider Program / Beta Channel.
After this I have advanced to building 19041.1134..., not enough to the reference in the tutorial. The "Research-Mode" is still missing in my device portal
My real question: How can I update my OS to building 19041.1364 or later
My current OS version: 19041.1134, Spanish language

Research Mode - and thus IMU access - is only supported with 19041.1364 or newer. Have a look in the doc file or issues #70.

But as far as I remember research mode was already available from Windows Holographic, version 2004 - July 2020 Update (19041.1109). However it was only communicated from Windows Holographic, version 20H2 (19041.1128) in the release notes.

authors: NHarishGit dakesse guillermoacdc


text:
[R-package] how to plot the  cross validation evaluation result from lgb.cv()?

I want to use the results of lgb.cv, including observation value and predicted value, to draw a scatter diagram, how to do it?

Thanks for using LightGBM.
I don't quite understand what you're trying to accomplish, but hopefully I can help by explaining how that function works.
lgb.cv() fits multiple models, and returns an object called an lgb.CVBooster that contains all of them. That has two attributes that might be useful for your purposes:

$boosters = a list of lgb.Booster objects (LightGBM's model object), each of which you can use to create predictions
$record_evals = a list of out-of-fold evaluation metrics, containing the mean (and optionally standard deviation) of evaluation metrics, as of each iteration, summarized over all of those models

The intent of lgb.cv() is that you use it to understand the performance of different sets of hyperparameters (captured in $record_evals), and then use the best set to re-train on all of your training data. That's why the idea of "the predictions" is ambiguous when discussing the output of lgb.cv().
The example below shows how to obtain predictions from each of the lgb.Booster objects in an lgb.CVBooster:
library(lightgbm)

data("EuStockMarkets")
trainMat <- data.matrix(
    EuStockMarkets[, c("DAX", "SMI", "CAC")]
)
labelVec <- EuStockMarkets[, "FTSE"]

dtrain <- lightgbm::lgb.Dataset(
    data = trainMat
    , label = labelVec
    , params = list(
        min_data_in_bin = 1L
    )
)
params <- list(
    objective = "regression"
    , metric = "l2"
    , min_data_in_leaf = 1L
    , verbose = 1L
)
cv_booster <- lightgbm::lgb.cv(
    params = params
    , data = dtrain
    , nrounds = 10L
    , nfold = 3L
)

# compare predictions
vizDF <- data.frame(
    actual = labelVec
    , bst1_preds = predict(cv_booster$boosters[[1]]$booster, trainMat)
    , bst2_preds = predict(cv_booster$boosters[[2]]$booster, trainMat)
    , bst3_preds = predict(cv_booster$boosters[[3]]$booster, trainMat)
)
plot(vizDF)

{lightgbm} doesn't have any specific data visualization functions which could be described as "a scatter diagram... [of]... observation value and predicted value", but hopefully that example is enough to show you how to get the raw data for the analysis you want to do.
If you have specific questions about the return value of lgb.cv(), please ask them and we'd be happy to help.
If you are looking for generic advice on how to make plots in R, please consider posting with the r tag at https://stackoverflow.com/questions/tagged/r.

thanks!
For example in rf, I type the
Obs <- model$pred$obs (x-axis)
Pred <- model$pred$pred (y-axis)
how to do in LightGBM

Use lgb.train() to produce a model fitted to all your training data, not lgb.cv() which produces multiple models on subsets of the data.
See https://lightgbm.readthedocs.io/en/latest/R/reference/predict.lgb.Booster.html or the code I provided above for some examples.

But where I can know the CV result and draw the scatter plot?

Sorry, you will have to be more precise about what you mean by "the CV result".
I explained in https://github.com/microsoft/LightGBM/issues/5983#issuecomment-1637360856 how to interpret the contents of the object returned by lgb.cv() and how to produce predictions from each of the individual models inside that object.

I am sorry. I'm trying now.

Thank you, I solved the problem.
But I have a question, what is the 'cv_booster$boosters[[1]]$booster' mean?

I did try to answer that in https://github.com/microsoft/LightGBM/issues/5983#issuecomment-1637360856, but I'll rephrase it.
lgb.cv() splits the data into training and test sets nfold times. For each training and test set combination, it trains a model (called a "booster" in LightGBM).
The $boosters attribute of the object returned by that function contains each of those models, which will be slightly different because they were fitted to diferent subsets of the training data.
So, for example, lgb.cv(nfold=3) will return an object with 3 fitted models in its $boosters attribute.
In that example, cv_booster$boosters[[1]]$booster means "the model fit to the first subset of the data".

Thank you, let me think a moment.

I got it! Thank you.

repo: microsoft/LightGBM

license: mit

license_source: bigquery


text:
Update to latest 0.3.8 of the CopyOnWrite library containing a bug fix

Plus SourceLink added to the CoW library.

For #546

repo: microsoft/MSBuildSdks


text:
Requesting access to Extended Eye Tracking API

Describe the problem
Hi!
I'm currently working on a project that requires left and right eye gaze vectors for obtaining eye gaze depth. Current Eye tracking SDK of HoloLens 2 doesn't provide left and right eye gaze vectors, only offering the single (cyclopean) eye gaze direction and hit position.
Describe the solution you'd like
We found Extended Eye Tracking SDK provides TryGetLeftEyeGazeInTrackerSpace and TryGetRightEyeGazeInTrackerSpace functions for calculating left eye gaze and right eye gaze. We want to request access to extended ET API. We found the URL. The instructions request us to reach out to Microsoft Mixed Reality team (mail: TDB). However, I don't know the specfic email. Can you tell me how I can obtain the approval of using the Extended Eye Tracking APIs?
Describe alternatives you've considered
Additionally, for our use case, falling back to single (cyclopean) eye gaze tracking is not an option.
Thank you very much.
Additional context

Hey @962557346, I'll reach out to internal teams and get back to you.

Hey @962557346, I'll reach out to internal teams and get back to you.

Thank you very much. Looking forward to your prompt reply.

Closing as per our discussion on slack.

repo: microsoft/MixedRealityToolkit-Unity


text:
VScode 2022 extensions trouble

This issue has been moved from a ticket on Developer Community.

thank you for supporting and i wish you can reply me by the other mail address which i used the most.
Mail: [Redacted]@[Redacted]
and the problem is, i discover that the extension searching have some issue that i cant find and install the extension which i need to use.
for an example , i cant find the python preview in the VScode but i can find it by online site.
when i click the install button, nothing happens also cant install the extension by downloading the extension.
https://marketplace.visualstudio.com/items?itemName=dongli.python-preview&ssr=false#overview

Original Comments
Feedback Bot on 8/7/2022, 11:58 PM:
(private comment, text removed)

Original Solutions
(no solutions)

Thanks for the report, however, this is not a Microsoft extension. Please contact the author.

authors: judej vsfeedback

repo: microsoft/PTVS


text:
Lora finetuning script for Phi-3-vision-128k-instruct no longer works with latest revision of the model

Alright, so I spent several hours thinking it was a dependency issue, only to discover that it was actually a change in the model itself that was uploaded to Huggingface. :/
To confirm, I just changed the training script to load the model at revision='f998a184b56bf0399b3af85c50b20ec0d5688f5f', and now it works like a charm.
See the details below.

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ x ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Follow the steps for lora finetune mentioned here: https://github.com/microsoft/Phi-3CookBook/blob/a3e5e48d6a56cb49b9a34b35331a41aa3f42ba3d/md/04.Fine-tuning/FineTuning_Vision.md
Note that I only tried the DocVQA script.

Any log messages given by the failure

/usr/local/lib/python3.10/dist-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None
  warnings.warn("None of the inputs have requires_grad=True. Gradients will be None")
Traceback (most recent call last):
  File "/workspace/train.py", line 570, in <module>
    main()
  File "/workspace/train.py", line 514, in main
    trainer.train()
  File "/usr/local/lib/python3.10/dist-packages/transformers/trainer.py", line 1624, in train
    return inner_training_loop(
  File "/usr/local/lib/python3.10/dist-packages/transformers/trainer.py", line 1961, in _inner_training_loop
    tr_loss_step = self.training_step(model, inputs)
  File "/usr/local/lib/python3.10/dist-packages/transformers/trainer.py", line 2902, in training_step
    loss = self.compute_loss(model, inputs)
  File "/usr/local/lib/python3.10/dist-packages/transformers/trainer.py", line 2925, in compute_loss
    outputs = model(**inputs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/parallel/distributed.py", line 1139, in forward
    if torch.is_grad_enabled() and self.reducer._rebuild_buckets():
RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one. This error indicates that your module has parameters that were not used in producing loss. You can enable unused parameter detection by passing the keyword argument `find_unused_parameters=True` to `torch.nn.parallel.DistributedDataParallel`, and by
making sure all `forward` function outputs participate in calculating loss.
If you already have done the above, then the distributed data parallel module wasn't able to locate the output tensors in the return value of your module's `forward` function. Please include the loss function and the structure of the return value of `forward` of your module when reporting this issue (e.g. list, dict, iterable).
Parameter indices which did not receive grad for rank 0: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 ...

Expected/desired behavior

no errors

OS and Version?

Linux  Ubuntu

More info:
I use a single card. Here is the nvidia-smi output:
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA A100 80GB PCIe          On  |   00000000:86:00.0 Off |                    0 |
| N/A   36C    P0             43W /  300W |       0MiB /  81920MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

@ChenRocks can you please look into this issue with the latest model release

Thanks @Mihaiii for reporting this. Could you check if #102 solves your issue?

@ChenRocks Thank you for allowing the vision model to not be freezed when doing LORA finetuning!
I tested and it works ok as long as I do not pass the "freeze_vision_model" argument.
Before this change, when LORA finetuning, we had to be freeze vision model. After this change, when LORA finetuning, we have to unfreeze vision model (otherwise we get the above error). I was expecting now to be able decide whether I want to freeze or unfreeze the vision model.

@ChenRocks  are you happy to close this issue based on @Mihaiii comments?

@Mihaiii is there further issues regarding this? Other wise we may close this. Thanks!

As mentioned above, users won't be able to use the "freeze_vision_model" argument when doing lora. If it's intentional, then yes, sure, please close and thank you for the update. 🙌

Seems there are some misunderstanding here. --freeze_vision_model is still allowed with LoRA. Does it not work for you?

@ChenRocks no, it does not. I get the error from the initial message[1] when I'm using it. Does it work for you? Maybe I did something wrong.
[1] RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one.[...]

I see. I only tested with single GPU. Just found that it does break with multi-GPU LoRA+freeze_vision. Let me investigate this

I think I tried somwthing like that in the past and still did not work. I'll try again, though. Fwiw, im my case it won't work even if I'm using only one GPU, not multiple. I know it's a parallel error, that s why it's strange.

You right, there are some deeper issue. I'll keep working on a solution.

#103 should work for now. I'll run some training jobs to make sure everything is fixed. After that we'll merge to main.

@ChenRocks @leestott
I tested the latest changes and now the script seems to work ok with or without both vision model frozen.
@ChenRocks Thanks again for making the changes to allow finetuning the vision model - I did a comparison on results and I get better results now.
I'm gonna go ahead an close this.

authors: ChenRocks Mihaiii leestott


text:
Error importing Zoom openapi

Hi,
I',m new to openapi and custom connectors.
I'm trying to import the zoom Open API file from https://raw.githubusercontent.com/zoom/api/master/openapi.v2.json.
In its "definitions" object it has a "Webhook" element  defined as
   "Webhook": {
        "type": "object",
        "description": "Webhook base object, only available for version 2 webhook",
        "required": [
            "url",
            "auth_user",
            "auth_password",
            "events"
        ],
        "properties": {
            "url": {
                "type": "string",
                "description": "Webhook endpoint",
                "maxLength": 256
            },
            "auth_user": {
                "type": "string",
                "description": "Webhook auth user name",
                "maxLength": 128

            },
            "auth_password": {
                "type": "string",
                "description": "Webhook auth password",
                "maxLength": 64
            },
            "events": {
                "type": "array",
                "items": {
                    "type": "string"
                },
                "description": "List of events objects.",
                "enum": ["meeting_started", "meeting_ended", "meeting_jbh", "meeting_join", "recording_completed", "participant_joined", "participant_left", "meeting_registered", "recording_transcript_completed"],
                "x-enum-descriptions": [
                    "The meeting has started.",
                    "The meeting has ended.",
                    "Attendee has joined a meeting before the host.",
                    "Host hasn’t launched the meeting, attendee is waiting.",
                    "All the Cloud Recordings have completed processing and is available.",
                    "Participant has joined the meeting.",
                    "Participant has leaved the meeting.",
                    "Attendee registered for a meeting or webinar.",
                    "Recording audio transcript files have processed and are available."
                ]
            }
        }
    },

When I try to import it , powerapps compains about that 'events' element with the error message:
Error: 'Error : definitions/WebhookUpdate/properties/events/enum : The type of the enum value is 'String' but it should be 'Array' as specified in the schema.
Any idea how I can fix that?

OK, got around that issue. Looks like the enums needs to be within the items.
This worked:
"events": {
"description": "List of events objects.",
"items": {
"description": "List of events objects.",
"enum": [
"meeting_started",
"meeting_ended",
"meeting_jbh",
"meeting_join",
"recording_completed",
"participant_joined",
"participant_left",
"meeting_registered",
"recording_transcript_completed"
],
"type": "string"
                },
                "type": "array",

                "x-enum-descriptions": [
                    "The meeting has started.",
                    "The meeting has ended.",
                    "Attendee has joined a meeting before the host.",
                    "Host hasn’t launched the meeting, attendee is waiting.",
                    "All the Cloud Recordings have completed processing and is available.",
                    "Participant has joined the meeting.",
                    "Participant has leaved the meeting.",
                    "Attendee registered for a meeting or webinar.",
                    "Recording audio transcript files have processed and are available."
                ]
            }
        }
    },

repo: microsoft/PowerPlatformConnectors


text:
ReversingLabs A1000 - Correct dynamicHostUrl to dynamichosturl

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)
If this is your first time submitting to GitHub and you need some help, please sign up for this session.

[x] I attest that the connector doesn't exist on the Power Platform today. I've verified by checking the pull requests in GitHub and by searching for the connector on the platform or in the documentation.
[x] I attest that the connector works and I verified by deploying and testing all the operations.
[x] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[x] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[x] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[x] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[ ] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[ ] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[ ] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[ ] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

@Amjed-Ayoub I only changed the templateId from "dynamicHostUrl" to "dynamichosturl" since I can see that the vast majority of other connectors have it that way and our connection did not work.
https://github.com/microsoft/PowerPlatformConnectors/pull/2742/files#diff-ed82c2474ad561ceadd51d8fea1fd2ac5993120f85d45f3bf7d52d3fbde329bcR38

Hello @MislavReversingLabs,
can you please fix the conflict.

Hello @MislavReversingLabs, can you please fix the conflict.

Why are those conflicts? Those are precisely the lines I wanted to change. We want the new values that we commited in this PR.

@Amjed-Ayoub Done.

@Amjed-Ayoub @sriyen-msft Is this PR now merged or not? I received a message from Srikanth in ISV Studio that the A1000 connector is now published to the preview environment and I can find it there.
Also, I am getting this error when I try to create a connection now that I corrected the "dynamichosturl" key:
Failed to create connection for connection id '/providers/Microsoft.PowerApps/apis/shared_reversinglabsa1000/connections/shared-reversinglabs-273bec14-88d3-4fa8-a4f3-af6fe626afb8'. The request failed with client error: 'Input parameters are invalid. See details for more information. Details:errorCode: ParameterNotDefined. Message: Parameter 'apiKey' is not allowed on the connection since it was not defined as a connection parameter when the API was registered..'. The correlation Id is 'dc0bcb72-70fc-4e7d-84c1-739d6c6a71bd'.

authors: Amjed-Ayoub MislavReversingLabs


text:
Crash when changing color picker editor format order

Microsoft PowerToys version
v0.33.1
Running as admin
Yes
Area(s) with issue?
ColorPicker
Other Software
No response
Steps to reproduce

open PowerToys settings
go to Color Picker
under the section "editor" try to click one of the color formats

✔ Expected Behavior
you should be able to drag one of the color formats to a different position to reorder them.
the settings shouldn't crash and close itself automatically.
❌ Actual Behavior
as soon as you click anywhere on a color format the window immediately closes itself with no further message.
zip file created when i clicked report a bug:
PowerToysReport_2021-03-30-21-13-47.zip

@GlynLeine
thanks for reporting the issue.
The fix will be available in 0.35.
Closing as duplicate of https://github.com/microsoft/PowerToys/issues/8317
Thank you.

authors: GlynLeine enricogior

repo: microsoft/PowerToys


text:
Map a key to itself.

Function request: Map key to itself.  Neither PgDn key (including the key on the num pad when num lock is off) works on my keyboard. It's a software problem, I feel sure, since they started failing simultaneously.  I am hoping that it can be resolved by rebuilding the mapping.

@pgcullum
PgDn key doesn't work for you. Is it correct? I don't think remapping the key to itself will help. Actually, it doesn't make sense to do such remapping.

authors: mykhailopylyp pgcullum


text:
Commercial Use

Provide a description of requested docs changes
We would like to know if we can install and use PowerToy(s) on a commercially owned machine. We just want to use the utilities, not to try and develop anything that could be resold or anything like that. The TOU at https://docs.microsoft.com/en-s/windows/powertoys/ leads me to believe that you can't install and use the tools on/in a commercial environment so I wanted to double check before we decide if we are going to make these utilities available for employees.
Thanks!

Yup, just follow the license (https://github.com/microsoft/PowerToys/blob/master/LICENSE) and you're fine.

Thanks! I saw the reference to a 'person' however there is no reference to a business, so am I understanding correctly that it cannot be used by a business?

MIT license does allow commercial usage.

authors: crutkas gdrostghub


text:
Custom Fancy Zone layout not retained after reboot.

Microsoft PowerToys version
0.45.0
Running as admin

[X] Yes

Area(s) with issue?
FancyZones, FancyZones Editor
Steps to reproduce
Reboot computer.
✔ Expected Behavior
Retain custom Fancy Zone layout.
❌ Actual Behavior
Fancy Zone layout resets to default.
Other Software
No response

Duplicate of #13069

Thanks for reporting this. This issue is a duplicate. We'll track this in #13069 to centralize the thread.

Duplicate of #13069


text:
Open path in console opens should open in Windows Terminal

Description of the new feature / enhancement
Opening a path in console (through power run) opens in command prompt instead of the new Windows Terminal!
Scenario when this would be used?
open in windows terminal (default terminal ofc)
Supporting information
No response

Built into Win11:


text:
Currency converter in PowerToys Run

Description of the new feature / enhancement
It would be nice to have a currency converter built in in PT Run.
For example, to type   " >$10000JPY/USD"  and get back the USD value in the results with current conversion rates
Scenario when this would be used?
for finances purposes or for overseas workers
Supporting information
No response

/dup #3248


text:
Fancy zones no longer recognizing Discord using Shift drag.

Microsoft PowerToys version
0.59.0
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
Installed latest PT and latest Discord (131860 ). PT running as admin, but no longer recognizes Discord for fancy zones.
Attempted everything I can think of including a full uninstall/reinstall of both applications.
✔ Expected Behavior
Previous version of discord/power toys worked together correctly.
❌ Actual Behavior
Attempting to drag and assign Discord to a fancy zone will not work. The shift + drag does not cause the window to highlight or be acknowledged.
Other Software
No response

Woo hoo. This is fixed in 0.59.1!

Not working for me sadly.

authors: Shaolo mreierstrand


text:
Binary format color picker

Description of the new feature / enhancement
Add a binary format to the color picker feature.
Scenario when this would be used?
When you need or want to know the binary of a color. This could be handy when working with binary, steganography, etc.
Supporting information
No response

I would say the 24-bit because as far as I know, there's no support for alpha values in PowerToys. Plus, you're unable to retrieve the RGBA from a pixel.

Ah yes, the transparency is useless in Color Picker, sharp answer. Can you explain a bit more about the why or when?

Ah yes, the transparency is useless in Color Picker, sharp answer. Can you explain a bit more about the why or when?

The main reason for me to create an issue for this feature is that I want to create my own steganography program. After merging images I thought of comparing some pixels and seeing how they changed. Then I went to PowerToys and saw the color picker has no binary format. So that's a why and when. Another why and when is for example when you're learning about binary, and you want to see how it correlates to pixels.

can you provide more detail on what this output would be?  /needinfo.
if we had ef68ff, what would that be translated to?

can you provide more detail on what this output would be? /needinfo.
if we had ef68ff, what would that be translated to?

Of course! The hex color code #ef68ff would output: 11101111 1101000 11111111 in binary

Can you help me understand when you'd use this?  This feels like, very custom.

Can you help me understand when you'd use this? This feels like, very custom.

The only answer I can think of to say is that yes, it's very custom. There is one very specific scenario that this could be useful that I can think of right now (https://github.com/microsoft/PowerToys/issues/19018#issuecomment-1165869157)

I don't think we'd build this out.  I honestly think this would be out of scope for custom parser maybe even as i doubt for a v1 of that we'd have a binary formatter.
This isn't work core would do and we'd punt this to the user defined formatter no matter what.

authors: Jay-o-Way crutkas larsbeijaard


text:
Text Grab - some visual cue after captured

Description of the new feature / enhancement
Hi. Text Grab is wonderful.
But it does not give any visual cue, so I cannot assure it is captured good or not before pasting it to somewhere.
I think it would be good to show captured text result as a baloon for 1 sec underneath the cursor.
Scenario when this would be used?
After capturing the text, user cannot know until pasting it on to somewhere.
Supporting information
No response

True. /Duplicate of #20305

authors: Jay-o-Way YoungjaeKim


text:
Greater than symbol can not be remapped.

Microsoft PowerToys version
0.66
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
Keyboard Manager
Steps to reproduce
Trying to remap < and >. No problems with < as it is appear in the select combo box, but > is not there and can not be remapped.
✔ Expected Behavior
Type > when I press a certain combination of keys
❌ Actual Behavior
Cannot remap greater than symbol because it does not appear in the select combo box. It is not selectable.
Other Software
No response

How would you normally (need to) type this character?

Normally, I would press dedicated key with both symbols.

Keyboard manager can only remap keys that you have on your keyboard. So to remap to > you probably have to remap to shift+<

Weird, i have used this remap feature in the past without any issues.

authors: Aaron-Junker Jay-o-Way chenchix