text:
CreateRelease action tags wrong commit

CreateRelease will release the latest CICD artifact and also tag the latest git commit.
But not in all case this is correct.
It would be better to tag the commit that's actually used in the artifact.
If you want to look at the source code that was actually released you might be looking at the wrong code in the current configuration.
The release rest api allows you to specify a different commit.

@freddydk
I've looked at CreateRelease.yaml
The commit used for the artifcat can be gotten from $_.workflow_run.head_sha
The actions/create-release@v1 has an input commitish.
The problem is what commit should be used in multi-project repos?
The latest from all the artifacts? - and then add table to the release notes?

Project
commit

Project1
45feda12

Project2
47daea14

Looking at this.
I assume that the situation, where you would be in this situation is, if your last build failed (or is currently running)
If you checked in some code, which cannot build and then run Create Release.
Then it would grab the latest successful builds, but it would tag the faulty source code.
Is that the scenario you have in mind?
If this is not the case and the latest CI/CD was successful, then tagging the latest commit should give you the source which was used to provide the bits.
Even in multi-project repos
Yes, the actual bits might be produced by an earlier checkin, but the source code didn't change for these projects since then.
I don't think you can get the workflow_run.head_sha during the create release.
The workflow_run properties are only available in workflows, which got kicked off by a workflow_run event (and only while running) - as far as I know, but I could probably find the SHA elsewhere.
But... first let me understand the issue and whether this is how you see it - and whether this is an actual problem you ran into or a problem you can see will occur?
Thanks

I assume that the situation, where you would be in this situation is, if your last build failed (or is currently running)
If you checked in some code, which cannot build and then run Create Release.
Then it would grab the latest successful builds, but it would tag the faulty source code.
Is that the scenario you have in mind?

Yes this is exactly what happened.
In a multi-project repo this failure might not have even been the last run.
Imagine...

Project A: Success
Project A: Failure
Project B: Success
Project B: Success
Project B: Success

Depending how many project you have and how many build were since that failure It would be easy to overlook this and only realise there was an error after deployment.
I think its not correct to tag the latest since its just not true that the source code present in the latest commit was completely released. But maybe im wrong I havn't had this in a multi project repo.
And I think this should be caught in the Release because the failure might not even be caused by faulty code.

But... first let me understand the issue and whether this is how you see it - and whether this is an actual problem you ran into or a problem you can see will occur?

I actually had that error and when I deployed the code and didn't find the latest feature I tried to figure out why the new feature was not present and the first thing I did was to look at the taged commit which I then realised was wrong.
The reason the action failed was because of a 404 error when getting the artifact. - I know there were fixes made to better handle these - but a failure for some outside reason could always happen and would not have been caught in a PR.
But maybe the solution is to fail the release if not all code from the latest commit is released - but this might be difficult to figure out. You would need to iterate through the git history since last release and figure this out.

I don't think you can get the workflow_run.head_sha during the create release.
The workflow_run properties are only available in workflows, which got kicked off by a workflow_run event (and only while running) - as far as I know, but I could probably find the SHA elsewhere.

I havn't actually ran the code. But I would have done the change within this loop
https://github.com/microsoft/AL-Go/blob/1029f0a357efc4141ad3098658cda8ce3366612f/Templates/AppSource App/.github/workflows/CreateRelease.yaml#L117
You request the following endpoint which gives you accest to the workflow_run properties.
https://docs.github.com/en/rest/actions/artifacts

Git it,
Thanks

The tag will never be perfect.
We can create a list, but if we create a release branch - it will be wrong.
One thought...
For multi-project repos - we could require that you run (or even invoke if not the case) a CI/CD workflow, which builds all projects before creating the release - that would ensure that source and projects are up-to-date.

The tag will never be perfect. We can create a list, but if we create a release branch - it will be wrong.
Even if you create a release branch the commits will still have the same hash. The release branch would contain these commits right?

For multi-project repos - we could require that you run (or even invoke if not the case) a CI/CD workflow, which builds all projects before creating the release - that would ensure that source and projects are up-to-date.

I think this could be a good solution - even in single project repos. It would increase the release time, but you could make sure the build you invoked was actually successful, if not - don't release.
And you could tag the commit that was used for the build.

Even if you create a release branch the commits will still have the same hash. Or do I have something wrong here?
Correct - but the tag cannot tag one SHA for one project and another SHA for another project and if the idea is to be able to create a release branch based on this tag - then that will never work.

I will look into somehow "demanding" a complete build for a release.
Thanks for this.

I will look into somehow "demanding" a complete build for a release.
Thanks for this.

I'm sorry...

Working on this now.
The implementation is as follows:

When locating artifacts for the various projects, I locate the SHA used to build the artifact.
If all projects are not available with the same SHA, I give this error: The build selected for release doesn't contain all projects. Please rebuild all projects by manually running the CI/CD workflow and recreate the release.
I then use this SHA for creating the release.

I think this a a good compromise.
Thanks

authors: freddydk jonaswre

repo: microsoft/AL-Go


text:
When using appDependencyProbingPaths set to latestBuild, the API Returns 404

To me it looks like this endpoint is not pulbic anymore.

Sorry for the delay, do you still have this problem?
The endpoint is not public on private repositories.

That explains it, I was running this pipeline on a private repo.
I worked myself around this issue by placing all apps in the same project scope within the repo.
But this is still a bit unfortunate since most companies would want to have their repos private. If dependencies between them are not supported, it should at least be documented I would say.

Oh, Of course dependencies to private repositories are supported.
You just need to specify the name of the secret containing a token with access to that repo in the appDependencyProbingPath.
Explained here: https://github.com/microsoft/AL-Go/blob/main/Scenarios/AppDependencies.md

Aight, thanks! Should have found that myselft :man_facepalming:

source: gharchive/issue

authors: StefanMaron freddydk

license: MIT

license_type: permissive

license_source: github-api


text:
[Event Request] Table 81 "Gen. Journal Line" - procedure CreateDim()

procedure CreateDim(Type1: Integer; No1: Code[20]; Type2: Integer; No2: Code[20]; Type3: Integer; No3: Code[20]; Type4: Integer; No4: Code[20]; Type5: Integer; No5: 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;
        TableID[4] := Type4;
        No[4] := No4;
        TableID[5] := Type5;
        No[5] := No5;
        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);

        OnAfterCreateDim(Rec, CurrFieldNo);
    end;

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

authors: CyrilleJsmt JesperSchulz

repo: microsoft/ALAppExtensions


text:
[Event Request] table 9650 "Custom Report Layout" - OnImportReportLayoutBeforeCheckType

Hello, would it be possible to add OnImportReportLayoutBeforeCheckType event to table 9650 "Custom Report Layout", like this:
procedure ImportReportLayout(DefaultFileName: Text)
...
          if IsEmpty() then
             Error(NoRecordsErr);

         IsHandled := false;
>         OnImportReportLayoutBeforeCheckType(IsHandled); //New Event

         if not IsHandled then
             if not CanBeModified then
                 exit;

local procedure OnImportReportLayoutBeforeCheckType(var IsHandled: Boolean)

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: AlexanderYakunin gretanorv


text:
[Var Request] Codeunit 1232 "SEPA DD-Prepare Source" - Event "OnBeforeCreateTempCollectionEntries" on CreateTempCollectionEntries - Change parameter IsHandled as var

Hello, in the Event "OnBeforeCreateTempCollectionEntries" the parameter isHandled is not defined as "var"; in this way the event is useless, because the isHandled value if filled in the subscriber is not passed back and the "if IsHandled then exit" is never executed.
Could you please change the event:
    [IntegrationEvent(false, false)]
    local procedure OnBeforeCreateTempCollectionEntries(var FromDirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; var ToDirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; var IsHandled: Boolean)
    begin
    end;

Thank you
Fabio

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: 53049.


text:
[Event Request] table 295 "Reminder Header" - OnInsertLinesOnBeforeValidateAmount

Hello, can you please add a new Event OnInsertLinesOnBeforeValidateAmount in table 295 "Reminder Header" ?
    procedure InsertLines()
    var
        ReminderLine2: Record "Reminder Line";
        CurrencyForReminderLevel: Record "Currency for Reminder Level";
        TranslationHelper: Codeunit "Translation Helper";
        AdditionalFee: Decimal;
        IsHandled: Boolean;
    begin
        CurrencyForReminderLevel.Init();
        ReminderLevel.SetRange("Reminder Terms Code", "Reminder Terms Code");
        ReminderLevel.SetRange("No.", 1, "Reminder Level");
        OnInsertLinesOnAfterReminderLevelSetFilters(Rec, ReminderLevel);
        if ReminderLevel.FindLast() then begin
            CalcFields("Remaining Amount");
            AdditionalFee := ReminderLevel.GetAdditionalFee("Remaining Amount", "Currency Code", false, "Posting Date");
            OnInsertLinesOnAfterCalcAdditionalFee(Rec, ReminderLevel, AdditionalFee);

            if AdditionalFee > 0 then begin
                ReminderLine.Reset();
                ReminderLine.SetRange("Reminder No.", "No.");
                ReminderLine.SetRange("Line Type", ReminderLine."Line Type"::"Reminder Line");
                ReminderLine."Reminder No." := "No.";
                if ReminderLine.Find('+') then
                    NextLineNo := ReminderLine."Line No."
                else
                    NextLineNo := 0;
                ReminderLine.SetRange("Line Type");
                ReminderLine2 := ReminderLine;
                ReminderLine2.CopyFilters(ReminderLine);
                ReminderLine2.SetFilter("Line Type", '<>%1', ReminderLine2."Line Type"::"Line Fee");
                if ReminderLine2.Next() <> 0 then
                    LineSpacing := (ReminderLine2."Line No." - ReminderLine."Line No.") div 3
                else
                    LineSpacing := 10000;
                InsertBlankLine(ReminderLine."Line Type"::"Additional Fee");

                NextLineNo := NextLineNo + LineSpacing;
                ReminderLine.Init();
                ReminderLine."Line No." := NextLineNo;
                ReminderLine.Type := ReminderLine.Type::"G/L Account";
                TestField("Customer Posting Group");
                CustPostingGr.Get("Customer Posting Group");
                ReminderLine.Validate("No.", CustPostingGr.GetAdditionalFeeAccount());
                ReminderLine.Description :=
                  CopyStr(
                    TranslationHelper.GetTranslatedFieldCaption(
                      "Language Code", DATABASE::"Currency for Reminder Level",
                      CurrencyForReminderLevel.FieldNo("Additional Fee")), 1, 100);
                IsHandled := false;
                OnInsertLinesOnBeforeValidateAmount(Rec, ReminderLine, IsHandled);
                if not IsHandled then
                    ReminderLine.Validate(Amount, AdditionalFee);
                ReminderLine."Line Type" := ReminderLine."Line Type"::"Additional Fee";

    [IntegrationEvent(false, false)]
    local procedure OnInsertLinesOnBeforeValidateAmount(var ReminderHeader: Record "Reminder Header"; var ReminderLine: Record "Reminder Line"; var IsHandled: Boolean)
    begin
    end;

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

