text:
[BUG]: The publishTestResults option for DotNetCoreCLI does not work with the new MSTest runner

New issue checklist

[X] I searched for existing GitHub issues
[X] I read pipeline troubleshooting guide
[X] I checked how to collect logs

Task name
DotNetCoreCLI
Task version
2.242.0
Issue Description
The publishTestResults option does not work with the new MSTest runner. A trx file is not produced, a "##[warning]No test result files were found" message is output, and no "Tests" tab appears on the page for the pipeline run.
Additional information
The docs say:

Options specific to dotnet test command

Publish test results: Enabling this option will generate a test results TRX file in $(Agent.TempDirectory) and results will be published to the server. This option appends --logger trx --results-directory $(Agent.TempDirectory) to the command line arguments.

I think, as per this issue, this needs to be appended to the command instead:
-p:TestingPlatformCommandLineArguments="--report-trx --results-directory $(Agent.TempDirectory)"

Environment type (Please select at least one enviroment where you face this issue)

[ ] Self-Hosted
[X] Microsoft Hosted
[ ] VMSS Pool
[ ] Container

Azure DevOps Server type
dev.azure.com (formerly visualstudio.com)
Azure DevOps Server Version (if applicable)
No response
Operation system
windows-latest
Relevant log output
##[warning]No test result files were found

Full task logs with system.debug enabled
No response
Repro steps
Steps to reproduce

Create a new unit test project with the following csproj file and at least one unit test:

<Project Sdk="MSTest.Sdk/3.4.1">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
</Project>

Create a pipeline with this step (publishTestResults defaults to true):

- task: DotNetCoreCLI@2
  displayName: 'Run Unit Tests'
  inputs:
    command: 'test'
    projects: '**/**.sln'
    arguments: '--configuration Release'

Expected: A "Tests" tab should appear in the pipeline run page with a visual representation of which tests passed and failed.
Actual: No "Tests" tab appears.

Thanks for reporting it, the runner is based on a new testing platform where the trx report is not shipped or registered by default.
For the moment the only solution is to avoid the publishTestResults and pass the argument for the trx generation.
We will discuss with @Evangelink if make sense update the "customization" of the test verb or simply update the documentation. If user doesn't register the trx(by default in MSTest runner) the run will crash.

authors: MarcoRossignoli craigbrown


text:
VSTS - Azure File Copy - WinRM cannot complete the operation

Environment

VSTS
Agent: Hosted VS2017

Error

WinRM cannot complete the operation. Verify that the specified computer name is valid, that the computer is accessible over the network, and that a firewall exception for the WinRM service is enabled and allows access from this computer. By default, the WinRM firewall exception for public profiles limits access to remote computers within the same local subnet. For more information, see the about_Remote_Troubleshooting Help topic.To fix WinRM connection related issues, select the 'Enable Copy Prerequisites' option in the task. If set already, and the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs. For more info please refer to https://aka.ms/azurefilecopyreadme

Issue Description
Getting this error when using "Azure File Copy" to copy a file to a DevTest VM. I tried checking "Enable Copy Prerequisites" but it didn't solve the issue.
To eliminate any WinRM configuration-related issues, I can successfully initiate a remote PS session to the VM:
$so = New-PsSessionOption –SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName {FQDN} -Credential {UserName} -UseSSL -SessionOption $so -Port 5986

"Azure File Copy" was working a couple of days ago, but started not to all of a sudden. Could that be a regression from a recent update?

Hi @haniamr
Is the failure consistent or intermittent?
Can you set a variable in your release definition system.debug and set its value to true? This will give you more detailed logs. Please share that with us.
Also, please share your vsts account name.

Hi @rajatagrawal-dev
The failure is consistent for 2 days now. Sure, I can share the logs but where? The log file contains the password, machine FQDN, and a bunch of other sensitive data so I won't be able to attach it here.

Please send the details to RM_Customer_Queries [at] microsoft [dot] com. Also mention this github issue's reference in the mail.

Sure, done.

@haniamr Were you able to establish WinRM connection from hosted agents?

If I understand your question correctly, then no I couldn't establish a WinRM connection using the hosted agents, although as discussed offline the task works when I set up a private agent on my personal machine.

Not enough information to debug hence closing the issue. please feel free to reopen if required.

Not sure why this is closed when issue still exists with hosted agents. does anyone know how to resolve this error?

source: gharchive/issue

authors: SumiranAgg bhushang19 haniamr rajatagrawal-dev

repo: microsoft/azure-pipelines-tasks

license: MIT

license_type: permissive

license_source: github-api


text:
Vulnerability fix for AzureMysqlDeploymentV1

Task name: AzureMysqlDeploymentV1
Description: Fixed latest vulnerability for AzureMysqlDeploymentV1, changed from azure-pipelines-tasks-webdeployment-common to azure-pipelines-tasks-webdeployment-common-v4
Documentation changes required: (Y/N)
Added unit tests: (Y/N)
Attached related issue: : https://dev.azure.com/mseng/AzureDevOps/_componentGovernance/33/alert/11126?typeId=30110
Checklist:

[x] Task version was bumped - please check instruction how to do it
[x] Checked that applied changes work as expected
[x] node make.js build --task AzureMysqlDeploymentV1
[x] node make.js test --task AzureMysqlDeploymentV1

/azp run

source: gharchive/pull-request

authors: rajnish-byte v-mohithgc


text:
Vulnerability fix for AzureRmDeploy-common-v3

Task name: AzureRmDeploy-common-v3
Description: Latest vulnerability fix for AzureRmDeploy-common-v3
Documentation changes required: (Y/N)
Added unit tests: (Y/N)
Attached related issue: (Y/N) https://dev.azure.com/mseng/PipelineTools/_componentGovernance/184/alert/83629?typeId=12858
Checklist:

[x] Task version was bumped - please check instruction how to do it
[x] Checked that applied changes work as expected

/azp run

authors: rajnish-byte v-schhabra


text:
Multiple repo checkout with branch name passed dynamically

I want to be able to checkout multiple respositories with dynamic branch name variable. Below is the snippet from pipeline yaml file.
Here, the pipeline fails stating that this branch "$(BranchNameVariable)" does not exist. It seems like the pipeline is not waiting to execute the previous step before checking out the second repository.
    steps:
      - checkout: 'self'
      - task: Bash@3
        displayName: Identify target branch name
        inputs:
          targetType: 'inline'
          script: |
            #!/usr/bin/ksh
            targetBranch='master';

            # logic goes here to identify the branch name set to
            # targetBranch variable dynamically. like $targetBranch=feature/123

            echo "##vso[task.setvariable variable=BranchNameVariable]$targetBranch";
      - checkout: git://$(System.TeamProjectId)/AnotherRepo@$(BranchNameVariable)

I also hope this feature.
When compare between a current branch and a merged branch in a snapshot testing in a pipeline triggered by a pull request, the current branch has to be checked out by specifying a variable "System.PullRequest.TargetBranch".
# If using variables is difficult, the following way is also fine in my case...
- checkout: self@${{variables['System.PullRequest.TargetBranch']}}

If using variables is difficult, the following way is also fine in my case...
- checkout: self@${{variables['System.PullRequest.TargetBranch']}}

I needed the same thing and the only solution I found was to add a manual git checkout step after the checkout: self step (following your example):
- checkout: self
- script: git checkout ${{variables['System.PullRequest.TargetBranch']}}

The downside is that the run status shows that the pipeline was executed for the "default" branch instead of the branch that was actually used because of the script. But other than that, it works

authors: KenjiYokoyama msarathc-ms ttsakpc

repo: microsoft/azure-pipelines-yaml


text:
Remove unused CI file and bootstrap file and add back recording scripts

Add back build folder assets for install-artifacts and conda-utils, since they are used for recordings.

/azp run microsoft.azure-quantum-python.ci

/azp run microsoft.azure-quantum-python.ci

/azp run

repo: microsoft/azure-quantum-python


text:
New File to SQL language mode ran and froze

Azure Data Studio Version:
Version: 1.21.0 (user setup)
Commit: 2413919f186f780f0193d047da3d90bb3c1e9bf6
Date: 2020-08-11T20:52:47.502Z
VS Code: 1.48.0
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.19041

(Note: same issue in 1.22.0 Insiders)
Steps to Reproduce:

Go to File > New File.
Change the language mode to SQL.
Connect to your favorite database.
Type a query.
Run it.

What happens:

It looks like it's running because the Run button is grayed out. But you cannot click Cancel. If you do then it will stay stuck.
It shows the duration and the number of rows returned. But you can't see anything in the resultset.

What is expected:

This will convert to a SQL query somehow.

Does this seem to be limited to when changing the language? @gupta1 could this be related to your changes in this area?

Investigating

repo: microsoft/azuredatastudio


text:
web smoke tests

This PR fixes #

Coverage remained the same at 35.857% when pulling d51455889351f11dd5933c664d51f82d9bf738cf on websmoke into 1796b519e57b009235e8888581f6fbba0943205c on main.

authors: anthonydresser coveralls


text:
Removing separate heading for page number and clubbing it with wizard title

… title

This PR fixes #12962

Pull Request Test Coverage Report for Build 360600047

0 of 0   changed or added relevant lines in 0 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.01%) to 41.29%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/jupyter/serverInstance.ts
4
73.81%

Totals

Change from base Build 360558882:
-0.01%

Covered Lines:
21743

Relevant Lines:
48353

💛  - Coveralls


text:
Adding context menu item on server level for import wizard

Pull Request Test Coverage Report for Build 1118777065

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 41.651%

Totals

Change from base Build 1118758304:
0.002%

Covered Lines:
26453

Relevant Lines:
57620

💛  - Coveralls


text:
LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20210813153410216 to main

LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20210813153410216 to main with localized lcls

Pull Request Test Coverage Report for Build 1128188425

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 41.402%

Totals

Change from base Build 1126568810:
0.0%

Covered Lines:
26396

Relevant Lines:
57839

💛  - Coveralls

authors: coveralls csigs


text:
Expand helm documentation to describe service type options

As a:
spk user creating my helm chart
I want:
Guidance on service types.
So that:
I can make an informed decision when choosing my Service type on helm chart configuration
Describe the solution you'd like:
Expanded documentation or link on k8s service types and explaining what bedrock suggests
Author's comment- I believe we should suggest ClusterIP as the default so that services aren't exposed directly though a provisioned external IP, rather all traffic should be routed through the IP provisioned for Traefik2
Additional context:
Our reference documentation points to a Service that, by default, is configured to a LoadBalancer.
Does this require updates to documentation?:

@mzilberman

@mtarng @mzilberman is the suggestion that our helm chart guidance should push users to use Traefik?
I agree that using a non external IP should be an option. In the Helm Chart we created for Spektate we have logic to flip between a LoadBalancer and aNodePort by using a value. Would that approach be reasonable? cc @samiyaakhtar

@andrebriggs I don't know the answer to this, it seems that you have chosen Traefik for a reason yet the docs so far make no mention of why Traefik vs. LB vs. ClusterIp

authors: andrebriggs mtarng mzilberman

repo: microsoft/bedrock


text:
Ensure dotnet framework minimum version is netstandard 2.1 or greater

Orchestrator requires netstandard 2.1 or greater for support of LPUTF8Str (Unicode etc).

@mrivera-ms to follow up.

@mrivera-ms to follow up.

Per offline discussion with @scheyal, this needs to be addressed by the Orchestrator dev team. Closing as no further action is needed from the SDK team.

Per offline discussion with @scheyal, this needs to be addressed by the Orchestrator dev team. Closing as no further action is needed from the SDK team.

More info:
So sniffing a bit more, it looks like all our SDKs are targeting netstandard2.0. Orchestrator assembly is the odd one out targeting netcoreapp3.1, and it cannot go below netstandard2.1 due to native Unicode dependency. If I get this right, it’d create a bit of friction out of the box when dev is trying to use Orchestrator having to align their targets.
So I guess, the work here is to ensure all our assemblies are targeting the same framework version e.g.:

Bring Orchestrator to 2.1
Bring all SDK assembly to 2.1