authors: JesperSchulz ReneZiel


text:
[Request for External] Report 12176 "Suggest Customer Bills" variable CustomerBillHeader

Internal work item: AB#492506

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: 15328.


text:
[Event Request] table 274 "Bank Acc. Reconciliation Line" - OnBeforeGetCustomerLedgerEntriesInAmountRange

Describe the request
Hello, can you please add a new Event OnBeforeGetCustomerLedgerEntriesInAmountRange in table 274 "Bank Acc. Reconciliation Line"?
    local procedure GetCustomerLedgerEntriesInAmountRange(var CustLedgerEntry: Record "Cust. Ledger Entry"; AccountNo: Code[20]; AmountFilter: Text; MinAmount: Decimal; MaxAmount: Decimal): Integer
    var
        BankAccount: Record "Bank Account";
        Result: Integer;
        IsHandled: Boolean;
    begin
        OnBeforeGetCustomerLedgerEntriesInAmountRange(Rec, CustLedgerEntry, AccountNo, AmountFilter, MinAmount, MaxAmount, Result, IsHandled);
        if IsHandled then
            exit(Result);
        CustLedgerEntry.SetAutoCalcFields("Remaining Amount", "Remaining Amt. (LCY)");
        BankAccount.Get("Bank Account No.");
        GetApplicableCustomerLedgerEntries(CustLedgerEntry, BankAccount."Currency Code", AccountNo);

        if BankAccount.IsInLocalCurrency() then
            CustLedgerEntry.SetFilter("Remaining Amt. (LCY)", AmountFilter, MinAmount, MaxAmount)
        else
            CustLedgerEntry.SetFilter("Remaining Amount", AmountFilter, MinAmount, MaxAmount);

        exit(CustLedgerEntry.Count);
    end;

    [IntegrationEvent(false, false)]
    local procedure OnBeforeGetCustomerLedgerEntriesInAmountRange(BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var CustLedgerEntry: Record "Cust. Ledger Entry"; AccountNo: Code[20]; AmountFilter: Text; MinAmount: Decimal; MaxAmount: Decimal; var Result: Integer; var IsHandled: Boolean)
    begin
    end;

Additional context
We have additional values to calculate the Remaining Amount and need to recalculate it to get the correct amount of Customer Ledger Entries.
Internal work item: AB#547381

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


text:
Table 232 Gen. Journal Batch - Integration events not working in AL anymore

Integration events OnCheckGenJournalLineExportRestrictions and OnMoveGenJournalBatch from Table 232 Gen. Journal Batch cannot be used for extension development anymore.
Calls like GenJnlBatch.OnMoveGenJournalBatch and GenJournalBatch.OnCheckGenJournalLineExportRestrictions are not working anymore.
Can you make them available externally again?
New version:

AL version: 3.0.124247
Image: mcr.microsoft.com/businesscentral/sandbox:14.1.32615.0-ca-ltsc2019

Previous version:

AL Version: 2.1.106653
Image: microsoft/bcsandbox:13.5.29614.0-ca-ltsc2019

Also, in both versions properties window in C-Side for functions is not showing properties correctly. As you can see even though property Local is set to No, I cannot see FunctionVisibility property:

I can see it once I switch Local property to Yes which is absurd, since this property should be visible when Local is set to No:

Hi zulezmaj. No, these events will not be public because this wrong. This is also wrong design usage of them. It can be reworked in upcoming release.

I'll close issue for now. Feel free to reopen it if any questions.

Hi @RomanZanizdra, but why would there be publishers in table which you cannot access from AL?

authors: RomanZanizdra zulezmaj


text:
RecreateSalesLines and RecreatePurchLines in T36 and T38

A request for external was issued in issue #1280 and marked as 'Shipped in Future update'. However this change has not been performed in the spring release so I think something went wrong.
Could you add global and external property on:
T36 Sales Header - RecreateSalesLines
T38 Purchase Header - RecreatePurchLines
Many thanks.

Looks like the spring update was already frozen for changes when mentioned issue was processed. These procedures are external now and will be available for AL development in the next update.

authors: RomanZanizdra lv-janpieter


text:
[Event Request] COD951 Time Sheet Approval Management, OnBeforeSubmit

Can the procedure Submit be updated for an event in the following way please.
Suggestion:
[External]
PROCEDURE Submit@1(VAR TimeSheetLine@1000 : Record 951);
VAR
  isHandled@1100366000 : Boolean;
BEGIN
  //<< DC
  OnBeforeSubmit(TimeSheetLine, isHandled);
  IF isHandled THEN
	EXIT;
  //>> DC

Publisher:
[Integration(DEFAULT,TRUE)]
PROCEDURE OnBeforeSubmit@1100366000(VAR TimeSheetLine@1100366000 : Record 951;VAR isHandled@1100366001 : Boolean);
BEGIN
END;

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

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: Nameyka-DC bc-ghost


text:
[Event Request] codeunit  5651 "Insurance Jnl.-Check Line" - OnBeforeCheckDimIDCombOnRunCheck

Could we please have an event OnBeforeCheckDimIDCombOnRunCheck in Codeunit 5651 "Insurance Jnl.-Check Line" in function RunCheck?
Code Example:
with InsuranceJnlLine do begin
if "Insurance No." = '' then
exit;
TestField("Insurance No.");
TestField("Document No.");
TestField("Posting Date");
TestField("FA No.");
if CallNo = 0 then begin
FASetup.Get;
FASetup.TestField("Insurance Depr. Book");
end;
CallNo := 1;
        // start kvspsa - Event Raiser
        OnBeforeCheckDimIDCombOnRunCheck(InsuranceJnlLine);
        // stop kvspsa

Event:
[IntegrationEvent(false, false)]
local procedure OnBeforeCheckDimIDCombOnRunCheck(var InsuranceJnlLine: Record "Insurance Journal Line")
begin
end;
Thank you and kind regards

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.

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 6620 "Copy Document Mgt." - Procedure "CopyPurchCrMemoLinesToDoc" - new event "OnAfterItemLedgEntryBufSetFilterEntryTypeOnCopyPurchCrMemoLinesToDoc"

We need to set filter to the variable "ItemLedgEntryBuf" in Procedure "CopyPurchCrMemoLinesToDoc" of Codeunit 6620 "Copy Document Mgt." after your standard filter for lines with "Job No." and before calling the "ItemTrackingDocMgt".
Please add a new event raiser and publisher for doing this.
OLD CODE:
if (Type = Type::Item) and (Quantity <> 0) and ("Prod. Order No." = '') and
   PurchaseDocCanReceiveTracking(ToPurchHeader)
then begin
	FromPurchInvLine."Document No." := OldInvDocNo;
	FromPurchInvLine."Line No." := "Return Shipment Line No.";
	FromPurchInvLine.GetItemLedgEntries(ItemLedgEntryBuf, true);
	if IsCopyItemTrkg(ItemLedgEntryBuf, CopyItemTrkg, FillExactCostRevLink) then begin
		if "Job No." <> '' then
			ItemLedgEntryBuf.SetFilter("Entry Type", '<> %1', ItemLedgEntryBuf."Entry Type"::"Negative Adjmt.");
		if MoveNegLines or not ExactCostRevMandatory then
			ItemTrackingDocMgt.CopyItemLedgerEntriesToTemp(TempTrkgItemLedgEntry, ItemLedgEntryBuf)
		else
			ItemTrackingDocMgt.CollectItemTrkgPerPostedDocLine(
			  TempItemTrkgEntry, TempTrkgItemLedgEntry, true, "Document No.", "Line No.");

NEW CODE:
if (Type = Type::Item) and (Quantity <> 0) and ("Prod. Order No." = '') and
   PurchaseDocCanReceiveTracking(ToPurchHeader)
then begin
	FromPurchInvLine."Document No." := OldInvDocNo;
	FromPurchInvLine."Line No." := "Return Shipment Line No.";
	FromPurchInvLine.GetItemLedgEntries(ItemLedgEntryBuf, true);
	if IsCopyItemTrkg(ItemLedgEntryBuf, CopyItemTrkg, FillExactCostRevLink) then begin
		if "Job No." <> '' then
			ItemLedgEntryBuf.SetFilter("Entry Type", '<> %1', ItemLedgEntryBuf."Entry Type"::"Negative Adjmt.");
                // start kvspsa - Event Raiser
                OnAfterItemLedgEntryBufSetFilterEntryTypeOnCopyPurchCrMemoLinesToDoc(FromPurchLineBuf, ItemLedgEntryBuf);
                // stop kvspsa
		if MoveNegLines or not ExactCostRevMandatory then
			ItemTrackingDocMgt.CopyItemLedgerEntriesToTemp(TempTrkgItemLedgEntry, ItemLedgEntryBuf)
		else
			ItemTrackingDocMgt.CollectItemTrkgPerPostedDocLine(
			  TempItemTrkgEntry, TempTrkgItemLedgEntry, true, "Document No.", "Line No.");

NEW PUBLISHER:
// start kvspsa - Event Publisher
[IntegrationEvent(false, false)]
local procedure OnBeforeItemLedgEntryFindOnSplitPstdPurchLinesPerILE(FromPurchLine: Record "Purchase Line"; var ReturnValue: Boolean; var IsHandled: Boolean)
begin
end;
// stop kvspsa

sorry. Wrong Publisher!
Correct Publisher Code:
// start kvspsa - Event Publisher
[IntegrationEvent(false, false)]
local procedure OnAfterItemLedgEntryBufSetFilterEntryTypeOnCopyPurchCrMemoLinesToDoc(var FromPurchLineBuf: Record "Purchase Line"; var ItemLedgEntryBuf: Record "Item Ledger Entry")
begin
end;
// stop kvspsa

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


text:
[Event Request] table 5900 "Service Header" - Event for trigger OnValidate() Field "Service Order Type"

Can we get the following event for the "Service Header" table: OnServiceOrderTypeOnValidate
trigger OnValidate()
            var
                ///
                IsHandled: Boolean; ///NEW
            ///-
            begin
                ///
                IsHandled := false; ///NEW
                OnServiceOrderTypeOnValidate(Rec, IsHandled); ///NEW
                if not IsHandled then ///NEW
                    ///-
                CreateDim(
                  DATABASE::"Service Order Type", "Service Order Type",
                  DATABASE::Customer, "Bill-to Customer No.",
                  DATABASE::"Salesperson/Purchaser", "Salesperson Code",
                  DATABASE::"Responsibility Center", "Responsibility Center",
                  DATABASE::"Service Contract Header", "Contract No.");
            end;

    [IntegrationEvent(false, false)]
    local procedure OnServiceOrderTypeOnValidate(var Rec: Record "Service Header"; var IsHandled: Boolean)
    begin
    end;

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

authors: bc-ghost osteeger


text:
[UWP] [Visualizer] Schema validation errors reported out of column sets with select actions

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

UWP

Issue
The following card shows an error in the UWP visualizer. Removing the selectAction causes the error to go away.
{
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "ColumnSet",
            "selectAction": {
                "type": "Action.OpenUrl",
                "url": "https://adaptivecards.io/schemas/adaptive-card.json"
            }
        }
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.0"
}

This no longer repros. I'd guess it was fixed by #3044.

repo: microsoft/AdaptiveCards


text:
ActionSet horizontalAlignment support

JS supports horizontalAlignment on ActionSet, but Shared Model platforms do not. We should implement that support.

closing as copy of #4786


text:
Actionable messages does not show in Outlook Desktop app but does show on Outlook web

Hi
My Actionable Messages shows in Outlook Web but does not show for some users on the Desktop Outlook version. Its works for some but not all users. Then for some users on the Desktop Outlook version you can view the actionable message in the view pane of an email but when you open the email the actionable message disappears and shows a blank screen.

I have downloaded the actionable message debugger and found no errors on either users where it is not working
I have received approval from my Exchange admin and have added the originator text to my payload.

{
  "type": "AdaptiveCard",
  "originator": "xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxx",
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "version": "1.0",
  "body": [
    {
      "type": "Container",
      "items": [
        {
          "type": "Image",
          "url": "data:image/jpg;base64,[encoded data, 4516 characters]"
        },
        {
          "type": "TextBlock",
          "wrap": true,
          "horizontalAlignment": "Center",
          "text": "**Customer Satisfaction Survey**",
          "spacing": "Small",
          "size": "ExtraLarge",
          "weight": "Bolder",
          "color": "Dark"
        },
        {
          "type": "TextBlock",
          "wrap": true,
          "text": "Y’ello, thank you for taking the IAFS customer satisfaction survey. The survey should take less than five minutes to complete. We will use your response for ongoing evaluation of our engagements/Investigations. Your feedback will be treated confidentially. \n\nPlease press the **Submit Button** below once completed.",
          "size": "Medium",
          "color": "Dark",
          "weight": "Bolder"
        },
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "**Engagement/ Investigation Name:**",
                  "wrap": true
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "wrap": true,
                  "size": "Large",
                  "value": "@{triggerOutputs()?['body/Title']}",
                  "color": "Dark",
                  "weight": "Bolder"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "Container",
      "items": [
        {
          "type": "Input.Text",
          "placeholder": "Placeholder text",
          "id": "19",
          "value": "@{triggerOutputs()?['body/ID']}",
          "isVisible": false
        },
        {
          "type": "Input.Text",
          "placeholder": "Engagement",
          "id": "1",
          "value": "@{triggerOutputs()?['body/Title']}",
          "errorMessage": "Please enter Investigation Name",
          "isVisible": false
        },
        {
          "type": "TextBlock",
          "wrap": true,
          "text": "**Respondent Email**",
          "isVisible": false
        },
        {
          "type": "Input.Text",
          "placeholder": "Email",
          "style": "Email",
          "id": "2",
          "value": "@{triggerOutputs()?['body/RespondentEmail']}",
          "errorMessage": "Please enter Respondent Email",
          "isVisible": false
        },
        {
          "type": "TextBlock",
          "text": "**Auditor/Investigator Email**",
          "wrap": true,
          "isVisible": false
        },
        {
          "type": "Input.Text",
          "placeholder": "Email",
          "style": "Email",
          "id": "3",
          "value": "xxxxxxxxx",
          "errorMessage": "Please enter Auditor/Investigator Email",
          "isVisible": false
        },
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "**Conduct of Audit/Investigator Staff**",
                  "wrap": true
                },
                {
                  "type": "TextBlock",
                  "text": "The audit/investigation planning documentation was clear and concise in relation to the audit background, scoping and objective as well as the timing of the review. ",
                  "wrap": true,
                  "size": "Default",
                  "weight": "Bolder",
                  "separator": true
                }
              ],
              "separator": true
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "**Rating**",
                  "wrap": true
                },
                {
                  "type": "Input.ChoiceSet",
                  "choices": [
                    {
                      "title": "Excellent work",
                      "value": "10"
                    },
                    {
                      "title": "Good",
                      "value": "8"
                    },
                    {
                      "title": "Need improvement",
                      "value": "6"
                    },
                    {
                      "title": "Unsatisfactory",
                      "value": "4"
                    },
                    {
                      "title": "Poor",
                      "value": "2"
                    }
                  ],
                  "placeholder": "Placeholder text",
                  "separator": true,
                  "wrap": true,
                  "id": "4",
                  "isRequired": true,
                  "label": "Required",
                  "errorMessage": "required"
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "**Comments**",
                  "wrap": true
                },
                {
                  "type": "Input.Text",
                  "placeholder": "Placeholder text",
                  "spacing": "Padding",
                  "separator": true,
                  "id": "6",
                  "isMultiline": true,
                  "maxLength": 250
                }
              ],
              "id": "5"
            }
          ],
          "separator": true
        },
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "Communication received from the auditor/ investigator is easily understood, organized and well written and occurred throughout the audit engagement.",
                  "wrap": true,
                  "size": "Default",
                  "weight": "Bolder"
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "Input.ChoiceSet",
                  "choices": [
                    {
                      "title": "Excellent work",
                      "value": "10"
                    },
                    {
                      "title": "Good",
                      "value": "8"
                    },
                    {
                      "title": "Need improvement",
                      "value": "6"
                    },
                    {
                      "title": "Unsatisfactory",
                      "value": "4"
                    },
                    {
                      "title": "Poor",
                      "value": "2"
                    }
                  ],
                  "placeholder": "Placeholder text",
                  "id": "7",
                  "isRequired": true,
                  "label": "Required",
                  "errorMessage": "required"
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "Input.Text",
                  "placeholder": "Placeholder text",
                  "id": "8",
                  "isMultiline": true,
                  "maxLength": 250
                }
              ]
            }
          ],
          "separator": true
        },
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "The auditor's/ investigators displayed a thorough understanding of your businesss, process and systems.",
                  "wrap": true,
                  "size": "Default",
                  "weight": "Bolder",
                  "color": "Default"
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "Input.ChoiceSet",
                  "choices": [
                    {
                      "title": "Excellent work",
                      "value": "10"
                    },
                    {
                      "title": "Good",
                      "value": "8"
                    },
                    {
                      "title": "Need improvement",
                      "value": "6"
                    },
                    {
                      "title": "Unsatisfactory",
                      "value": "4"
                    },
                    {
                      "title": "Poor",
                      "value": "2"
                    }
                  ],
                  "placeholder": "Placeholder text",
                  "id": "9",
                  "isRequired": true,
                  "label": "Required",
                  "errorMessage": "required"
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "Input.Text",
                  "placeholder": "Placeholder text",
                  "id": "10",
                  "isMultiline": true,
                  "maxLength": 250
                }
              ]
            }
          ],
          "separator": true,
          "spacing": "Medium"
        },
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "The auditor's/ investigators displayed professionalism in their meetings and discussions and followed a collaborative approach.",
                  "wrap": true,
                  "size": "Default",
                  "weight": "Bolder"
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "Input.ChoiceSet",
                  "choices": [
                    {
                      "title": "Excellent work",
                      "value": "10"
                    },
                    {
                      "title": "Good",
                      "value": "8"
                    },
                    {
                      "title": "Need improvement",
                      "value": "6"
                    },
                    {
                      "title": "Unsatisfactory",
                      "value": "4"
                    },
                    {
                      "title": "Poor",
                      "value": "2"
                    }
                  ],
                  "placeholder": "Placeholder text",
                  "id": "11",
                  "isRequired": true,
                  "label": "Required",
                  "errorMessage": "required"
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "Input.Text",
                  "placeholder": "Placeholder text",
                  "id": "12",
                  "isMultiline": true,
                  "maxLength": 250
                }
              ]
            }
          ],
          "spacing": "Medium",
          "separator": true
        },
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "Overall the engagement/ investigation focused on high risk/impact areas and or those areas which are concerning or flagged within an incident.",
                  "wrap": true,
                  "size": "Default",
                  "weight": "Bolder"
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "Input.ChoiceSet",
                  "choices": [
                    {
                      "title": "Excellent work",
                      "value": "10"
                    },
                    {
                      "title": "Good",
                      "value": "8"
                    },
                    {
                      "title": "Need improvement",
                      "value": "6"
                    },
                    {
                      "title": "Unsatisfactory",
                      "value": "4"
                    },
                    {
                      "title": "Poor",
                      "value": "2"
                    }
                  ],
                  "placeholder": "Placeholder text",
                  "id": "13",
                  "isRequired": true,
                  "label": "Required",
                  "errorMessage": "required"
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "Input.Text",
                  "placeholder": "Placeholder text",
                  "id": "14",
                  "isMultiline": true,
                  "maxLength": 250
                }
              ]
            }
          ],
          "separator": true,
          "spacing": "Medium"
        },
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "The Engagement/ Investigation recommendations in the final report were clear, practical and valuable.",
                  "wrap": true,
                  "size": "Default",
                  "weight": "Bolder"
                },
                {
                  "type": "TextBlock",
                  "text": "**Overall Comments:**",
                  "wrap": true
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "Input.ChoiceSet",
                  "choices": [
                    {
                      "title": "Excellent work",
                      "value": "10"
                    },
                    {
                      "title": "Good",
                      "value": "8"
                    },
                    {
                      "title": "Need improvement",
                      "value": "6"
                    },
                    {
                      "title": "Unsatisfactory",
                      "value": "4"
                    },
                    {
                      "title": "Poor",
                      "value": "2"
                    }
                  ],
                  "placeholder": "Placeholder text",
                  "id": "15",
                  "isRequired": true,
                  "label": "Required",
                  "errorMessage": "required"
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "Input.Text",
                  "placeholder": "Placeholder text",
                  "id": "16",
                  "isMultiline": true,
                  "maxLength": 250
                }
              ]
            }
          ],
          "separator": true,
          "spacing": "Medium"
        },
        {
          "type": "Input.Text",
          "placeholder": "Placeholder text",
          "isMultiline": true,
          "id": "17",
          "maxLength": 250
        },
        {
          "type": "ActionSet",
          "actions": [
            {
              "type": "Action.Http",
              "title": "Submit",
              "method": "POST",
              "url": "https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
              "body": "{\n\"Engagement Name\" :\"{{1.value}}\",\n\"Respondent Email\" :\"{{2.value}}\",\n\"Auditor/Investigator Email\" :\"{{3.value}}\",\n\"Planning Documents\" :\"{{4.value}}\",\n\"Comments - Planning Documents\" :\"{{6.value}}\",\n\"Communication Received\" :\"{{7.value}}\",\n\"Comments - Communication Received\" :\"{{8.value}}\",\n\"Resource Knowledge\" :\"{{9.value}}\",\n\"Comments - Resource Knowledge\" :\"{{10.value}}\",\n\"Professionalism\" :\"{{11.value}}\",\n\"Comments - Professionalism\" :\"{{12.value}}\",\n\"Focused on high risks/impact\" :\"{{13.value}}\",\n\"Comments - Focused on high risks/impact\" :\"{{14.value}}\",\n\"Value of Engagement\" :\"{{15.value}}\",\n\"Comments - Value of Engagement\" :\"{{16.value}}\",\n\"Overall Comments\" :\"{{17.value}}\",\n\"ID\":\"{{19.value}}\"\n}",
              "headers": [
                {
                  "name": "Authorization",
                  "value": ""
                },
                {
                  "name": "Content-Type",
                  "value": "application/json"
                }
              ],
              "id": "18"
            }
          ]
        }
      ],
      "backgroundImage": {
        "url": "data:image/jpg;base64,[encoded data, 36320 characters]"
      }
    }
  ]
}