Other considerations:

There’ll also be some back-compat cost to consider.
Consider to might as well target a more modern platform per recommended  .NET versions

Adapters\Microsoft.Bot.Builder.Adapters.Facebook\Microsoft.Bot.Builder.Adapters.Facebook.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Slack\Microsoft.Bot.Builder.Adapters.Slack.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Twilio\Microsoft.Bot.Builder.Adapters.Twilio.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Twilio\Microsoft.Bot.Builder.Adapters.Twilio.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Webex\Microsoft.Bot.Builder.Adapters.Webex.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
AdaptiveExpressions\AdaptiveExpressions.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
integration\Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi\Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi.csproj:    <TargetFramework>net461</TargetFramework>
integration\Microsoft.Bot.Builder.Integration.AspNet.WebApi\Microsoft.Bot.Builder.Integration.AspNet.WebApi.csproj:    <TargetFramework>net461</TargetFramework>
Microsoft.Bot.Builder\Microsoft.Bot.Builder.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.AI.LUIS\Microsoft.Bot.Builder.AI.Luis.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.AI.Orchestrator\Microsoft.Bot.Builder.AI.Orchestrator.csproj:    <TargetFramework>netcoreapp3.1</TargetFramework>
Microsoft.Bot.Builder.AI.QnA\Microsoft.Bot.Builder.AI.QnA.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.ApplicationInsights\Microsoft.Bot.Builder.ApplicationInsights.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Azure\Microsoft.Bot.Builder.Azure.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Azure.Blobs\Microsoft.Bot.Builder.Azure.Blobs.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Azure.Queues\Microsoft.Bot.Builder.Azure.Queues.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs\Microsoft.Bot.Builder.Dialogs.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Adaptive\Microsoft.Bot.Builder.Dialogs.Adaptive.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Adaptive.Teams\Microsoft.Bot.Builder.Dialogs.Adaptive.Teams.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Adaptive.Testing\Microsoft.Bot.Builder.Dialogs.Adaptive.Testing.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Debugging\Microsoft.Bot.Builder.Dialogs.Debugging.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Declarative\Microsoft.Bot.Builder.Dialogs.Declarative.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.LanguageGeneration\Microsoft.Bot.Builder.LanguageGeneration.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.TemplateManager\Microsoft.Bot.Builder.TemplateManager.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Testing\Microsoft.Bot.Builder.Testing.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Configuration\Microsoft.Bot.Configuration.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Connector\Microsoft.Bot.Connector.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Schema\Microsoft.Bot.Schema.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Streaming\Microsoft.Bot.Streaming.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Parsers\Microsoft.Bot.Builder.Parsers.LU\Microsoft.Bot.Builder.Parsers.LU.csproj:    <TargetFramework>netstandard2.0</TargetFramework>

More info:
So sniffing a bit more, it looks like all our SDKs are targeting netstandard2.0. Orchestrator assembly is the odd one out targeting netcoreapp3.1, and it cannot go below netstandard2.1 due to native Unicode dependency. If I get this right, it’d create a bit of friction out of the box when dev is trying to use Orchestrator having to align their targets.
So I guess, the work here is to ensure all our assemblies are targeting the same framework version e.g.:

Bring Orchestrator to 2.1
Bring all SDK assembly to 2.1

Other considerations:

There’ll also be some back-compat cost to consider.
Consider to might as well target a more modern platform per recommended  .NET versions

Adapters\Microsoft.Bot.Builder.Adapters.Facebook\Microsoft.Bot.Builder.Adapters.Facebook.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Slack\Microsoft.Bot.Builder.Adapters.Slack.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Twilio\Microsoft.Bot.Builder.Adapters.Twilio.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Twilio\Microsoft.Bot.Builder.Adapters.Twilio.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Webex\Microsoft.Bot.Builder.Adapters.Webex.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
AdaptiveExpressions\AdaptiveExpressions.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
integration\Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi\Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi.csproj:    <TargetFramework>net461</TargetFramework>
integration\Microsoft.Bot.Builder.Integration.AspNet.WebApi\Microsoft.Bot.Builder.Integration.AspNet.WebApi.csproj:    <TargetFramework>net461</TargetFramework>
Microsoft.Bot.Builder\Microsoft.Bot.Builder.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.AI.LUIS\Microsoft.Bot.Builder.AI.Luis.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.AI.Orchestrator\Microsoft.Bot.Builder.AI.Orchestrator.csproj:    <TargetFramework>netcoreapp3.1</TargetFramework>
Microsoft.Bot.Builder.AI.QnA\Microsoft.Bot.Builder.AI.QnA.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.ApplicationInsights\Microsoft.Bot.Builder.ApplicationInsights.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Azure\Microsoft.Bot.Builder.Azure.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Azure.Blobs\Microsoft.Bot.Builder.Azure.Blobs.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Azure.Queues\Microsoft.Bot.Builder.Azure.Queues.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs\Microsoft.Bot.Builder.Dialogs.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Adaptive\Microsoft.Bot.Builder.Dialogs.Adaptive.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Adaptive.Teams\Microsoft.Bot.Builder.Dialogs.Adaptive.Teams.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Adaptive.Testing\Microsoft.Bot.Builder.Dialogs.Adaptive.Testing.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Debugging\Microsoft.Bot.Builder.Dialogs.Debugging.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Declarative\Microsoft.Bot.Builder.Dialogs.Declarative.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.LanguageGeneration\Microsoft.Bot.Builder.LanguageGeneration.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.TemplateManager\Microsoft.Bot.Builder.TemplateManager.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Testing\Microsoft.Bot.Builder.Testing.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Configuration\Microsoft.Bot.Configuration.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Connector\Microsoft.Bot.Connector.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Schema\Microsoft.Bot.Schema.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Streaming\Microsoft.Bot.Streaming.csproj:    <TargetFramework>netstandard2.0</TargetFramework>
Parsers\Microsoft.Bot.Builder.Parsers.LU\Microsoft.Bot.Builder.Parsers.LU.csproj:    <TargetFramework>netstandard2.0</TargetFramework>