For support on Outlook Actionable Messages, please post a question on the Office Addins Dev site. If you need further help more specifically about Adaptive Cards, please let us know.
Thanks!

@Paul
Can you not support me a bit more, just closing it doesn't help me.
I am using adaptive cards within Outlook to capture a user's response.
@.https://www.mtn.co.za/
Warm regards,
Gert Van der Merwe
Manager: Data Analytics and Continuous Control Monitoring
C: +27 83 212 9052
@. | www.mtn.co.zahttps://www.mtn.co.za/
This email is confidential. If you have received it in error, you are on notice of its status. Please notify us immediately by reply email and then delete this message from your system. Please do not copy it or use it for any purpose, or disclose its contents to any other person as to do so could be a breach of confidentiality. Thank you for your cooperation
From: Paul Campbell @.>
Sent: Monday, 26 September 2022 22:35
To: microsoft/AdaptiveCards @.>
Cc: Gert Van der Merwe [ MTN South Africa ] @.>; Author @.>
Subject: Re: [microsoft/AdaptiveCards] Actionable messages does not show in Outlook Desktop app but does show on Outlook web (Issue #7872)
You don't often get email from @.@.>. Learn why this is importanthttps://aka.ms/LearnAboutSenderIdentification
CAUTION: This email originated from outside of the MTN organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
For support on Outlook Actionable Messages, please post a question on the Office Addins Devhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fanswers%2Ftopics%2Foffice-addins-dev.html&data=05|01|Gert.vandermerwe%40mtn.com|f8acc7e1ad4048bf833c08da9ffe85f1|c9b9cb5036444db4a267fa84df2f4ceb|0|0|637998212770783783|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=2JXKjQHU9456k4BwP4PmZFutQLiDCTi0EW%2FlgIrv65w%3D&reserved=0 site. If you need further help more specifically about Adaptive Cards, please let us know.
Thanks!

Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAdaptiveCards%2Fissues%2F7872%23issuecomment-1258602646&data=05|01|Gert.vandermerwe%40mtn.com|f8acc7e1ad4048bf833c08da9ffe85f1|c9b9cb5036444db4a267fa84df2f4ceb|0|0|637998212770783783|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=5%2FUY7wU8kCRI%2BFn9%2BievrKwE%2FzHXCrUck4c4w0Kg3Sw%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAWHAE5YXGKBXR5J5SAAYOP3WAICFTANCNFSM6AAAAAAQNRAVPA&data=05|01|Gert.vandermerwe%40mtn.com|f8acc7e1ad4048bf833c08da9ffe85f1|c9b9cb5036444db4a267fa84df2f4ceb|0|0|637998212770783783|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=iXoxCusMVqKfz92Wjdu37mw4YsmP4DCFO21erxupg4A%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.@.>>
Sensitivity: MTN South Africa - Internal


text:
Add support for custom typefaces in the Android renderer

This is a possible implementation for adding custom Typeface support to the Android renderer. See issue #271. I've not yet updated the test suite to cover this feature, but if you're open to the idea I certainly can. Thanks!
Microsoft Reviewers: Open in CodeFlow

@almedina-ms can you help with the review here ? tx

@patgoley  , Could you add sample code for registering the custom typeface in the mobile app? We usually ask this to have an easier time testing that we have no regressions in the future
Similar to have we did in lines 585 to 604 for registering new elements or OnlineMediaLoaders as in this file
https://github.com/microsoft/AdaptiveCards/blob/master/source/android/mobile/src/main/java/io/adaptivecards/adaptivecardssample/MainActivityAdaptiveCardsSample.java

source: gharchive/pull-request

authors: almedina-ms patgoley shalinijoshi19


text:
Dependency conflict with Eventhubs and DiagnosticSource on Cloud Service

This week I deployed a new Azure Cloud Service using the azure eventhubs package. That package has a dependency on System.Diagnostics.DiagnosticSource >= 4.5.0. After deploying I get the following error:
Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.3.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.
The fusion log doesn't show anything useful, other than that it find 2 different versions of the dll (hence the error). I remoted into the VM and found that a bunch of Application Insights packages are deployed next to my application (which does NOT include Application Insights), and also System.Diagnostics.DiagnosticSource version 4.4.0.
My assumption so far is that Insights is being automatically deployed by azure to wrap my application and provide telemetry (even though I have turned that off) and is therefor messing with my application. The error is not fixable with assembly redirects (it either cant find the dll, or you get the manifest error), is there any else I could try or might this be caused by an issue with the dependency guidance of the Application Insights packages?
I also posted this issue on the eventhubs page.

Facing the same issue, need appinsights on an application that is using Microsoft.Azure.EventHubs, which in turn depends on System.Diagnostics.DiagnosticSource. Assembly binding does not help. Is there a fix available?

@Dmitry-Matveev please review

@Mikhail-msft , I thought we have shipped the version that automatically backs-off in case of conflicting assemblies, have we had some regression or the issue @togglebrain experiences is something new?

@togglebrain could you confirm what is the exact issue you see (is it "no data" or the app is crashing?) and in what environment (App Service/Azure VM/Cloud Service/status monitor v2?) it happens?
@heyams FYI for issue reported by @DaleyKD .

@togglebrain could you confirm what is the exact issue you see (is it "no data" or the app is crashing?) and in what environment (App Service/Azure VM/Cloud Service/status monitor v2?) it happens?
@heyams FYI for issue reported by @DaleyKD .

We are observing "no data" issue with multiple app services. Checked with azure support team also and they suggested removing the System.Diagnostics.DiagnosticSource dll but that crashes the app since its a dependency for the event hubs library in use in our APIs.

Im having the issue because I am using Azure.Storage which depends on Azure.core which depends on System.Diagnostics.DiagnosticSource which seems to break App Insights (no data being collected)

Is this issue still exist with runtime version of application insight we can't use package which got dependency with System.Diagnostics.DiagnosticSource.dll along with application insight configured run time.
We are currently facing this issue and we can't delete System.Diagnostics.DiagnosticSource.dll from our code application folder.
Any help related to this?

For anyone else running into this issue, the workaround that resolved it in our case was to add App Insights to the application manually following the instructions here: https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net#add-application-insights-manually.

authors: DaleCam Deepa-Puranik Dmitry-Matveev Mikhail-msft TimothyMothra adekle binkiesjoris togglebrain

repo: microsoft/ApplicationInsights-dotnet


text:
GPU Error when starting

Storage Explorer Version: 1.1.0
Platform: Windows
Architecture: ia32
Regression From: <0.7
Steps to Reproduce:

Just starting the application

Expected Experience:
Start fine
Actual Experience:
Receive an error saying "A problem caused Storage Explorer to restart with GPU acceleration disabled"

What version is your OS? Does the error go away if you start Storage Explorer with the indicated flag?

Windows 10 Pro v1803 Build 17134.81,
Yes it does go away if I use that flag.
Thanks,
Jason Martin
Digital Pioneers
m: (678) 800-4253
From: Craig notifications@github.com
Sent: Monday, June 4, 2018 12:21 PM
To: Microsoft/AzureStorageExplorer AzureStorageExplorer@noreply.github.com
Cc: Jason Martin jason@digital-pioneers.com; Author author@noreply.github.com
Subject: Re: [Microsoft/AzureStorageExplorer] GPU Error when starting (#248)
What version is your OS? Does the error go away if you start Storage Explorer with the indicated flag?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/AzureStorageExplorer/issues/248#issuecomment-394414419, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AF-5mNF8SLrR7VEYxqa8wdg8gFxXWESRks5t5V5bgaJpZM4UXr9W.

We have done some work to allow you to disable GPU acceleration if you have GPU issues. Please try our latest 1.12.0 and open a new issue if you still have any problems. Thanks.

authors: JasonYeMSFT craxal jasonrmartin

repo: microsoft/AzureStorageExplorer


text:
Allow toggle between directory structure view and "flat" view

Is your feature request related to a problem? Please describe.
Sometimes, I'd like to look recursively at a directory to see if any of the files at any level below are at a certain access tier. It's difficult to navigate through every directory to see every file.
Describe the solution you'd like
I'd like to be able to temporarily turn off the directory structure view and see all files by fully-qualified name (full path) on a single level so I can sort by Access Tier (or other column) and see all files that I need to modify.
Describe alternatives you've considered
Additional context

Duplicate of #19

@codefoster I'm going to ask you a question on the linked issue. Please try to answer there!

authors: MRayermannMSFT codefoster


text:
The local folder whose name is '%2A%3F' displays as '*?' when uploading it to the blob container

Storage Explorer Version: 1.23.0
Build Number: 20220223.14
Branch: rel/1.23.0
Platform/OS: Windows 10/Linux Ubuntu 20.04/MacOS Monterey 12.2(MacBook Air M1)
How Found: Ad-hoc testing
Regression From: Not a regression
Steps to Reproduce

Expand one storage account -> Blob Containers.
Create a blob container -> Upload a non-empty folder with the name '%2A%3F'.
Check whether the folder '%2A%3F' displays in the blob editor.

Expected Experience
The folder '%2A%3F' displays in the blob editor.
Actual Experience
The folder '*?' displays in the blob editor.

Additional Context

This issue doesn't reproduce when copying & pasting one folder named '%2A%3F'.
This issue doesn't reproduce for file shares.

@v-xianya sorry for not paying closer attention earlier. I actually think this is expected. For any characters not allowed as file names on any of the supported OSs, AzCopy will encode those characters if they are in the names of blobs/folders being downloaded. And then when uploading files/folders with such encoded characters, they will be decoded. That is the behavior you are seeing.
If you go into the AzCopy settings and disable auto decoding:

Then you should see the folder name be preserved as %2A%3F.

@MRayermannMSFT Thank you for the update!
For blob container, The folder name be preserved as %2A%3F if disabling the auto decode.
For file share, The folder name be preserved as %2A%3F regardless of disabling/enabling auto decoding.
Could you help to elaborate? thanks😊

The folder name be preserved as %2A%3F regardless of disabling/enabling auto decoding.
Could you help to elaborate? thanks😊

That is by design. On the server side, file shares have the same restrictions as windows. We should update our setting description.

@MRayermannMSFT Thank you for the response!

Description was updated:

authors: MRayermannMSFT v-xianya


text:
The first column is always selected if click 'Move to Bottom' action to change the order in the 'Column Options' dialog

Storage Explorer Version: 1.35.0-dev (98)
Build Number: 20240531.1
Branch: main
Platform/OS: Windows 11/Windows 10/Linux Ubuntu 22.04/MacOS Sonoma 14.5(Apple M1 Pro)
Architecture: arm64/x64/x64/arm64
How Found: From running test cases
Regression From: Previous release (1.32.1)
Steps to Reproduce

Expand one storage account -> Tables.
Create a table -> Add an entity -> Click 'Customize Columns'.
Select 'PartitionKey' column -> Click 'Move to Bottom'.
Check whether the 'PartitionKey' column is selected.

Expected Experience
The 'PartitionKey' column is selected.
Actual Experience
The 'RowKey' column is selected.
Additional Context

This issue doesn't reproduce for 'Move Up/Down' action.
Here is the record:

Verified this issue on the build 20240612.1. Fixed.


text:
Fix resource processor porter install logs truncation

Related to #3992
Modify the shell_output_logger function in resource_processor/shared/logging.py to split lengthy log outputs into smaller chunks before logging.

Chunk Log Output:

Add chunk_log_output helper function to split the log output into smaller chunks.
Update shell_output_logger to use chunk_log_output for logging lengthy outputs in chunks.

Tests:

Add test_shell_output_logger_chunked_logging to verify chunked logging functionality.
Add test_chunk_log_output to test the chunk_log_output helper function.

For more details, open the Copilot Workspace session.

@jonnyry  another AI assisted fix, fancy testing?

Update version number in resource_processor/_version.py

Change version from "0.9.0" to "0.9.1"

For more details, open the Copilot Workspace session.

@jonnyry another AI assisted fix, fancy testing?

Sure will do thanks.

@marrobi Looking good... :-)
Can I suggest prefixing chunked log entries with [Log chunk X of Y] or similar for readability?

/test

@jonnyry this better?

@jonnyry this better?

Yes great thanks :-)

/test-force-approve
Passed here - https://github.com/microsoft/AzureTRE/actions/runs/11278144139

authors: jonnyry marrobi

repo: microsoft/AzureTRE


text:
Add automatic generation of mocks.

-Add automatic generation of mocks.
-Add batch files for running and testing.

Mock files are kept in kubernetes. In this repo I have chosen to not gitignore mock files.
https://github.com/kubernetes/kubernetes/blob/v0.18.0/pkg/kubelet/cadvisor/cadvisor_mock.go

repo: microsoft/BladeMonRT


text:
fix: Handle expiration on token used for tenants

Description
The token used to getTenants() and the getARMTokenForTenant() functions don't inspect the token retrieved silently for expiration.  This updates to fallback to getting the token via interactive when the token is expired.
Task Item
fixes #7343
Screenshots
N/A

Verified that when token expires that I get the sign-in prompt again and can sign-in and get the new token.

Coverage increased (+0.01%) to 50.899% when pulling 09f4dbbd3cdfb06feb89587b2ad5a565174b13b5 on gcox/mainwork5 into d9d824752ef912ca70df3ae53c158b88e058b585 on main.

authors: GeoffCoxMSFT coveralls

repo: microsoft/BotFramework-Composer


text:
Do not merge: update strings for Composer 2.0 update

Description
These are more string updates for the Electron auto-updater, plus a few "Learn more" links that were left behind from a previous update. One string (In triggers[1].action[1] MultiplyDialog: Schema definition no found in sdk.schema.) comes from the SDK and will need to be dealt with separately, but this covers the rest of that tab.
Task Item
closes #7600
refs #7587
Screenshots
[pending; this is a place that's hard to get screenshots of]

Parking this PR until a we come up with a good pattern in R15.

authors: beyackle srinaath


text:
Getting 200 for /conversation/{id}/upload?userId={id} but no attachment in stream

The bot is sending back this message in the stream after uploading a file to the conversation via this method:
https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-send-activity?view=azure-bot-service-4.0#upload-one-attachment
"text": "Looks like you tried to send an attachment. Currently, I can only process text. Please try sending your message again without the attachment. ",
Is there some setting I need to use to get it to accept images and files?
  "activities": [
    {
      "type": "message",
      "id": "Fiq3i5iaAvEYCoARyGcUv-6|0000004",
      "timestamp": "2021-07-23T01:41:53.7085346Z",
      "channelId": "directline",
      "from": {
        "id": "2f74c4e1-339e-49d7-b673-63f61c9349af",
        "name": "DocSquad_Bot",
        "role": "bot"
      },
      "conversation": {
        "id": "Fiq3i5iaAvEYCoARyGcUv-6"
      },
      "text": "Looks like you tried to send an attachment. Currently, I can only process text. Please try sending your message again without the attachment. ",
      "inputHint": "acceptingInput",
      "attachments": [],
      "entities": [],
      "replyToId": "Fiq3i5iaAvEYCoARyGcUv-6|0000003"
    }
  ],
  "watermark": "4"
}

@ppapebright - Our apologies here, but currently PVA doesn’t support handling activity with attachment natively, which is by design. and engine has not made any code change in this area since GA.
You can also check the ticket that Steven attached above, which has a similar root cause. If this is not related to a PVA project, please feel free to re-open providing additional details.

authors: MichaelHaydenAtMicrosoft ppapebright

repo: microsoft/BotFramework-Services


text:
using await throws incorrect error

version info

Microsoft Edge 44.18963.1000.0
Microsoft EdgeHTML 18.18963

problem
In the console, if I use await the console generate error Expected ';' and refuses to run the line.
how to re-produce
In the console.
var f = async () => { setTimeout(() => { console.log('foo'); }, 1000); };
await f();  // generates "Expected ';'" error message

Await is only valid inside an async function so this should error is correct. Though it’s not the most helpful error message.

@rhuanjl I've never cared about it! Thx!

authors: rhuanjl soundlake

repo: microsoft/ChakraCore


text:
HINSTANCE is missing