From: https://docs.microsoft.com/en-us/dotnet/standard/net-standard#which-net-standard-version-to-target
netstandard2.0 is contained within netstandard2.1
We recommend you target the lowest version of .NET Standard possible.

The higher the version, the more APIs are available to your library's code.
The lower the version, the more apps and libraries can use your library.

It seems odd to change the minimum requirements for the underlying sdk, because one consuming package has a higher minimum requirement.
Also, raising this to 2.1 in the sdk would be a braking change, and require a major version bump?

I think we can close this issue out, as we have discussed an R12 plan.  if we need to address this in R13, it will be part of a larger work item and we will track that with new tickets.

authors: EricDahlvang mrivera-ms scheyal sgellock

repo: microsoft/botbuilder-dotnet


text:
[QnAMakerDialog] CustomActivityGeneration

QnAMakerDialog today does not allow customization of the actual activity posted. We hard code this to response.First().Answer however this precludes the user from being able to e.g. post a card that includes additional information like confidence score etc.

Please rebase this against master, as it's showing 175 files changed.

authors: cleemullins vipeketi


text:
Fix skill tracing on skill invocation error and other enhancements

Added new SaveAllChanges(label) method to DSM that traces the snapshot, but only if memory has changed.
Changed DialogManager to use tracing SaveAllChanges(label)
Changed SkillDialog to use dsm.SaveAllChanges(label)
Make SendToSkill(dc based) so we can call dsm.SaveAllChanges(label)
Added proper event handling for post back
added proper EndOfConversation handling for post back (It was working only because of bug in BeginSkill.)
Add OnSkillResultAsync() to fix BeginSkill ResultProperty
fixes #3953
Add a bunch of comments, unit tests

Please rebase master against this before merging.

@tomlm, per our review, let's get master merged into this, and then we can merge.

@tomlm, please cleanup the ruleset changes so the comments are not deleted.

This seems to be stale, closing it.

authors: cleemullins gabog tomlm


text:
Fixes orchestrator x64 compilation and updates projects to use XUnit

Changes include:

Includes fixe made by @vishwacsena in #4434
Removed x64 configuration from solution.
Updated Orchestrator project to only target x64 and added TODO notes in the csproj so we remember to remove these settings once we support Any CPU.
Removed redundant settings and packages from Orchestrator.csproj
Migrated orchestrator tests to XUnit.

I tested an E2E sample in this branch and everything functions as expected. Thanks @gabog

authors: gabog vishwacsena


text:
Fix invalid cast exception when sending delay activities through cloud adapter

Fixes #7880
Description
The cloud adapter tried to cast a delay activity's value to int. Because the value is an object, all numbers are boxed and therefore cannot be unboxed and cast to a different numeric type using a normal cast operation. We need to use Convert.ToInt32 instead.
The problem was also present in the test adapter so I've fixed it there too. The problem was not present in the Bot Framework HTTP adapter, but for the sake of completeness I've included a test for it anyway. The problem was present in the allow-null-ID test adapter and I fixed it there because I saw that it's supposed to mimic the other adapters, but I didn't include a test for it because it's not part of a public library.
Specific Changes

Change (int) to Convert.ToInt32 in the cloud adapter, the test adapter, and the allow-null-ID test adapter
Clean up some using statements
Add delay tests

Testing

CloudAdapterTests.CloudAdapterDelay
BotFrameworkHttpAdapterTests.Delay
TestAdapterTests.TestAdapter_Delay

Pull Request Test Coverage Report for Build 248374

0 of 0   changed or added relevant lines in 0 files are covered.
21 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.06%) to 78.765%

Files with Coverage Reduction
New Missed Lines
%

/libraries/Microsoft.Bot.Builder/CloudAdapterBase.cs
21
69.3%

Totals

Change from base Build 247127:
-0.06%

Covered Lines:
17530

Relevant Lines:
22256

💛  - Coveralls

@johnataylor
@carlosscastro
@Virtual-Josh
@microsoft/botframework-sdk
Please review so this can be merged

authors: coveralls v-kydela


text:
SkillDialog saving state while receiving multiple quick-succession Typing activities leads to failed storage writes

Versions
SDK version 4.8.x to Latest
Describe the bug
SkillDialog attempts to save conversation state when all activities are forwarded to the skill.
https://github.com/microsoft/botbuilder-js/blob/b1a27a1a5b756660786ff086f10b9aab86a7692a/libraries/botbuilder-dialogs/src/skillDialog.ts#L264-L267
This means that informational but not necessarily actionable activities such as Typing activities trigger state saves.
Human Handoff scenario
Typing activities should continue to be forwarded to skill, in case the skill acts as a middleman and routes typing activities to a human agent who is speaking with the end-user.
E.g.
sequenceDiagram
    participant Customer's Web Chat
    Note right of Customer's Web Chat: Web Chat instance
is configured to send Typing activities
    participant Root bot
    participant Skill bot
    participant Human agent
    Customer's Web Chat-->>Root bot: Customer says:
 "Escalate to agent"
    Root bot-->>Skill bot: Begin handoff
    Skill bot-->>Human agent: Customer seeking agent
    Human agent-->>Customer's Web Chat: Human agent says
 "Hello, how can I help you today?"
    Note right of Customer's Web Chat: Customer begins typing for 12 seconds
    Customer's Web Chat-->>Root bot: Web Chat sends
a 3 second debounced Typing activities
to Root bot, etc.

Which leads to four attempts by the Root bot trying to save the state while trying to send four typing activities to the Skill bot.
These typing activities should be forwarded to the human agent, but there are no meaningful state changes in either bot whilst the customer is speaking to the agent.
Additionally, by saving state whilst sending Typing activities to storage can lead to 404s and/or 412s depending on the stoage provider.
Note: Loading state is still necessary as otherwise the root bot would not be able to send the Typing activity to the skill.
Additional context
Any changes needs to be ported to the other SDK languages as well.

Both DotNet and JS force a state save.  I wonder why because if no changes have been made to state, it wouldn't make sense to save in any case?

authors: stevengum tracyboehrer

repo: microsoft/botbuilder-js


text:
fix type annotation