Actual behavior
IUIFramework.LoadUI() first parameter "instance" now has the type "HMODULE".
CsWin32 version 0.2.223-beta had for the first parameter the type "HINSTANCE".
Expected behavior
The documentation and also the header file UiRibbon.h say that the first parameter type is a HINSTANCE
Repro steps
IUIFramework Framework;
private void Method(HINSTANCE hInstance, string resourceIdent)
{
    Framework = new UIRibbonFramework() as IUIFramework;
    Framework.LoadUI(hInstance, resourceIdent);
}

NativeMethods.txt content:

UIRibbonFramework
IUIFramework

NativeMethods.json content (if present):

Any of your own code that should be shared?

Context

CsWin32 version: [0.2.229-beta]
Win32Metadata version (if explicitly set by project):
Target Framework: [e.g. netstandard2.0]
LangVersion (if explicitly set by project): [e.g. 9]

Once https://github.com/microsoft/win32metadata/issues/1517 is fixed this will be resolved, but that fix is dependent on CsWin32 supporting implicit conversions between HMODULE and HINSTANCE.

It does not work in CsWin32 version 0.2.240-beta.

@harborsiem, the fix requires a combination of CsWin32 changes (which you have) and the fix in the metadata (which has merged but has not yet shipped). Once those two things are available, CsWin32 will have to update to consume that metadata (or you could try referencing the latest metadata directly and you might get lucky).

authors: AArnott harborsiem mikebattista


text:
Token length type fixing

Hi,
I encountered a conversion from 'size_t' to '_ty' requires a narrowing conversion error, during a Windows 11 build.
Traced back the issue here and static cast these parameters to unsigned.
Now compiles and able inference.

Sorry for the slow response on this! Will merge pending the CI.

@microsoft-github-policy-service agree

repo: microsoft/DeepSpeed


text:
Date filter does not work as expected

I am trying to filter a Windows Event Log using the Date filter. Sometimes it shows no results even though there are items in the date range. Sometimes it shows results outside of the specified date range. To reproduce, try date filtering an Event Log file on v24.8.29.1017.

I can't reproduce, do you have a screen shot of an example where it is not working?

I see that you have set the time zone settings to UTC based on the Date and Time column.
My assumption would be that the filter is working correctly but the filtering time is off due to that offset.
If you go into settings and set the time zone to your systems time zone, does the issues go away?

repo: microsoft/EventLogExpert


text:
Undeclared dependency

It appears that torch-sparse is also required.

Yes, it is actually required by the torch-germetric, you can go through the pyg installation document for installation.

authors: chlxydl iandanforth-alation

repo: microsoft/FOST


text:
Tree: move delta

Description
Move delta to tree. This will enable changing the forest editing API to just take a delta.

I think it would make sense to move visit.ts under tree as well (and move the matching test file).

I think it would make sense to move visit.ts under tree as well (and move the matching test file).

Thats a good point. It won't block the forest change though (only the implementations of forest will need it), so I'll leave it for a separate change.

authors: CraigMacomber yann-achard-MS

repo: microsoft/FluidFramework


text:
"XIO:  fatal IO error 25 (Inappropriate ioctl for device) on X server ":0"" in the testing stage of HelloWorld model

When running "python InnerEye/ML/runner.py --model=HelloWorld" on a local Ubuntu 20.04 machine without GPU, the error "XIO:  fatal IO error 25 (Inappropriate ioctl for device) on X server ":0"" occurred. This was caused by 'pool_outputs' on line 187 of ./InnerEye/ML/model_testing.py. I suspect this only occurs when there is only one testing data sample. The problem was resolved for me when I obtain 'pool_outputs' as:
pool_outputs = evaluate_model_predictions(process_id=0,
config=config, dataset=ds, results_folder=results_folder)
AB#4152

Hi @hankuipeng , this does not repro for me unfortunately. Have you tried if the solution listed here works? At the start of model_testing.py, you would add:
import matplotlib
matplotlib.use('Agg')

Hi @hankuipeng , this does not repro for me unfortunately. Have you tried if the solution listed here works? At the start of model_testing.py, you would add:
import matplotlib
matplotlib.use('Agg')

Hi, thanks for your reply, this solves the problem also :)

repo: microsoft/InnerEye-DeepLearning


text:
[ci] Fix Azure Pipeline Agents

Azure pipeline agents are failing. See https://github.com/microsoft/LightGBM/issues/6316#issuecomment-2028535274 for the details.

Out of curiosity: why is the failing test relevant? It seems to create a heavy dependence.

Pipeline is green :-). @jameslamb thanks a lot for the explanations. Makes perfect sense.

pipeline is green

Heyyyy excellent! Thanks so much for the help @shiyu1994 . I'll merge this and work on merging/re-building the other already-approved PRs todays.

repo: microsoft/LightGBM

license: mit

license_source: bigquery


text:
PsfLauncher fails starting apps with executable starting with VFS\AppVPackageDrive

The launcher ends up trying to start a process using an empty string.  It should map this entry as relative to the root folder of the package, just like any other VFS path.
Note: This used to work, but there must be a bug.

Closing this issue as not reproducible.

repo: microsoft/MSIX-PackageSupportFramework


text:
Feedback de uso Copilot

Utilizo Copilot diariamente há cerca de um ano, tanto para fins profissionais quanto pessoais (projetos, faculdade, etc).
A ferramenta torna muito mais fácil a realização de tarefas repetitivas, além de ser ótima para pair programming, oferecendo sugestões que muitas vezes não passam pela cabeça do desenvolvedor. Desta forma, permite a concentração em tarefas mais criativas e estratégicas, enquanto ele cuida das partes mais repetitivas.

Obrigada por compartilhar - Participe da nossa série GitHub Foundations em Português em Outubro: https://aka.ms/brasil/githubfoundations

authors: cyz matheuszap


text:
issue:The type or namespace name 'Windows' could not be found (are you missing a using directive or an assembly reference?)

I tried to pull the project and open it with Unity2019.4.3, but this error occurred (the type or namespace name "Windows" could not be found). What should I do?

The script reported an error inside Unity（SceneUnderstandingManager）

Hi @RenSiyao my guess is that perhaps you are missing the Windows SDK
https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk/
Can you provide a copy of your project/ screenshots, so that i can take a look at?

嗨@RenSiyao我的猜测是，也许您缺少Windows SDK
https://developer.microsoft.com/zh-CN/windows/downloads/windows-10-sdk/
您可以提供您的项目/屏幕截图的副本，以便我看看吗？

Here are my Unity screenshots and VS screenshots

Did you resolve this issue? You need to make sure you are using a supported OS version (19041)
https://docs.microsoft.com/en-us/uwp/api/Windows.Perception.Spatial?view=winrt-19041
And an updated SDK. Looks like you have the right SDK. Can you try and build a standalone UWP project that references Windows.Perception.Spatial?

authors: RenSiyao SzymonSPS jorgonz


text:
Pinch slider orientation

Overview
Fix bug #6756 PinchSlider orientation doesn't change when setting Slider Axis to Y or Z
Updated PinchSlider.cs to update the orientation of TrackVisuals, TickMarks and ThumbRoot depending on the sliderAxis orientation
Changes

Fixes: # .

OnValidate the property of CurrentSliderAxis is being set and when that happens, the orientation of the visual components is being updated if the axis has been changed.
This is for editor changes
If user change the property of CurrentSliderAxis at runtime, the update function will be called on setter so the visual's orientation will be updated
The UpdateVisualsOrientation() function update the local rotation of the gameobjects
It doesn't change the local position
So if user wants to update the position, then user needs to do this manually in editor or by code at runtime.
I could reset the local position of the gameobjects, so they don't preserve any wrong translation from previous slideraxis orientation. The problem with this approach is that maybe the user changes the axis by mistake and then when user rolls back to previous axis setup then the local translation will be lost and user will need to set it up again.
So, I decided for this reason, to leave the position untouched.
The private variable that the property about PreviousSliderAxis refers to, is nullable for initialization purposes. if the variable hasn't any value then it needs to become equal to the CurrentSliderAxis
I also added 2 more tests in PinchSliderTests
One test is setting the visual components to null and tests that the slider move still works
The other test, checks the orientation of the components while the slideraxis changes.
I haven't updated the documentation, will do that after this behaviour/PR is accepted.
Verification

This optional section is a place where you can detail the specific type of verification
you want from reviewers. For example, if you want reviewers to checkout the PR locally
and validate the functionality of specific scenarios, provide instructions
on the specific scenarios and what you want verified.
If there are specific areas of concern or question feel free to highlight them here so
that reviewers can watch out for those issues.

The thumb root isn't being rotated while the axis changes
Shouldn't the thumbroot rotate as well?
If we want to update the thumb root rotation, then the HandInteractionExample breaks, as the PinchSlider there has an additional child under the ThumbRoot so that child has wrong orientation if its parent ThumbRoot is rotated to match the SliderAxis
So, do we leave the ThumbRoot as it is, and if the user wants, then user can make changes manually?
It looks visually wrong though for the ThumbRoot to remain in the same orientation.

As a reviewer, it is possible to check out this change locally by using the following
commands (substituting {PR_ID} with the ID of this pull request):
git fetch origin pull/{PR_ID}/head:name_of_local_branch
git checkout name_of_local_branch

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

thank you for the feedback
I will move the SliderAxis enum into a new file
@julenka
about the second case:
this is the slider in x axis

this is what happens when changing it into Y axis

is this what you would expect when changing it into Y axis?
this has modified the Cellheight into what the CellWidth was and has the local position rest to zero

if this last one isn't what you would expect.
Could you describe what would you expect?

Artemis, the below is what i would expect, so yes "the last one" is what I expect

Maybe we could rotate the child Button_AnimationContainer? So the rotation applies only to that gameobject?

I was thinking you could add a third field "thumb visual" that would point just to the thumb visual, not to the parent that also contains the text. It would nice to put all of these under "slider visuals" or "slider axis visuals" header, then I would see something like this (in editor form)
Slider axis visuals

Track Visual
Tick Visual
Thumb Visual (with a tooltip that says "point this to just the visual component of the thumb -- this will get rotated to match the slider axis")

Hi @julenka
Thank you for your help and feedback,
I committed the changes

CellWidth and CellHeight are updated then changing slider axis in order to match what was previously set to.
-Local position of gameobjects is being reset as well on slider axis change
-Added a new property ThumbVisuals which is only the thumb gameobject. This is rotated to match the slider axis rotation. A difference with the track visuals and tick marks, is that thumb visuals global rotation is set and not local rotation as with the other gameobjects.
The reason for this is that, if we set the localrotation then in scenes like the PinchExample that have a local rotation on a parent of the thumb, then these scenes will be broken.
To me it makes more sense to update the local rotation. So user could add manually a rotation in editor that might be desirable for the whole pinch slider.
But if we could with this solution then we will need to update all scenes that have pinch slider.
What do you think?

Kind regards
Artemis

But if we could with this solution then we will need to update all scenes that have pinch slider.

Local rotation also makes more sense to me. It's not a problem to change scenes. However, to keep the change scoped maybe we should break that into a different change (so this doesn't balloon to changing too much). I would be fine if we backed out the change to add the thumb and just created a follow up issue referencing this PR.

One more comment -- if you could please add documentation to README_Sliders.md describing the new behavior that would be great. This is part of our guidelines pull requests should contain documentation for new feature. Specifically it would be good to mention when axis is updated, visuals are updated if they are specified. Please also add explanation of new fields.

Hi @julenka
I updated the documentation by adding at the end explanation of inspector properties and after that I added explanation of when the track visuals and tick marks are updated
I removed the thumb visuals property and functionality related to updating its transform
Also made the suggested changes from @keveleigh
Thank you both for the feedback
Artemis

/azp run

authors: artsouflMS julenka keveleigh msftclas

repo: microsoft/MixedRealityToolkit-Unity


text:
Culture: Text formatting of dates isn't using localized names

Consider
Text(Today(), DateTimeFormat.LongDate, "fr-FR")
In RecalcEngine, we return with English names:
"Thursday, 23 February 2023"
In PowerApps, we return with french names:

We should also verify this parses.
DateValue(str, "fr-FR"), DateTimeValue(str, "fr-FR")

Fixed in https://github.com/microsoft/Power-Fx/pull/1119

authors: MikeStall nguhoa

repo: microsoft/Power-Fx


text:
[Keyboard Manager] want some key mapping like macos - home key as modifier

In macos, the key "cmd + backspace" can delete the whole line, so I want to map "Win + backspace" to "shift + home + backspace", but failed.
I think maybe the this feature is not supported.
It will be helpful if this feature is supported, thank you

This is interesting, the home key currently can't be used as a modifier which is likely why this feature isn't supported. We'll update the labeling and log this in our enhancements milestone for us to review following our general stability efforts. Thanks!

Tracked via https://github.com/microsoft/PowerToys/issues/3350

authors: crutkas dedavis6797 huotui-xiaoji

repo: microsoft/PowerToys


text:
PT Settings window won't open after update to .58

Microsoft PowerToys version
0.58.0
Running as admin

[X] Yes

Area(s) with issue?
Settings
Steps to reproduce
After upgrading to the latest release, I can't get the Settings window to appear. PT Run and others still seem to be working, however. Downgrading back to .57.2 fixed things.
I tried uninstalling and reinstalling .58 and still ran into this issue. I was able to generate the Bug Report:
PowerToysReport_2022-05-04-12-34-46.zip
.
✔ Expected Behavior
Settings window appears after double-clicking PT icon in system tray, or right-clicking and selecting "Settings".
❌ Actual Behavior
Brief change in cursor, etc. but then nothing happens. No obvious errors.
Other Software
No response

I have same issue.
Event viewer shows event 1000:
Faulting application name: PowerToys.Settings.exe, version: 0.58.0.0, time stamp: 0x622f78e0
Faulting module name: Microsoft.ui.xaml.dll, version: 3.0.0.2204, time stamp: 0x91d22f13
Exception code: 0xc000027b
Fault offset: 0x000000000036dea7
Faulting process id: 0x0x6E6C
Faulting application start time: 0x0x1D86030B3B6CCBC
Faulting application path: C:\Program Files\PowerToys\Settings\PowerToys.Settings.exe
Faulting module path: C:\Program Files\WindowsApps\Microsoft.WindowsAppRuntime.1.0_3.469.1654.0_x64__8wekyb3d8bbwe\Microsoft.ui.xaml.dll
Report Id: 21ac4b73-0d05-4c32-b7f3-de00563068f1
Faulting package full name:
Faulting package-relative application ID:

Hi, i've got the same problem
and also this event log entries on 2 machines. one is a PC, one a Laptop.
Both the same enviroment, Patched to the latest W10, running as Admin.
But it was NO upgrade, but a first time install of PT.
I tried:
older Versions - same result, i never get a settings window.
ReInstalled Windows desktop Runtime - didn't help.
But e.g. "Awake" seems to work.
:-(
Attached the Bugreport from one machine.
PowerToysReport_2022-05-05-08-29-56.zip

/dup #18015
Could you see if something there helps?
We've identified two different errors here, one of them related to using GPU statistics software and the other to some UAC settings making explorer.exe run elevated on all cases.

I got it working :-)
User Access Control was the key (for me).
Maybe these steps may help any other one, struggeling on the same issue:

My UAC was set off ("Never notify me when...")
I set it to the second highest level ("Notify me only when applications try to make changes to my computer (default)")
REBOOT
Settings Page comes up *yeah and i set it to "Always run as administrator"
Apply upcoming UAC - Nagscreen!
Changed UAC back to previous "off"
REBOOT
everything's fine now...

HTH

authors: e1m5 jaimecbernardo keiteh tomdowbelkin


text:
PowerToys Folders

Description of the new feature / enhancement
Allow color coding of folders in File Explorer - either global view for others as well or specific to me when I log on.
Scenario when this would be used?
For example, all my current yellow folders can be color coded by projects that are priority or that do not need attention.
Supporting information
It would be nice to have it go across platforms so when I log into the server from home, I see the same colors.

/dup #6157

authors: crutkas myownsand


text:
Switch uppercase and lowercase A

Description of the new feature / enhancement
I'm not sure this is not possible, but I haven't found a solution and haven't found a general place to ask questions about PowerToys, so I'm posting it here.
The example below is a simplified example of what I'm trying to achieve, but I hope that a solution to that will be enough.
I'm using the US keyboard layout.
For the letter "A", I'd like to switch between upper and lower case, i.e., pressing the A key should type an uppercase "A", and pressing Shift+A should type a lowercase "a".
Thanks in advance
Scenario when this would be used?
I actually have a private keyboard layout that works nicely in Linux (see my Github repo jxk) that I'd like to use on the Windows operating system.
Supporting information
No response

You can do this by actibvating caps lock. Every letter willl be uppercase unless you press shift + this letter.
Is this what you want?
/needinfo

authors: Aaron-Junker kunegis


text:
Keyboard Mappings Issue with PowerToys in Cloud/Dev Boxes

Microsoft PowerToys version
v0.82.1
Installation method
Other (please specify in "Steps to Reproduce")
Running as admin
Yes
Area(s) with issue?
Keyboard Manager
Steps to reproduce
I am encountering an issue where keyboard mappings set via PowerToys on my local system do not carry over to cloud/dev boxes. When I set up the same settings on PowerToys in the cloud/dev boxes, they don't work if the local system keyboard manager settings are enabled.
Steps to Reproduce:

Set up keyboard mappings using PowerToys on the local system.
Connect to a cloud/dev box.
Attempt to use the same keyboard mappings in the cloud/dev box.

Alternatively, if I set up the keyboard mappings directly on the cloud/dev box, they still don't work if the local system keyboard manager settings are enabled.
Workaround:
If the keyboard manager on the local system is turned off, the mappings work correctly in the cloud boxes. This requires manually turning off the keyboard manager on the local system while using the dev box and turning it back on afterward.
Impact:
This issue is a significant inconvenience and impacts the usability of dev boxes, as it requires constant toggling of the keyboard manager on the local system.
Additional Information:

PowerToys mappings work correctly in the cloud box when the keyboard manager is disabled on the local box.
This issue prevents seamless switching between local and cloud/dev environments.

Request:
Please investigate and provide a solution that allows for consistent keyboard mappings across local and cloud/dev boxes without needing to manually toggle the keyboard manager. Ideally, I should be able to set up the keyboard mappings on my local box once and not have to configure them in both places.
✔ Expected Behavior
The keyboard mappings should work seamlessly in the cloud/dev box as they do on the local system.
❌ Actual Behavior
The key mappings trigger functions like Sticky Keys or Start instead of the intended mappings.
Other Software
No response

I was also hitting this issue in PowerToys 0.85.1 (both local and remote). In my particular case, I was using Keyboard Manager to remap Capslock to Ctrl (left). I was able to workaround the issue and get shortcuts working by:

Deleting my Remap keys in the local machine's Keyboard Manager. I only had a single key mapped (Capslock to Ctrl).
Mapping Capslock to Ctrl via Registry Editor with the following script, and then rebooting the local machine:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00

At this point, I am able to run Keyboard Manager on both the local and remote machines, and the shortcuts defined on the remote system work as intended.
I want to reiterate that this is a special case, but hopefully is helpful given the frequency of remapping capslock to control (and perhaps helpful in solving the general case since it seems to show that remapping shortcuts is not the root cause).

authors: bradgwest irodneyedwards


text:
Allow cascade menu on New+ context menu

Description of the new feature / enhancement
HI...
New+ and their template function are amazing, but in some cases it's necessary to categorize these templates.
In the current format I use a prefix for each new template category, but if there was a way to create a second level of menu it would help a lot.
Example:
Current Format:
New+
-- Development - Java
-- Development - C
-- Development - Python
-- Video - Personal
-- Video - Social Media
-- Video - Marketing
Suggested Format:
-- Development
---- Java
---- C
---- Python
-- Videos
---- Personal
---- Social Media
---- Marketing
Scenario when this would be used?
In prolonged use of the tool, many templates will be created, and localizing them will end up becoming increasingly time-consuming and difficult.
Supporting information
No response