Fixes 1458 but only for a single file. It'd be a good idea to scan all the code for other occurrences of the issue.
Description
VSCode's pylance complained about this, the message was:
List expression not allowed in type annotation
  Use List[T] instead

Specific Changes

Changed [str] to List[str] in the type annotation of get_suggestions_card()

@tracyboehrer Can we get some traction on this PR from the customer.

Replaced by #1491

authors: asdkant-ey srinaath tracyboehrer

repo: microsoft/botbuilder-python


text:
Add QnA maker followup prompts in ludown file.

Proposed Changes

Added feature to ludown package to add ID to QnA pair. Documentation included on how to achieve the same.
Added feature to add followup prompts to QnA pair based on ID(s). Documentation included on how to achieve the same.
Downgraded ludown package to V 1.3.3

Testing

Package has been tested by the team for whom the changes were requested and works fine.

 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: ShekharShiroor sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

authors: ShekharShiroor msftclas

repo: microsoft/botbuilder-tools


text:
After panning or zooming with touch, tracing does not always work

A team member will update this issue with more details soon.

This is your friendly Microsoft Issue Bot. I created this issue automatically as requested by a team member.

repo: microsoft/calculator


text:
Changing issue query to not use inner join

Summary of the pull request
This pull request fixes a bug (#141) on the Issues widget. See steps to repro in the issue page.
References and relevant issues
Detailed description of the pull request / Additional comments
What was happening is that a SQL query to get all the issues for an URL with a filter query had an inner join. This SQL query worked fine on the SQLite but the ORM was getting the Ids from the Query table instead of the Issues table, then, all the issues were with wrong Ids on the result of the query. So, the same SQL query was giving different results depending on where it was made.
Two avoid that, two possibilities were thought:

Be explicit on what fields we wanted in our SQL query response, instead of using a '*' to get everything: this sound correct but it can be hard for maintenance in the future if the table or the objects had any change.
Avoid using Inner Join at all and using a different query: better for maintenance and for leveraging the fact that our tables and objects have matching names for their field.

The second approach was chosen at the moment for the reasons explained.
Validation steps performed
PR checklist

[X] Closes #141
[ ] Tests added/passed
[ ] Documentation updated

This was a subtle tricky bug, I like using '*' for maintainability and moving forward we need to be careful that when using any query objects via Dapper we only ever have queries that either match the columns of the object exactly (explicitly) or only query that table as the solution here has done.

authors: dkbennett guimafelipe

repo: microsoft/devhomegithubextension


text:
PR validation times are too long

Currently, it takes ~35 minutes for all the required checks to complete.
Ideally, we would want to get this time to under 10 minutes.
Areas that we can improve:

[x] Remove unnecessary download of boost.
[ ] Move code-analysis to a new dedicated workflow (that skips the unit tests).
[x] Move performance tests to kernel CI/CD workflow (doesn't make sense to run them on a shared GitHub instance).

[ ] Move CodeQL pipeline to daily run on master.

Boost fix is addressed by #541

#543 Addresses the performance test move to kernel CI/CD pipeline.

#544 Split out the code analysis into it's own pipeline, but didn't show significant benefits.

repo: microsoft/ebpf-for-windows


text:
[DIRETTA@TV] Jannik Sinner Frances Tiafoe In Diretta Streaming Cincinnati Open Final Canale TV 19 agosto 2024

Sinner-Tiafoe: orario, diretta e dove vedere in tv il tennis live
Il tennista azzurro cerca il 5° titolo stagionale nonché il 2° nel circuito Masters 1000: dall'altra parte della rete il beniamino di casa
🔴IN DIRETTA▶ Jannik Sinner - Frances Tiafoe In Diretta Streaming
🔴IN DIRETTA▶ Jannik Sinner - Frances Tiafoe In Diretta Streaming
Dopo l'eliminazione ai quarti di Montreal Jannik Sinner ha trovato ritmo sul cemento veloce di Cincinnati e questa notte si giocherà il titolo contro il beniamino di casa Francis Tiafoe (numero 20 al mondo). Sinner arriva alla finale reduce da due grandi battaglie vinte al 3° set contro Rublev ma soprattutto la semifinale di 3 ore contro Zverev.
Lo stesso Sinner si è detto molto soddisfatto del suo gioco a conferma del feeling ritrovato tra campo e fisico: "Sono riuscito ad alzare il livello nei momenti importanti, questa è stata la mia forza. Ho avuto qualche momento di alto e basso, ma penso sia stata un’ottima partita di entrambi. Questa vittoria significa molto anche per quello che sto attraversando, sono contento in ogni caso di questo risultato, a prescindere da come andrà la finale. Sono migliorato a livello fisico, anche se dovrò essere più in forma per provare a vincere il titolo.
Ho provato a restare lì mentalmente: è stato un torneo molto difficile, sicuramente diverso, ma sono felice di ciò che sto facendo in campo“. Tiafoe arriva invece con la spinta del pubblico dopo la bella vittoria in rimonta contro Rune, il tennista americano fa del servizio e dell'esplosività le sue armi più efficaci oltre a quel trash-talking che nella semifinale di Vienna 2021 disturbò molto Sinner che perse una partita già vinta. Esperienza che però rafforzò il carattere dell'altoatesino che questa notte inseguirà il 5° titolo stagionale.
Sinner-Tiafoe: diretta tv e streaming La sfida tra Sinner ed Tiafoe, valida per la finale del Masters 1000 di Cincinnati in programma sul campo centrale del Lindner Family Tennis Center lunedì 19 agosto con inizio non prima delle 0:00 ora italiana. Sarà visibile in esclusiva in diretta su Sky Sport Uno (201), Sky Sport Tennis (canale 203) oltre alla piattaforma Now e l'app SkyGo.
Sinner-Tiafoe, i precedenti
Sinner e Tiafoe si sono affrontati 4 volte in carriera con il parziale degli scontri diretti che recita 3-1 per l'altoatesino. L'ultima sfida tra i due è stata vinta da Jannik ai quarti finale del torneo App 500 di Vienna nel 2023. I due si sono sempre affrontati sul veloce indoor.
A che ora gioca Sinner oggi contro Tiafoe in finale al Masters di Cincinnati: orario e programma
La finale del torneo di Cincinnati tra Jannik Sinner e Frances Tiafoe si giocherà martedì  20 agosto non prima delle 24, ora italiana. Il match non dovrebbe subire slittamenti di orari e si disputerà sul centrale dell'impianto americano.
Dove vedere Sinner-Tiafoe in tv e streaming
Dove vedere Sinner-Tiafoe in TV? La partita valida per la finale del torneo Masters 1000 di Cincinnati si potrà seguire in diretta esclusiva su Sky, senza possibilità dunque di una trasmissione in chiaro. Il match si potrà vedere su Sky Sport Uno o Sky Sport Tennis. per quanto riguarda lo streaming, si potrà seguire sull'app Sky GO riservata agli abbonati Sky. Diretta anche su NOW, piattaforma live on demand.

LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis
LINK>> https://expresssportshub.store/tennis

repo: microsoft/fhir-server


text:
Updates gitversion config

Description
Minimizes Gitversion config, some settings are causing the version to increment incorrectly
Related issues
Addresses [issue #].
Testing
The build is the test :D
FHIR Team Checklist

[ ] Update the title of the PR to be succinct and less than 50 characters
[ ] Add a milestone to the PR for the sprint that it is merged (i.e. add S47)
[ ] Tag the PR with the type of update: Bug, Dependencies, Enhancement, or New-Feature
[ ] Tag the PR with Azure API for FHIR if this will release to the managed service
Review squash-merge requirements

Semver Change (docs)
Skip

The build is the test :D

And the build failed :D


text:
fix: Combobox: Height Attribute not working as expected or my misunderstanding???

🐛 Bug Report
As provided in the documentation attribute Height in Combobox Component sets the height of the component or of the of the popup panel.
<FluentCombobox Height="5" Id="combobox-with-both-autocomplete" Autocomplete="ComboboxAutocomplete.Both" @bind-Value="@comboboxValue" TOption="string">     <FluentOption>William Hartnell</FluentOption>     <FluentOption>Patrick Troughton</FluentOption>     <FluentOption>Jon Pertwee</FluentOption>     <FluentOption>Tom Baker</FluentOption>     <FluentOption>Peter Davidson</FluentOption>     <FluentOption>Colin Baker</FluentOption>     <FluentOption>Sylvester McCoy</FluentOption>     <FluentOption>Paul McGann</FluentOption>     <FluentOption>Christopher Eccleston</FluentOption>     <FluentOption>David Tenant</FluentOption>     <FluentOption>Matt Smith</FluentOption>     <FluentOption>Peter Capaldi</FluentOption>     <FluentOption>Jodie Whittaker</FluentOption> </FluentCombobox>
😯 Current Behavior
No changes are seen on the screen and the popup panel's height is not shortened.

Blazor WASM .NET 7
Fluent UI 3.0.1

The Height property is associated to the CSS height property. You must therefore define a unit after your value.
Example:
<FluentCombobox Id="combobox"
                Items="@Data.Hits"
                @bind-Value="@hit"
                Height="200px" />

This example come from the FluentUI-Blazor.net Documentation

Thanks a lot, seems working now.

authors: dvoituron patelyahya

repo: microsoft/fluentui-blazor


text:
Introduction to Generative AI and LLMs [Spanish Translation]

This issue is to translate this lesson Introduction to Generative AI and LLMs into spanish.
The structure of the translation should follow other translations like https://github.com/microsoft/workshop-library/tree/main/full/intro-nlp-tensorflow/translations

thank you @Marcelasabogue for taking this one!

repo: microsoft/generative-ai-for-beginners


text:
Add support for values that are collections/arrays in application/x-www-form-urlencoded

We can add support by adding a key-value pair for each item in the collection. As per the HTML specification, the data model is a list of name-value tuples https://url.spec.whatwg.org/#urlencoded-serializing
There is no requirement for the name to be unique. This allows us to represent arrays by repeating the key name for each array value.
Support for this in the writer is significantly more important than in the reader as forms are used far more for sending than returning data.
I created an issue for .NET here https://github.com/microsoft/kiota-serialization-form-dotnet/issues/15

Added a comment to refer to this issue in
#2074
#2075
#2076
#2077
Created issues in TypeScript, Java and Go since this is already implemented.
Closing since their is nothing to do on the generation side.

So, for c#, is this not working currently or it is? Because when I try to generate a client using a schema that has application/x-www-form-urlencoded and parameters with type set as array, i get the following warning.
warn: Kiota.Builder.KiotaBuilder[0]
OpenAPI warning: #/paths/~1reports~1deal_time_to_close/post - The operation postReportsDealTimeToClose has a request body which is not an object type. This is not supported by Kiota and serialization will fail.
        "produces": [
          "application/json"
        ],
        "consumes": [
          "application/x-www-form-urlencoded"
        ],
        "parameters": [
          {
            "in": "formData",
            "name": "filters[created_at][]",
            "description": "Filter deals by created_at (accepts min/max unix timestamps i.e [1698084670, 1698105600]",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "required": false
          }
        ],

This should be working properly.
Maybe the in form data is not being translated properly by the parsing library to body and that's throwing kiota off?
Can you open a new issue so we can have a conversation please?

This should be working properly. Maybe the in form data is not being translated properly by the parsing library to body and that's throwing kiota off? Can you open a new issue so we can have a conversation please?

Done #3569

authors: baywet darrelmiller johnwc

repo: microsoft/kiota


text:
Control generated class access modifier for C#

Add --class-access-modifier flag.
Fixes #4788.

@microsoft-github-policy-service agree

Enum support is still missing,
Please review if the current solution makes sense.


text:
Support trailing slash in URL paths

Fixes #4291
Nearly all language-specific writers support parameterized paths that have a trailing slash. The TypeScript writer does correctly write the request builder files but because it writes to index.ts rather than to a filename based on the request builder like the other writers, there is a conflict when a code namespace has more than one code file.
When the spec has paths like /{foo} and /{foo}/, kiota writes the first request builder correctly then overwrites it with the second request builder.
The first commit addresses this in the TypeScript refiner by detecting when the code namespace has more than one code file and merging them all into one.
However, this creates a new problem because the request metadata generator only selects the first UriTemplate. With the code files merged, there are multiple UriTemplate elements so one of the request metadata constants would have the wrong UriTemplate.
The second commit addresses this by taking advantage of how the UriTemplate property is unused in a CodeConstantKind.RequestsMetadata code constant and sets it to match the expected name of the correct UriTemplate. The request metadata generator can then use this now-populated property to find the correct UriTemplate.
Unfortunately, this creates a hidden coupling with how UriTemplates are named but it appears to be unavoidable.
Like the first issue, non-parameterized paths that have a trailing slash also result in conflicts. However, the conflict is earlier in the process so it affects all languages.
When the spec has paths like /foo and /foo/, kiota resolves both nodes (segments foo and foo\\ respectively) to the same name which causes a lot of problems later, resulting in broken generated code.
The third commit addresses this by changing how slashes are cleaned up so that the foo segment still results in foo but the foo\\ segment results in fooSlash. This also changes the naming of code elements like foo\\RequestBuilder from fooRequestBuilder to fooSlashRequestBuilder.
I'm not completely happy with this third commit because the trailing slash will now leak into the code element names and files. However, with my shallow understanding of the project, I'm not seeing a better way without messier changes.

Thanks for the feedback!

if we have both /foo/bar/ and /foo/{id} what happens? what about /foo/ and /foo?

For a minimal spec containing /foo/bar/ and /foo/{id}, the main[^1] branch of kiota generates the following because bar/ and {id} are not collapsed:
├── apiSdk.ts           # main entry point contains `get foo()`
├── foo
│   ├── bar
│   │   └── index.ts    # UriTemplate is "{+baseurl}/foo/bar/"
│   ├── item
│   │   └── index.ts    # UriTemplate is "{+baseurl}/foo/{id}"
│   └── index.ts        # UriTemplate is "{+baseurl}/foo"
│                       # RequestBuilder contains `byId(id: string)` and `get bar()` and the standard
│                       # NavigationMetadata contains `byId` and `bar`
├── kiota-lock.json
└── models
    └── index.ts

For a minimal spec containing /foo/ and /foo, the main[^1] branch of kiota generates
├── apiSdk.ts       # main entry point contains `get foo()`
├── foo
│   └── index.ts    # only has 1 UriTemplate "{+baseurl}/foo/"
│                   # RequestBuilder contains the usual `get(requestConfiguration)` and `toGetRequestInformation(requestConfiguration)`
│                   # RequestsMetadata contains 2 entries for `get` with the exact same contents
├── kiota-lock.json
└── models
    └── index.ts

/foo/index.ts
export const FooRequestBuilderRequestsMetadata: RequestsMetadata = {
    get: {
        uriTemplate: FooRequestBuilderUriTemplate,
        responseBodyContentType: "text/plain;q=0.9",
        adapterMethodName: "sendPrimitive",
        responseBodyFactory:  "string",
    },
    get: {
        uriTemplate: FooRequestBuilderUriTemplate,
        responseBodyContentType: "text/plain;q=0.9",
        adapterMethodName: "sendPrimitive",
        responseBodyFactory:  "string",
    },
};

Can we start by identifying patterns where the trailing slash in the URI template is problematic?
Any other pattern we should be careful about?

I have started this and it turns out that there are some edge cases I had not considered. I'll post another comment once I have a report for you, likely in the form of a GitHub repo so we can browse and discuss differences and desired state between the generated results.
I've put this PR back into a draft state for now.
[^1]: main specifically being 6c4376e08

Thanks for the detailed answer here! I think this and your next answer will help flesh things out to an improved solution.

@chelkyl gentle nudge on the topic :)

Thanks for the poke! Please see the report here.
Highlights:

Test URI Paths
TypeScript kiota main Results
Python kiota main Results

          File: 6.yaml
          /foo
          /foo/

          🚫
          has only 1 uri template
          has /foo/ but missing /foo
          weirdly, some comments reference /foo/ and others /foo
          RequestsMetadata has duplicate "get" property

          🚫
          almost completely correct
          has /foo/ but missing /foo

          File: 7.yaml
          /foo/
          /foo

          🚫
          almost same as 6
          only difference is comments have reversed which route they refer to

          🚫
          almost completely correct
          has /foo but missing /foo/
          however, help doc references /foo/

          File: 8.yaml
          /foo/
          /foo/bar

          🚫
          missing /foo/

          🚫
          missing /foo/

          File: 9.yaml
          /foo/
          /foo/bar/

          🚫
          same as 8
          missing /foo/

          🚫
          same as 8
          missing /foo/

          File: 14.yaml
          /{path}
          /{path}/

          🚫
          missing /{path}/

          ✅
          /{path} and /{path}/ are handled separately

          File: 15.yaml
          /{path}/
          /{path}

          🚫
          missing /{path}

          ✅
          same as 14

          File: 17.yaml
          /{path}/
          /{path}/{id}

          🚫
          missing /{path}/
          NavigationMetadata uses a RequestsMetadata value that was not imported

          ✅

authors: baywet chelkyl


text:
Idea: prepare predictions for edge DCT coefficients during decoding of previous blocks and of current 7x7 block

As for DC coef prediction, predictors for edge DCT coefficients can also be calculated during block IDCT (they are partial IDCT anyway), and stored inside NeighborSummary like edge_pixels_v/_h. These predictors are sums of dot products of dequantized coefs from above/left block with the same dot products from current block - dot products can be calculated for current block and used further in decoding of blocks below/to the right.

Cool idea... as long as all the rounding etc is identical so the format doesn't break

It works, but no performance improvement yet - I'll vectorize and see what happens.

Got the changes merged, so you can share your branch if you want

It is here https://github.com/Melirius/lepton_jpeg_rust/tree/fasterjpeg_simd_variation, but I had not enough time to polish it and get it faster

If you get a chance to merge with main... It's a hard to tell what changes are relevant. I tried it but it was a bit of a mess. Thanks!

authors: Melirius mcroomp


text:
webview2 flicking

My microsoft edge webview2 runtime upgrade to 129.0.2792.52, and when create the webview2 instance there may be a white window flicking and close quickly.
The problem reproduction easily, just open the winui3 gallery app and switch to the webview2 demo page.
Here are my reproduction captures bellow:

We are seeing this same issue. There is a sample project https://github.com/stegru/webview-poc which demonstrates the issue

I can also verify that I saw this in the WinUI Gallery app 2.4.3 on 23H2 22631.4169 when switching to the WebView2 page, there's a briefest flash of a window.

I have the same issue, every time it starts it opens a window and closes in milliseconds.

I've encountered this issue in my project as well, and I also saw it reproduced in the WinUI 3 Gallery

Minimal code required:
WebView2 webView2 = new WebView2();
webView2.EnsureCoreWebView2Async();

webView2.EnsureCoreWebView2Async().AsTask().Wait(); will let the phantom window remain (due to the expected deadlock).

Also having this issue while using MAUI, there is also an issue over there for this.
https://github.com/dotnet/maui/issues/24933

Can verify too

Here is the issue on Webview2 GitHub:
https://github.com/MicrosoftEdge/WebView2Feedback/issues/4834

Here is the issue on Webview2 GitHub: MicrosoftEdge/WebView2Feedback#4834
Looks like it affects more than just WinUI and is at its root a WebView2 issue.

It seems to be a very obvious excepiton.
I wonder if there is no qa work in MS.

There was a workaround posted in the WebView2 issue:
https://github.com/MicrosoftEdge/WebView2Feedback/issues/4834#issuecomment-2381904393
Environment.SetEnvironmentVariable("WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS", "--window-size=0,0 --window-position=20000,20000");

Thanks for linking to the Edge issue and workaround, @NicholasChrzan! It certainly looks like the WebView2Runtime issue described in MicrosoftEdge/WebView2Feedback#4834, so I'm closing this bug.

authors: DmitriyKomin ITaluone NicholasChrzan NikolaiKobzev RuddyOne Zulu-Inuoe andresledo michael-hawker stegru vzhilong

repo: microsoft/microsoft-ui-xaml


text:
Kicked out of fullscreen on AppSDK 1.6

Describe the bug
I upgraded to AppSDK 1.6 and my app would not go fullscreen (Boarderless).
Specifically this is a problem when the task bar is "minimized" (one or two pixels). There is no problem when the task bar is fixed.
If you already are in fullscreen, then AudioGraph.CreateDeviceInputNodeAsync will cause the 2 pixels of the minimized task bar to be shown.
If first you call AudioGraph.CreateDeviceInputNodeAsync then after that you are unable to go fullscreen. The 2 pixels of the minimized task bar will still be there.
Steps to reproduce the bug
I have made a MRE with a fullscreen button, and a button that calls AudioGraph.CreateDeviceInputNodeAsync
https://github.com/tom-huntington/SetWindowLongMRE
NuGet package version
Windows App SDK 1.6.1: 1.6.240923002
Packaging type
Packaged (MSIX)
Windows version
Windows 11 version 21H2 (22000)
IDE
Visual Studio 2022
Additional context
Previously to upgrading to 1.6 the debugger did not break of exceptions in SetWindowLong. After upgrading it breaks on exceptions in SetWindowLong. (Its removing WS_CAPTION that causes the exceptions)
(Edit This is the behaviour when launching F5/ctrl+F5. When starting from start menu it wont go fullscreen at all)

Its only a problem with the Win32 APIs. The AppSDK API works fine
AppWindow.SetPresenter(Microsoft::UI::Windowing::AppWindowPresenterKind::FullScreen);

I wonder what AppWindow.SetPresenter is doing differently?

The Top Window is being changed by AudioGraph.CreateDeviceInputNodeAsync and after it is called I am unable make my window the Top Window again.
auto top_hwnd = GetTopWindow(nullptr);
assert(top_hwnd == hwnd);
auto deviceInputNodeResult = co_await m_audioGraph.CreateDeviceInputNodeAsync(winrt::Windows::Media::Capture::MediaCategory::Media);

auto top_hwnd2 = GetTopWindow(nullptr);
assert(top_hwnd2 != hwnd);
char windowTitle[256]; // Default IME
int length = GetWindowTextA(top_hwnd2, windowTitle, sizeof(windowTitle));


text:
TabView: Close button of tab items shows item header on hover

Describe the bug
When hovering over a TabView item's close button, the displayed tooltip reads the content of the item header. Instead, the displayed content should match that of Edge UWP/Edge Chromium:

Steps to reproduce the bug

Open the XAML Controls Gallery
Go to the TabView page
Hover over the close button of a tab item. Observe that the tooltip displays the item's header content.

Expected behavior
The displayed tooltip should look like this:

Version Info

NuGet package version:

Microsoft.UI.Xaml 2.4.0-prerelease.200203002
Microsoft.UI.Xaml 2.3.200213001

Additional Info
I would like to give this one a try with help from the team. To set expectations straight: I'm an absolute beginner at C++ and C++/WinRT. I already did some testing and changing the tooltips to display Close tab doesn't seem to be much of an issue (basically looked at TeachingTip's close button for guidance). Adding the keyboard accelerator to the tooltip content is where I will likely need some help. I have a local commit ready with the changes above and a hint of how I would possibly add the keyboard accelerator string.

@stmoy Does this sound reasonable to you ?

Seems righteous to me! I believe the current ToolTip comes from the tab itself (ie. the x-to-close button doesn't have its own tooltip), but I think matching the behavior of Edge seems like a good thing to do.

@stmoy Correct. I had to add a tooltip specifically for the tab close button. Without that, the tooltip shown is the tab tooltip, i.e. [SecondTab] if that's the header of the tab (see pic above).

Close button should show close <tabName> tab text while the tab tool tip should show <tabName/tabTitle> itself. here, tabName should be a short 64char limited friendly identifier (e.g.: domain name part of the url, friendly short name, etc...) and tabTitle can be anything the user/app sets it to (e.g.: page title in the case of web page).
I prefer this kind of behaviour.

authors: Felix-Dev Nirmal4G ranjeshj stmoy