Really like this idea, and would like to implement that. Unfortunately the built in support for context menu extensions in Windows 11, as far as I know, does not currently support this. If you know of an example or if this changes then I'd really like to add this support.
Thank you for sharing!

Hi Christian,
Apologies for the delay..
Currently the only way I know is to make changes to the Windows Registry.
The only limitation I know of this way is that it only works in the classic context menu (right click > show more options), but I haven't tried updating since Win8, where I started using it and created this base script
Here is an example:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory]

[HKEY_CLASSES_ROOT\Directory\Background\shell\OLV_Custom]
"MUIVerb"="OLV Menu"
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\OLV_Custom\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\OLV_Custom\shell\Menu1]
"MUIVerb"="Menu_1"
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\OLV_Custom\shell\Menu1\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\OLV_Custom\shell\Menu1\shell\Notepad]

[HKEY_CLASSES_ROOT\Directory\Background\shell\OLV_Custom\shell\Menu1\shell\Notepad\command]
@="notepad.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\OLV_Custom\shell\Menu2]
"MUIVerb"="Menu_2"
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\OLV_Custom\shell\Menu2\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\OLV_Custom\shell\Menu2\shell\Paint]

[HKEY_CLASSES_ROOT\Directory\Background\shell\OLV_Custom\shell\Menu2\shell\Paint\command]
@="mspaint.exe"

authors: cgaarden olvmauricio


text:
Keyboard Manager feature request

Please can you add feature in Keyboard Manager to map shortcuts keys to type symbols like, Alt(Left) + a would type "π".
👍

Duplicate of #3826

authors: Aaron-Junker OmjiKumar


text:
[FZ Editor] Layout hotkeys for quick swap UI: Parsing/serializing quick keys, telemetry

Summary of the Pull Request
What is this about:

Added parsing/serializing quick keys.
Added unit tests for parsing/serializing quick keys.
Telemetry: added number of layouts using quick keys in the current settings event.

What is include in the PR:
How does someone test / validate:
Quality Checklist

[x] Linked issue: #10025
[ ] Communication: I've discussed this with core contributors in the issue.
[ ] Tests: Added/updated and all pass
[ ] Installer: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Docs: Added/ updated
[ ] Binaries: Any new files are added to WXS / YML

[ ] No new binaries
[ ] YML for signing for new binaries
[ ] WXS for installer for new binaries

Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.

The Editor will create an array with the key fast-access-layout-keys which is different from what the Lib expects.


text:
#16283 VS Code Workspaces not showing up after update/first install

…lation
Summary of the Pull Request
What is this about:
VS Code Workspaces not showing up after update or first install.
What is included in the PR:
The issue is with the first time that powertoys is installed or after an updated for some reason the first time we get Environment.GetEnvironmentVariable("PATH") only the system environment variables are obtained and not the user environment variables.
I fixed the issue by including the user variables to.
How does someone test / validate:

Unninstall powertoys.
Install lastest version of powertoys
Try to run powertoys  run with the query '{'. Nothing shows.
Uninstall powertoys again.
Build Powertoys Project and and exe.
Install the exe you created.
Try to run powertoys  run with the query '{'. The workspaces now show up.

Quality Checklist

[x] Linked issue: #16283
[x] Communication: I've discussed this with core contributors in the issue.
[x] Tests: Added/updated and all pass
[ ] Installer: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Docs: Added/ updated
[ ] Binaries: Any new files are added to WXS / YML

[x] No new binaries
[ ] YML for signing for new binaries
[ ] WXS for installer for new binaries

Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.

Looking at the code, LGTM! @davidegiacometti , what do you think?

Code LGTM!
Trying to figure out why this is required:

Before the changes in this PR PATH was read with Environment.GetEnvironmentVariable("PATH"))
This is equaivalent to EnvironmentVariableTarget.Process (The environment variable is stored or retrieved from the environment block associated with the current process)
For some reasion after installation/update the PATH for the process isn't fully loaded
Force user's PATH should do the trick


text:
Upgrading to CommunityToolkit.WinUI v8.0

With v8.0 available on NuGet, this PR adopts the new version of the Toolkit.
The following changes are included:

SettingsCard/SettingsExpander are now in the main toolkit, so no need to use the Labs packages anymore.
Updating to the new Toolkit namespaces
Adopting the FontIconExtension where possible, and removing the FontFamily=Segoe Fluent Icons parameter since that's now fixed in 8.0.
Replace custom converters with equivalents from the Toolkit.
Applying XAML styler

There are a ton of changes, but mostly due to the new namespaces and XAML styler. There are no visual or code changes.
Keeping this as DRAFT for now since we might be able to switch to the GA version any day now.

Nice job @niels9001!
Need to update https://github.com/microsoft/PowerToys/blob/main/NOTICE.md#nuget-packages-used-by-powertoys in order to make CI pass.
What do you think about consolidating view models and commands using source generators provided by CommunityToolkit.Mvvm across the solution (OFC as a separated work )?

Nice job @niels9001!
Need to update https://github.com/microsoft/PowerToys/blob/main/NOTICE.md#nuget-packages-used-by-powertoys in order to make CI pass.
What do you think about consolidating view models and commands using source generators provided by CommunityToolkit.Mvvm across the solution (OFC as a separated work)?

@davidegiacometti
Thanks! Updated the file as well 🤞.
I think our ViewModels (especially in Settings) could use some love - and I think using source generators would be amazing!

Hi @niels9001 , I think the current issues with CI are a bad merge with the contents of this PR: https://github.com/microsoft/PowerToys/pull/28367/

Hi @niels9001, I've added a commit to this PR to try and fix the merge: https://github.com/microsoft/PowerToys/pull/28205/commits/7fbbd46bc12a00274a1a28ddb38fbaf592f6a8d9
Can you please check if your changes are still as intended?

Hi @niels9001, I've added a commit to this PR to try and fix the merge: 7fbbd46
Can you please check if your changes are still as intended?

Thanks!! Yeah some weird things were going on at some point. Just tested, and everything seems to work as intended :)! Thanks!


text:
[Reunion 0.5] PickMultipleFilesAsync Crashes Application / Exception Thrown

Describe the bug
In UWP, the FileOpenPicker works for both PickSingleFileAsync and PickMultipleFilesAsync.
In WinUI 3 Reunion 0.5 PickSingleFileAsync works, but PickMultipleFilesAsync causes a crash.
This issue has been seen before in a previous release.
Steps to reproduce the bug

Clone the WinUI3Reunion05_Problems.
Go to the WinUI3IssuesReunion05 folder.
Open the WinUI3IssuesReunion05.sln solution in Visual Studio 2019 Preview.
Build and run with Debug x64.
Click on the sixth item on the Navigation View ("FileOpenPicker")
Click on the second button, "FileOpenPicker: Multiple Files", and select zero, one, or more files to see the crash.

Expected behavior
We expect to be able to select multiple files and the FileOpenPicker not to crash.
Screenshots

Screenshot#1 - Expected Behavior (UWP)

Screenshot#2 - Current Behavior (WinUI3 Desktop)
Version Info
Targeting:
Target: Universal Windows
Target version: Windows 10, version 2004 (10.0; Build19041)
Min version: Windows 10, version 1809 (10.0; Build 17763)
NuGet package version:
[Microsoft.ProjectReunion 0.5.0]
[Microsoft.ProjectReunion.WinUI 0.5.0]

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

May 2020 Update (19041)

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)
Yes

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Xbox

Surface Hub

IoT

Additional context

@Scottj1s, @manodasanW, and @angelazhangmsft, I think this is an issue with C#/WinRT projections. Can you take a look at the @eleanorleffler code, please?
This is a code snipped:

private async void OnSelectFolder(object sender, RoutedEventArgs e)
{
           var filePicker = new FileOpenPicker();
            IntPtr windowHandle = (App.Current as App).WindowHandle;

            var initializeWithWindow = filePicker.As<IInitializeWithWindow>();
            initializeWithWindow.Initialize(windowHandle);
            filePicker.FileTypeFilter.Add("*");

            IReadOnlyList<StorageFile> files = await filePicker.PickMultipleFilesAsync();
           if (files.Count > 0)
            {
                StringBuilder output = new StringBuilder("Picked files:\n");
                foreach (StorageFile file in files)
                {
                    output.Append(file.Name + "\n");
                }
                System.Diagnostics.Debug.WriteLine(output.ToString());
            }
            else
            {
                System.Diagnostics.Debug.WriteLine("Operation cancelled.");
            }
}

And this is error:
System.Reflection.TargetInvocationException
  HResult=0x80131604
  Message=Exception has been thrown by the target of an invocation.
  Source=System.Private.CoreLib
  StackTrace:
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
  at WinRT.SingleInterfaceOptimizedObject..ctor(Type type, IObjectReference objRef)
   at Windows.Storage.Pickers.FilePickerSelectedFilesArray.<.ctor>b__8_0()
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
   at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
   at System.Lazy`1.CreateValue()
   at Windows.Storage.Pickers.FilePickerSelectedFilesArray.get__default()
   at Windows.Storage.Pickers.FilePickerSelectedFilesArray.get_Count()
   at ReunionEbookReader.SettingsPage.<OnSelectFolder>d__11.MoveNext() in D:\Repos\ReunionEbookReader\ReunionEbookReader\ReunionEbookReader\SettingsPage.xaml.cs:line 100

  This exception was originally thrown at this call stack:
    [External Code]

Inner Exception 1:
COMException: The application called an interface that was marshalled for a different thread. (0x8001010E (RPC_E_WRONG_THREAD))

I think this code is executed in the UIThread, so no sure why they hit the marshaled exception.

repo: microsoft/ProjectReunion