text:
Replace current about dialog with settings page

Problem Statement
Calculator currently does not have a settings page, which will block future work. The current about dialog is also inconsistent with many other Microsoft apps.
Evidence or User Insights
Many suggested features have suggested adding options in settings (#538, #486, #485, #393, #382, #215), and while we have not accepted all of these pitches, it is inevitable that there will be functionality requiring settings UX.
Proposal
Replace current about dialog with settings page.
Goals

Replace current about dialog with settings page
Be consistent with settings UX patterns established in other Microsoft apps
Add basic theme selection option common across many other apps

Non-Goals

Add any additional options at this time

Low-Fidelity Concept

Requested Assignment
I'm just suggesting this idea.  I don't want to implement it.

This is your friendly Microsoft Issue Bot. I've seen this issue come in and have gone to tell a human about it.

https://github.com/microsoft/calculator/issues/114

It looks like the pitch for #114 was accepted. I think the idea with that one is that we would just always preserve input between modes (without a setting).

Thanks for putting these together! They are pretty spot on with what I had in mind. A few bits of feedback:
I can't quite tell from the mockup if "Settings" is the same heading level as "App Mode", but I imagine we would want to establish clear hierarchy here (especially when we start adding more settings). For reference, many other apps leverage TitleTextBlockStyle for section headers.
Also, for consistency with other apps, the bottom section should have an "About this app" section header. We'll also want to tighten up the vertical spacing and horizontal alignment a bit in this section:

Courtesy XAML Studio

Generic Code Segment
```xaml

</details>

Just telling everyone, I'm working on this (and #486 since those two are similar)

And how do I change the theme?

@mdtauk How did you create that concept? Did you do it with the code? If so, would you please share the code in MainPage with me? I'm creating the spec. Thanks!

I'm afraid it's just a graphic mock up.
I did put the app into a debugger, and used the live visual tree to hide the controls to get a blank screen.

Alright. Thanks anyways.

@mdtauk, I made a couple tweaks based on your mock, so I would appreciate any feedback you have on the spec.
@Chips1234, once microsoft/calculator-specs#24 is approved, it is all yours to implement, if you are still interested!

Ah, thank you!

Also, since you’re there, can you comment on my spec? Thanks

Alright. I’ll start work on this. Thanks!

The only thing is, I still can't figure out the part about the entry point: return mode == ViewMode::Settings; that code is in MainPage.cpp (since the footer is constructed there and not in NavCategory) but it does not seem to return Settings

I uploaded a branch for the full code that I'm having trouble with. Take a look here at this branch.

@grochocki? (Sorry for the mention but I need a quick answer)

@sanderl Could you help? Thanks!

@Chips1234, I've pulled the branch you have created and I'm trying out some changes. I'll let you know what I figure out.

@sanderl. Great, thanks!

@Chips1234, Ok, I got it work so that it can navigate to the page. You need to update OnSettingButtonClick to assign the Model->mode value like this:
void MainPage::OnSettingsButtonClick(Object ^ sender, ItemClickEventArgs ^ e, ViewMode /mode/)
{
Model->Mode = ViewMode::Settings;
}
static const list s_categoryManifest to include a new entry for settings like this (the icon needs to be updated):
NavCategoryInitializer{ ViewMode::Settings,
SETTINGS_ID,
L"Settings",
L"CategoryName_Settings",
L"\uF515",
CategoryGroupType::None,
MyVirtualKey::None,
nullptr,
false,
true }
When I tested this out, it is navigating to a blank page which is expected because there is no content in the Settings.xaml.

Thanks for the help!

From: Stephanie Anderl notifications@github.com
Sent: Wednesday, August 5, 2020 1:34:09 PM
To: microsoft/calculator calculator@noreply.github.com
Cc: Eric Tian tian.eric@hotmail.com; Mention mention@noreply.github.com
Subject: Re: [microsoft/calculator] Replace current about dialog with settings page (#596)
@Chips1234https://github.com/Chips1234, Ok, I got it work so that it can navigate to the page. You need to update OnSettingButtonClick to assign the Model->mode value like this:
void MainPage::OnSettingsButtonClick(Object ^ sender, ItemClickEventArgs ^ e, ViewMode /mode/)
{
Model->Mode = ViewMode::Settings;
}
static const list s_categoryManifest to include a new entry for settings like this (the icon needs to be updated):
NavCategoryInitializer{ ViewMode::Settings,
SETTINGS_ID,
L"Settings",
L"CategoryName_Settings",
L"\uF515",
CategoryGroupType::None,
MyVirtualKey::None,
nullptr,
false,
true }
When I tested this out, it is navigating to a blank page which is expected because there is no content in the Settings.xaml.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/calculator/issues/596#issuecomment-669489465, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALKX3RRZHNB5RBXIERDFT2TR7G64DANCNFSM4IFBP5SA.

@sanderl One last question, in SettingsPage.cpp I tried:
void SettingsPage::ThemeRadioButtonChecked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
{
    if (SettingsLightTheme->IsChecked)
    {
        Application.RequestedTheme = 1;
    }
}

as the doc says, but it does not seem to work.

We have replaced the about dialog with settings page in https://github.com/microsoft/calculator/pull/1618. The new Calculator supports to change the app theme without restarting the app. 😎

authors: Chips1234 MicrosoftIssueBot grochocki hanzhang54 mdtauk sanderl skyanchor

repo: microsoft/calculator


text:
Mithun/load-test-aad

Change Description

Please include a summary of the changes.

Linked GitHub Issue

Link to any related github issue number (e.g. #56).

Fixes # (issue)
Checklist
Please check all options that are relevant.

[ ] I have made all necessary updates to the documentation.
[ ] I have made all necessary updates to the provisioning scripts (bicep templates, github workflows).
[ ] This is not a breaking change.

Discarding this PR

source: gharchive/pull-request

repo: microsoft/contosotraders-cloudtesting

license: MIT

license_type: permissive

license_source: github-api


text:
The examples provided for filterByHeaders do not work

Type of issue
Code doesn't work
Feedback
The following sample JSON configuration provided in the documentation does not work
"filterByHeaders": {
    "x-contoso": "contoso-intranet"
  }

When I changed it to the following it worked
"filterByHeaders": [
    {
      "name": "x-app",
      "value": "contoso-intranet"
    }
  ]

I am using schema https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.21.0/rc.schema.json.
Page URL
https://learn.microsoft.com/en-us/microsoft-cloud/dev/dev-proxy/how-to/intercept-requests-specific-headers
Content source URL
https://github.com/MicrosoftDocs/microsoft-cloud/blob/main/docs/dev/dev-proxy/how-to/intercept-requests-specific-headers.md
Author
@waldekmastykarz
Document Id
4bd540b0-592b-bc00-f53d-dd3d2ebd6ec7

Sorry for the trouble. Glad you figured it out. We'll fix it right away.

The fix PR has been merged and the changes should be visible in the next few hours. Once again, thank you for letting us know that something was wrong. We appreciate your help.

source: gharchive/issue

repo: microsoft/dev-proxy


text:
Extension not found when trying to sign-in

Dev Home version
0.601.285.0
Windows build number
10.0.22621.2428
Other software
OS Build Version: 10.0.22621.2428.amd64fre.ni_release.220506-1250
.NET Version: .NET 6.0.22
Steps to reproduce the bug
Go to Settings>Accounts>Add Account. I have an extension that requires an account.
Expected result
It should let us add our account because we have an extension that requires an account.
Actual result
It said there were no extensions that required an account.
Included System Information
Physical Memory: 11.89GB (1.61GB free)
Processor Architecture: x64
Included Extensions Information
Extensions:
Microsoft.Windows.DevHomeGitHubExtension_0.600.283.0_x64__8wekyb3d8bbwe
Microsoft.Windows.DevHome_0.601.285.0_x64__8wekyb3d8bbwe

Can you make it so that anybody can link their account, without having an extension that requires an account?

It says "No extensions found
Install a Dev Home extension that uses your developer account, then sign in to add the account.

I'm sorry, I misunderstood the original question.
Did you disable the extension before trying to log in with it? Disabling the extension would cause Dev Home to act like no extension is installed and show that message.

No, I didn't disable the extension.

@vineeththomasalex Can you take this?

/logs

TheLogs:https://1drv.ms/f/s!Aqq-Je19xlrfhGdaqODLtf4LHSxB?e=BTycUZ

[2023-10-19 04:46:17.4796][DevHome] ERROR: Failed to get IDeveloperIdProvider provider from 'Dev Home GitHub Extension (Preview)'
System.ArgumentNullException: Value cannot be null. (Parameter 'o')
at System.Runtime.InteropServices.Marshal.GetIUnknownForObject(Object o)
at DevHome.Models.ExtensionWrapper.b__31_0()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at DevHome.Models.ExtensionWrapper.StartExtensionAsync()
at DevHome.Models.ExtensionWrapper.GetProviderAsyncT
at DevHome.Services.AccountsService.GetDevIdProviders()
This is very likely a symptom of the Extension crashing.

So, how do I fix this?

In the new build #1945 happens.

Duplicating to #1945

Not duplicate. That happens in the new build and this doesn't.

authors: krschau skanda890 vineeththomasalex

repo: microsoft/devhome


text:
Github account

Dev Home version
0.137.141.0
Windows build number
10.0.22621.1778
Other software
OS Build Version: 10.0.22621.1778.amd64fre.ni_release.220506-1250
.NET Version: .NET 6.0.16
Steps to reproduce the bug
Go to Settings, Account & Login to Github
Expected result
Fix this problem, becauce i can't login to my Github account when i click Login button
Actual result
The result is very bad
Included System Information
CPU: Intel(R) Celeron(R) N4020 CPU @ 1.10GHz
Physical Memory: 3.83GB (1.09GB free)
Processor Architecture: x64
Included Extensions Information
Extensions:
Microsoft.Windows.DevHome_0.137.141.0_x64__8wekyb3d8bbwe
Microsoft.Windows.DevHomeGitHubExtension_0.137.141.0_x64__8wekyb3d8bbwe

It works, but after authentication, it doesn't switch directly to the Dev Home app

Success. Thanks Microsoft✨

Terima Kasih😎

Duplicate of #472

authors: krschau rifkitech


text:
Dark Mode Feature Not Working Correctly

Dev Home version
0.137.141.0
Windows build number
10.0.22621.1778
Other software
OS Build Version: 10.0.22621.1778.amd64fre.ni_release.220506-1250
.NET Version: .NET 6.0.16
Steps to reproduce the bug

go to settings
go to preferences
select dark mode

Expected result
I was expecting for the text to change from black to white.
and for background color from white to any dark color
Actual result
only the text changed from black to white but the background stayed on the same color. nothing changed
Included System Information
CPU: 12th Gen Intel(R) Core(TM) i7-12700H
Physical Memory: 15.75GB (9.52GB free)
Processor Architecture: x64
Included Extensions Information
Extensions:
Microsoft.Windows.DevHomeGitHubExtension_0.137.141.0_x64__8wekyb3d8bbwe
Microsoft.Windows.DevHome_0.137.141.0_x64__8wekyb3d8bbwe

Duplicate of #511


text:
Fix typo in IPCSetup.cs

Summary of the pull request
Fixed typo.
References and relevant issues
Detailed description of the pull request / Additional comments
occuring -> occurring
Validation steps performed
PR checklist

[ ] Closes #xxx
[ ] Tests added/passed
[ ] Documentation updated

/azp run

/azp run

/azp run

authors: asklar crutkas eltociear


text:
Save custom tag values during STOW

AB#78176

Will seperate into 2 small PR for easier code review

repo: microsoft/dicom-server


text:
Speedup ebpf_handle_table_terminate by avoiding acquire/release of lock

Description
Replace calls to ebpf_handle_close, which acquired and released the handle table lock each time an emulated handle was closed, with a lock acquire and close on each valid handle.
Testing
CI/CD
Documentation
No.
Installation
No.

Before:

After:

Before:
After:

Wow - is this a unit test for this handle table specifically, or all unit tests are accelerated by this?

Before:
After:

Wow - is this a unit test for this handle table specifically, or all unit tests are accelerated by this?

This affects every single unit test, adding a few hundred ms delay to it. It ends up modifying thread priority and affinity 1024*2 times per each test, which adds up fast.

@Alan-Jowett  please check unit test failure that caused this to be removed from the merge quee

authors: Alan-Jowett dthaler mtfriesen

repo: microsoft/ebpf-for-windows


text:
Sql server can't process resource for custom search parameter.

Describe the bug
If there is two or more instances of fhir-server adding search parameter to resource can lead to other instances of fhir-server would fail to process resources for that search parameter.
SqlServerFhirModel has a private Dictionary<Uri, short> _searchParamUriToId; which contains mapping of searchParameter to it's id in sql server.
Currently only place which update this mapping is UpsertStatuses in SqlServerSearchParameterStatusDataStore which we call during UpdateSearchParameterStatusAsync in SearchParameterStatusManager.
Which works for fhir-server instance which accepting Post request to add search parameter.
If we syncing search parameters via GetAndApplySearchParameterUpdates in SearchParameterOperations we don't call that operation.
In case if resource get posted and we already synced search parameters we will extract search indices and will try to save them to database. To save them to database we need mapping between url of search parameter and it's id in db. For fhir-server instances which didn't process original post request that dictionary wouldn't have mapping and fails with following exception:
The given key 'http://hl7.org/fhir/SearchParameter/Patient-917dd1e1bf838a9c5893706650d088c6f1ff' was not present in the dictionary.
/repo/src/Microsoft.Health.Fhir.SqlServer/Features/Storage/TvpRowGeneration/BulkSearchParameterRowGenerator.cs: 51
FHIR Version?
Stu3/R4/R5
Data provider?
SQL Server
To Reproduce
Steps to reproduce the behavior:
1.
2.
3.
Expected behavior
We can post resource for new search parameter.
Actual behavior
We can't post resource for new search parameter.

AB#82454

repo: microsoft/fhir-server


text:
Stored procedure to acquire reindex jobs

Description
Added a stored procedure to acquire any queued or stale reindex jobs present in the (Cosmos Db) datastore. The stored procedure updates the job status to Running before returning.
TODO: Add Uts
Related issues
Addresses [issue AB#73391].
Testing
Tested functionality using a locally deployed fhir-server.

Is there a good way to test contention between two different threads attempting to acquire the same job?

Added an integration test that tests this scenario.


text:
docs: how to change border style on cards

I'd like to highlight certain FluentCard instances by changing the border to be the accent color, but I can't seem to get it to work.
I see the underlying web components use elevation (for the border width), but I can't figure out how to use that or change the color.
Any clues?

Nevermind: <FluentCard Style="border: 1px solid red" ...

authors: kzu vnbaaij

repo: microsoft/fluentui-blazor


text:
1

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

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

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

import random
import os
print("1.شبه ثلاثي بـ(-)")
print("2.شبه ثلاثي(.)")
print("3.شبه ثلاثي عشوائي")
print("4.مخصص")
sa = input("اختار:")
os.system("COLOR A")
if sa == "1":
print("مكانها؟")
print("1| (_***)")
print("2| (*_**)")
print("3| (**_*)")
print("4| (***_)")
da = input("اختار:")
if da == "1":
    uesr = '_'  # اليوزر المراد التخمين عليه بين النقطتين اكتبه
    chars2 = 'qwertyuiopasdfghjklzxcvbnm0123456789'  # ارقام واحرف لو ترغب
    amount = input('كم عدد اليوزرات ؟')
    amount = int(amount)

    length2 = 3
    length2 = int(length2)

    for password in range(amount):
        password = ''

        for item in range(length2):
            password = ''
        for item in range(length2):
            password += random.choice(chars2)
        bb= uesr + password
        print(bb)
        with open('user.txt', 'a') as x:
            x.write(bb + '\n')
if da == "2":
    uesr = '_'  # اليوزر المراد التخمين عليه بين النقطتين اكتبه
    chars2 = 'qwertyuiopasdfghjklzxcvbnm0123456789'  # ارقام واحرف لو ترغب
    amount = input('كم عدد اليوزرات ؟')
    amount = int(amount)

    length2 = 3
    length2 = int(length2)

    for password in range(amount):
        password = ''

        for item in range(length2):
            password = ''
        for item in range(length2):
            password = random.choice(chars2)
        for item in range(2):
            password1 = ''
        for item in range (2):
            password1 += random.choice(chars2)
        ba = password + uesr + password1

        print(ba)
        with open('user.txt', 'a') as x:
            x.write(ba +'\n')

if da == "3":
    uesr = '_'  # اليوزر المراد التخمين عليه بين النقطتين اكتبه
    chars2 = 'qwertyuiopasdfghjklzxcvbnm0123456789'  # ارقام واحرف لو ترغب
    amount = input('كم عدد اليوزرات ؟')
    amount = int(amount)

    length2 = 3
    length2 = int(length2)

    for password in range(amount):
        password = ''

        for item in range(2):
            password = ''
        for item in range(2):
            password += random.choice(chars2)
        for item in range(1):
            password1 = ''
        for item in range(1):
            password1 += random.choice(chars2)
        bd = password + uesr + password1

        print(bd)
        with open('user.txt', 'a') as x:
            x.write(bd + '\n')
if da == "4":
    uesr = '_'  # اليوزر المراد التخمين عليه بين النقطتين اكتبه
    chars2 = 'qwertyuiopasdfghjklzxcvbnm0123456789'  # ارقام واحرف لو ترغب
    amount = input('كم عدد اليوزرات ؟')
    amount = int(amount)

    length2 = 3
    length2 = int(length2)

    for password in range(amount):
        password = ''
        for item in range(3):
            password = ''
        for item in range(3):
            password += random.choice(chars2)

        bc= password + uesr

        print(bc)
        with open('user.txt', 'a') as x:
            x.write(bc + '\n')

if sa == "2":
print("مكانها؟")
print("1| .")
print("2| *.")
print("3| **.")
print("4| ***.")
da = input("اختار:")
if da == "1":
uesr = '.'  # اليوزر المراد التخمين عليه بين النقطتين اكتبه
chars2 = 'qwertyuiopasdfghjklzxcvbnm0123456789'  # ارقام واحرف لو ترغب
amount = input('كم عدد اليوزرات ؟')
amount = int(amount)
    length2 = 3
    length2 = int(length2)

    for password in range(amount):
        password = ''

        for item in range(length2):
            password = ''
        for item in range(length2):
            password += random.choice(chars2)
        bb= uesr + password
        print(bb)
        with open('user.txt', 'a') as x:
            x.write(bb + '\n')
if da == "2":
    uesr = '.'  # اليوزر المراد التخمين عليه بين النقطتين اكتبه
    chars2 = 'qwertyuiopasdfghjklzxcvbnm0123456789'  # ارقام واحرف لو ترغب
    amount = input('كم عدد اليوزرات ؟')
    amount = int(amount)

    length2 = 3
    length2 = int(length2)

    for password in range(amount):
        password = ''

        for item in range(length2):
            password = ''
        for item in range(length2):
            password = random.choice(chars2)
        for item in range(2):
            password1 = ''
        for item in range (2):
            password1 += random.choice(chars2)
        ba = password + uesr + password1

        print(ba)
        with open('user.txt', 'a') as x:
            x.write(ba +'\n')

if da == "3":
    uesr = '.'  # اليوزر المراد التخمين عليه بين النقطتين اكتبه
    chars2 = 'qwertyuiopasdfghjklzxcvbnm0123456789'  # ارقام واحرف لو ترغب
    amount = input('كم عدد اليوزرات ؟')
    amount = int(amount)

    length2 = 3
    length2 = int(length2)

    for password in range(amount):
        password = ''

        for item in range(2):
            password = ''
        for item in range(2):
            password += random.choice(chars2)
        for item in range(1):
            password1 = ''
        for item in range(1):
            password1 += random.choice(chars2)
        bd = password + uesr + password1

        print(bd)
        with open('user.txt', 'a') as x:
            x.write(bd + '\n')
if da == "4":
    uesr = '.'  # اليوزر المراد التخمين عليه بين النقطتين اكتبه
    chars2 = 'qwertyuiopasdfghjklzxcvbnm0123456789'  # ارقام واحرف لو ترغب
    amount = input('كم عدد اليوزرات ؟')
    amount = int(amount)

    length2 = 3
    length2 = int(length2)

    for password in range(amount):
        password = ''
        for item in range(3):
            password = ''
        for item in range(3):
            password += random.choice(chars2)

        bc= password + uesr

        print(bc)
        with open('user.txt', 'a') as x:
            x.write(bc + '\n')

if sa == "3":
uesr = '.'  # اليوزر المراد التخمين عليه بين النقطتين اكتبه
chars2 = 'qwertyuiopasdfghjklzxcvbnm0123456789'  # ارقام واحرف لو ترغب
amount = input('كم عدد اليوزرات ؟')
amount = int(amount)
length2 = 3
length2 = int(length2)
    for password1 in range(amount):
        password1 = ''
        for item in range(length2):
            password1 = ''
        for item in range(length2):
            password1 += random.choice(chars2)
        password35="."+password1

        password2 = ''

        for item in range(length2):
            password2 = ''
        for item in range(length2):
            password2 = random.choice(chars2)
        for item in range(2):
            password3 = ''
        for item in range (2):
            password3 += random.choice(chars2)
        password27=password2+"."+password3

        password4 = ''

        for item in range(2):
            password4 = ''
        for item in range(2):
            password4 += random.choice(chars2)
        for item in range(1):
            password5= ""
        for item in range(1):
           password5+=random.choice(uesr)
        for item in range(1):
           password99 = ''
        for item in range(1):
           password99 += random.choice(chars2)
           password9 = password4+password5+password99

        useer = '_'  # اليوزر المراد التخمين عليه بين النقطتين اكتبه
        chars2 = 'qwertyuiopasdfghjklzxcvbnm0123456789'  # ارقام واحرف لو ترغب

        for password109 in range(amount):
            password109 = ''
            for item in range(length2):
                password109 = ''
            for item in range(length2):
                password109 += random.choice(chars2)
            password350 = "_" + password109

            password20 = ''
            for item in range(length2):
                password20 = ''
            for item in range(length2):
                password20 = random.choice(chars2)
            for item in range(2):
                password30 = ''
            for item in range(2):
                password30 += random.choice(chars2)
            password270 = password20 + "_" + password30

            password40 = ''

            for item in range(2):
                password40 = ''
            for item in range(2):
                password40 += random.choice(chars2)
            for item in range(1):
                password50 = ""
            for item in range(1):
                password50 += random.choice(useer)
            for item in range(1):
                password990 = ''
            for item in range(1):
                password990 += random.choice(chars2)
                password90 = password40 + password50 + password990

            password60 = ''
            for item in range(3):
                password60 = ''
            for item in range(3):
                password60 += random.choice(chars2)
                password100 = password60 + "_"

        mylist = [password9,password27,password35,password100,password90,password270,password350]
        passwordff=""
        ddd = passwordff+random.choice(mylist)
        print(ddd)
        with open('user.txt', 'a') as x:
            x.write(ddd + '\n')

if sa =="4":
uesr = ''  # اليوزر المراد التخمين عليه بين النقطتين اكتبه
chars2 = 'qwertyuiopasdfghjklzxcvbnm1234567890._'  # ارقام واحرف لو ترغب
amount = input('كم عدد اليوزرات ؟')
amount = int(amount)
length2 = input('ما طول اليوزر الي تبيه؟')
length2 = int(length2)

for password in range(amount):
    password = ''

    for item in range(length2):
        password = ''
    for item in range(length2):
        password += random.choice(chars2)

    print(password)
    with open('user.txt', 'a') as x:
        x.write(uesr + password + '\n')

repo: microsoft/generative-ai-for-beginners


text:
Linux GCS tests and benchmarks

Added testing suite that can built and run directly on the Linux uVM by sharing or adding it to the rootfs.
It primarily focuses on container (standalone and CRI) management.
This PR adds the ability to build a standalone testing executable that is shared into an LCOW uvm (or added to its rootfs beforehand).
Once on the uVM, the executable will rely on code from internal\guest\test to test and benchmark container creation, and directly interface with runc.
The executable does not replace the Linux GCS (since the GCS is needed to setup the uVM and to interact with the host), but does not interact with it at all.
Additionally, a container image VHD file is needed to mount into the uVM and use as the container base image. By default, the same rootfs.vhd that is used to boot the uVM is used, but any LCOW snapshot VHD can be used.
Functional tests that interact with the Linux GCS are in this PR: #1351, along with supporting code, ie test\internal\*
Script scripts/Test-LCOW-UVM.ps1 is used to launch an LCOW uVM and run the tests locally.
Module scripts/Testing.psm1 wraps the benchmarking portion, and is shared with a helper script in the functional benchmarks in #1351.
Relies on PRs:

[ ]  #1351
[x] #1359
[x]  #1360

Signed-off-by: Hamza El-Saawy hamzaelsaawy@microsoft.com

Thanks for this! A few comments regarding some potential cleanup.
Cleanup functions seemed to be called in wrong order in a couple of places. we could potentially defer call them, so it's easier to track? but that would involve refactoring the for loop bodies into functions.

I like the function idea a lot. Ill try and knock that out in another PR after this gets merged, if thats allright?

If I understand the PR correctly, there are two use cases here: normal testing of the guest code and benchmarking new kernel images.
My biggest concern here is that since we don't have an explicit contract for things like what fields need to be filled out or what needs to be setup and when to run a container, these tests could break easily or become outdated pretty quickly. Even though we would likely want to run these nightly, given that we can't run these as part of CI I feel like that concern is a little higher.
So I guess the question is, how do we avoid that? Do we have a contract somewhere that defines what's needed?

Ideally the contract would be the tests themselves. Since the benchmarks rely on the same code as the tests, if the tests fail, the benchmarks will also fail, and updating the tests should (hopefully) keep the benchmarks up to date.
However, I anticipate adding both to the build pipeline, so that require us to keep them updated.
If we do add interfaces on the GCS side that provide a more rigid contract that testing can consume, that would also help allay the issue, I think.

Yeah I think that would be good. That and making sure there's code sharing between the tests and the "normal" code flow as much as possible so we can guarantee that if the contract is broken, the tests do actually fail like you mentioned.
I added a few additional comments, but overall I think this LGTM though I'd like to explore what I mentioned above.

The GCS test code does eventually call normal-flow code, but I agree that we should integrate the two closer.
Ideally we'd do that as we refactor the GCS code, since its kinda spaghetti-ish rn, and having a test framework up and running should make rewriting that code easier.

authors: helsaawy katiewasnothere

repo: microsoft/hcsshim


text:
Refactors in SchemaManager related classes

Description
Refactors in SchemaManager related classes
Related issues
[issue #319].
Testing
Existing tests are not changed and passed
Semver Change (docs)
Patch|Skip|Feature|Breaking

@kolosovpetro, thanks so much for picking up this issue! I looked through your changes and everything looks good - just had a few small comments. Before you merge this PR, I want to test it against downstream projects to make sure things work smoothly. I'll try to get that done by the end of this week. Thanks again for contributing!

Thanks for the review, I will update this PR shortly

Thanks, @kolosovpetro for working through the conflicts - I should have mentioned that we made the switch to target .NET 5 and 6. Anyway, I've checked on the downstream users and made note of some small follow-up PRs we'll need to update the namespaces, and tomorrow I'll take one more pass through the latest changes in this PR.

Pull request is stale. Please feel free to re-open at any time.

authors: jovinson-ms kolosovpetro wsugarman

repo: microsoft/healthcare-shared-components


text:
use enums in test suite

Would it be possible to reference enum values in tests? For example, status code values or variants.

Yep. I will work on that today.

authors: pelikhan tballmsft

repo: microsoft/jacdac


text:
policy: un-escape $$ to $

Un-escape $$ to $ in container command args.

Minor question, no answer expected: Is there any chance the input could be 3 or more dollar signs, i.e., something we haven't seen yet and which this conversion could inadvertently change?

I am not sure. I didn't know about the double $$ until yesterday either.

repo: microsoft/kata-containers


text:
Cannot find module error with webpack@5

Sometimes this plugin can break a build with an error when webpack@5 is used:
Cannot find module '<path-to-repo>/node_modules/<lib>/package.json'

It's easy to reproduce this issue. Just add to the project @babel/runtime dependency and try to make a build. The build will be broken with the follow error:
Error: Cannot find module '<path-to-repo>/node_modules/@babel/package.json'

Here is an example repo: webpack-file-dependencies-issue/tree/license-checker-webpack-plugin-example.
Initial issue: https://github.com/webpack/webpack/issues/11971

I don't think I understand the answer given in https://github.com/webpack/webpack/issues/11971. What's the symlink that's causing this behavior?

I could use your help creating a PR to fix this @MikeDevice.

I don't fully understand as well, but I figured out that resolve: { symlinks: false } solves the problem.
// webpack.config.js
module.exports = {
  resolve: { symlinks: false },
  plugins: [new LicenseCheckerWebpackPlugin()]
};

But of course it's not a solution at all. I think all we need is to check whether dependency has package.json or not before require it.
https://github.com/microsoft/license-checker-webpack-plugin/blob/d4a5d472aacc224a528cd6ce3b93299ee7039c06/src/licenseUtils.js#L45-L46
What do you think?

Yup, that's probably what's causing the issue. Do you want to try and submit a PR to fix this?

Yes. I'll try.

Fixed by changing filter to  /(^.*[/\\]node_modules[/\\]((?:@[^@/\\]+[/\\])?(?:[^@/\\]+)))/, are we meeting the same issue?

@OpportunityLiu, Yes, we are, but I'm not sure, that this regex can cover all cases.

Maybe it's good to do something like that: Plugin Patterns

I think the problem occurs whenever using a package in the form of @.../..., because we're also running into this problem, but when using the @apidevtools/json-schema-ref-parser package.
As soon as I add this line to a .jsx file:
import schemaRefParser from '@apidevtools/json-schema-ref-parser';

I get this error:
× ｢wdm｣: HookWebpackError: Qualified path resolution failed - none of the candidates can be found on the disk.
Source path: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.js
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.node
Require stack:
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js
- C:\my_app\webpack.config.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\webpack-cli.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\bootstrap.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\bin\cli.js
- C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\bin\webpack.js
    at makeWebpackError (C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\lib\HookWebpackError.js:49:9)
    at C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\lib\Compilation.js:2198:11
    at eval (eval at create (C:\my_app\.yarn\cache\tapable-npm-2.2.0-5c9edec1fb-f8ed725aed.zip\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:78:1)
-- inner error --
Error: Qualified path resolution failed - none of the candidates can be found on the disk.
Source path: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.js
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.node
Require stack:
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js
- C:\my_app\webpack.config.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\webpack-cli.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\bootstrap.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\bin\cli.js
- C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\bin\webpack.js
    at internalTools_makeError (C:\my_app\.pnp.js:15125:34)
    at resolveUnqualified (C:\my_app\.pnp.js:16158:13)
    at resolveRequest (C:\my_app\.pnp.js:16182:14)
    at Object.resolveRequest (C:\my_app\.pnp.js:16254:26)
    at Function.external_module_.Module._resolveFilename (C:\my_app\.pnp.js:15358:34)
    at Function.external_module_.Module._load (C:\my_app\.pnp.js:15223:48)
    at Module.require (internal/modules/cjs/loader.js:1019:19)
    at require (C:\my_app\.yarn\cache\v8-compile-cache-npm-2.2.0-0b5b62067b-1efc994640.zip\node_modules\v8-compile-cache\v8-compile-cache.js:159:20)
    at getLicenseInformationForDependency (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:46:15)
    at C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:63:30
    at Array.reduce (<anonymous>)
    at getLicenseInformationForCompilation (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:59:27)
    at buildAsset (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js:16:28)
    at C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js:53:44
    at fn (C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\lib\Compilation.js:426:19)
    at _next0 (eval at create (C:\my_app\.yarn\cache\tapable-npm-2.2.0-5c9edec1fb-f8ed725aed.zip\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:70:17)
× ｢wdm｣: caused by plugins in Compilation.hooks.processAssets
Error: Qualified path resolution failed - none of the candidates can be found on the disk.
Source path: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.js
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.node
Require stack:
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js
- C:\my_app\webpack.config.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\webpack-cli.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\bootstrap.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\bin\cli.js
- C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\bin\webpack.js
    at internalTools_makeError (C:\my_app\.pnp.js:15125:34)
    at resolveUnqualified (C:\my_app\.pnp.js:16158:13)
    at resolveRequest (C:\my_app\.pnp.js:16182:14)
    at Object.resolveRequest (C:\my_app\.pnp.js:16254:26)
    at Function.external_module_.Module._resolveFilename (C:\my_app\.pnp.js:15358:34)
    at Function.external_module_.Module._load (C:\my_app\.pnp.js:15223:48)
    at Module.require (internal/modules/cjs/loader.js:1019:19)
    at require (C:\my_app\.yarn\cache\v8-compile-cache-npm-2.2.0-0b5b62067b-1efc994640.zip\node_modules\v8-compile-cache\v8-compile-cache.js:159:20)
    at getLicenseInformationForDependency (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:46:15)
    at C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:63:30
    at Array.reduce (<anonymous>)
    at getLicenseInformationForCompilation (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:59:27)
    at buildAsset (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js:16:28)
    at C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js:53:44
    at fn (C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\lib\Compilation.js:426:19)
    at _next0 (eval at create (C:\my_app\.yarn\cache\tapable-npm-2.2.0-5c9edec1fb-f8ed725aed.zip\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:70:17)

It looks like license-checker-webpack-plugin is getting confused and looking for
\@apidevtools-json-schema-ref-parser-npm-random_string.zip\node_modules\@apidevtools\package.json
when it should be looking for
\@apidevtools-json-schema-ref-parser-npm-random_string.zip\node_modules\@apidevtools\json-schema-ref-parser\package.json
We're using Webpack 5 and Yarn Berry with the PnP (Plug and Play) feature enabled.
Hope this helps 🙂  Let me know you if I can provide any additional information.

I think the problem occurs whenever using a package in the form of @.../..., because we're also running into this problem, but when using the @apidevtools/json-schema-ref-parser package.
As soon as I add this line to a .jsx file:
import schemaRefParser from '@apidevtools/json-schema-ref-parser';

I get this error:
× ｢wdm｣: HookWebpackError: Qualified path resolution failed - none of the candidates can be found on the disk.
Source path: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.js
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.node
Require stack:
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js
- C:\my_app\webpack.config.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\webpack-cli.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\bootstrap.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\bin\cli.js
- C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\bin\webpack.js
    at makeWebpackError (C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\lib\HookWebpackError.js:49:9)
    at C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\lib\Compilation.js:2198:11
    at eval (eval at create (C:\my_app\.yarn\cache\tapable-npm-2.2.0-5c9edec1fb-f8ed725aed.zip\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:78:1)
-- inner error --
Error: Qualified path resolution failed - none of the candidates can be found on the disk.
Source path: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.js
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.node
Require stack:
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js
- C:\my_app\webpack.config.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\webpack-cli.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\bootstrap.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\bin\cli.js
- C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\bin\webpack.js
    at internalTools_makeError (C:\my_app\.pnp.js:15125:34)
    at resolveUnqualified (C:\my_app\.pnp.js:16158:13)
    at resolveRequest (C:\my_app\.pnp.js:16182:14)
    at Object.resolveRequest (C:\my_app\.pnp.js:16254:26)
    at Function.external_module_.Module._resolveFilename (C:\my_app\.pnp.js:15358:34)
    at Function.external_module_.Module._load (C:\my_app\.pnp.js:15223:48)
    at Module.require (internal/modules/cjs/loader.js:1019:19)
    at require (C:\my_app\.yarn\cache\v8-compile-cache-npm-2.2.0-0b5b62067b-1efc994640.zip\node_modules\v8-compile-cache\v8-compile-cache.js:159:20)
    at getLicenseInformationForDependency (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:46:15)
    at C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:63:30
    at Array.reduce (<anonymous>)
    at getLicenseInformationForCompilation (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:59:27)
    at buildAsset (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js:16:28)
    at C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js:53:44
    at fn (C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\lib\Compilation.js:426:19)
    at _next0 (eval at create (C:\my_app\.yarn\cache\tapable-npm-2.2.0-5c9edec1fb-f8ed725aed.zip\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:70:17)
× ｢wdm｣: caused by plugins in Compilation.hooks.processAssets
Error: Qualified path resolution failed - none of the candidates can be found on the disk.
Source path: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.js
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.json
Rejected candidate: C:\my_app\.yarn\cache\@apidevtools-json-schema-ref-parser-npm-9.0.7-73540a30d3-2daf465e5d.zip\node_modules\@apidevtools\package.json.node
Require stack:
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js
- C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js
- C:\my_app\webpack.config.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\webpack-cli.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\lib\bootstrap.js
- C:\my_app\.yarn\$$virtual\webpack-cli-virtual-6906cc415f\0\cache\webpack-cli-npm-4.4.0-2000105866-0d1328369a.zip\node_modules\webpack-cli\bin\cli.js
- C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\bin\webpack.js
    at internalTools_makeError (C:\my_app\.pnp.js:15125:34)
    at resolveUnqualified (C:\my_app\.pnp.js:16158:13)
    at resolveRequest (C:\my_app\.pnp.js:16182:14)
    at Object.resolveRequest (C:\my_app\.pnp.js:16254:26)
    at Function.external_module_.Module._resolveFilename (C:\my_app\.pnp.js:15358:34)
    at Function.external_module_.Module._load (C:\my_app\.pnp.js:15223:48)
    at Module.require (internal/modules/cjs/loader.js:1019:19)
    at require (C:\my_app\.yarn\cache\v8-compile-cache-npm-2.2.0-0b5b62067b-1efc994640.zip\node_modules\v8-compile-cache\v8-compile-cache.js:159:20)
    at getLicenseInformationForDependency (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:46:15)
    at C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:63:30
    at Array.reduce (<anonymous>)
    at getLicenseInformationForCompilation (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\licenseUtils.js:59:27)
    at buildAsset (C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js:16:28)
    at C:\my_app\.yarn\$$virtual\license-checker-webpack-plugin-virtual-eff79ca72f\0\cache\license-checker-webpack-plugin-npm-0.2.1-96e96069e5-f9dd7c6eed.zip\node_modules\license-checker-webpack-plugin\src\index.js:53:44
    at fn (C:\my_app\.yarn\$$virtual\webpack-virtual-213c98b382\0\cache\webpack-npm-5.16.0-fa17b04bcb-2709126257.zip\node_modules\webpack\lib\Compilation.js:426:19)
    at _next0 (eval at create (C:\my_app\.yarn\cache\tapable-npm-2.2.0-5c9edec1fb-f8ed725aed.zip\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:70:17)

It looks like license-checker-webpack-plugin is getting confused and looking for
\@apidevtools-json-schema-ref-parser-npm-random_string.zip\node_modules\@apidevtools\package.json
when it should be looking for
\@apidevtools-json-schema-ref-parser-npm-random_string.zip\node_modules\@apidevtools\json-schema-ref-parser\package.json
We're using Webpack 5 and Yarn Berry with the PnP (Plug and Play) feature enabled.
Hope this helps 🙂  Let me know you if I can provide any additional information.

Another workaround is using the fixed filter from #37 when creating the plugin:
new LicenseCheckerWebpackPlugin({
    // Manually apply webpack5 fix from https://github.com/microsoft/license-checker-webpack-plugin/pull/37 &
    // https://github.com/microsoft/license-checker-webpack-plugin/issues/25
    filter: /(^.*[/\\]node_modules[/\\]((?:@[^/\\]+[/\\])?(?:[^@/\\][^/\\]*)))/,
    [...]
})

#37 doesn't fix this problem for me.
I've tried both filter expressions before & after #37.
license-checker has been working fine for a while, but in the last day, it just stopped working. I haven't figured out which package related to webpack changed yet, but I suspect something in webpack.
When I make a debug plugin for webpack to look deeper, I see compilation.fileDependencies contains these non-existent files:
<path-to-repo>/node_modules/package.json/package.json
<path-to-repo>/node_modules/babel-loader.js/package.json
<path-to-repo>/node_modules/json-loader.js/package.json
<path-to-repo>/node_modules/yaml-loader.js/package.json
<path-to-repo>/node_modules/@svgr/package.json/package.json
<path-to-repo>/node_modules/@svgr/webpack.js/package.json

Those paths cause license-checker to throw exceptions.
But, these paths do exist: (note the @svgr/package.json doesn't exist.)
<path-to-repo>/node_modules/package-json/package.json
<path-to-repo>/node_modules/babel-loader/package.json
<path-to-repo>/node_modules/json-loader/package.json
<path-to-repo>/node_modules/yaml-loader/package.json

<path-to-repo>/node_modules/@svgr/webpack/package.json

If filter would accept a function OR a RegExp, a filter function could check for file existence or make other attempts at coercing the paths into ones that exist in the file system before the require() is called... but that may just hide the root cause problem of dealing with what looks like invalid paths showing up from webpack's fileDependencies.

authors: Bosch-Eli-Black MikeDevice OpportunityLiu amuttsch sbytnar unindented


text:
CH_tests_tool: Mark unfinished tests as Failed

There might be failure scenarios where some tests are hung and their status is not reported. With this change, all the subtests are kept on track.

@anirudhrb  @smit-gardhariya  Please review

repo: microsoft/lisa


text:
Optimizing the text content of libraries

The current approach is to embed these into the document#contents property. But they might be the same for most projects. Should we support reusing them?

I would actually opt for leaving this up to the storage backend. Otherwise the LSIF tool would need to talk to a backend to find out if the content already exists somewhere.

repo: microsoft/lsif-node


text:
V0.2 feature cli windows

Description
Add Windows supports for CLI - orchestration management tools.
Linked issue(s)/Pull request(s)

151

Type of Change

[ ] Non-breaking bug fix
[ ] Breaking bug fix
[X] New feature
[ ] Test
[ ] Doc update
[ ] Docker update

Related Component

[ ] Simulation toolkit
[ ] RL toolkit
[ ] Distributed toolkit

Has Been Tested

OS:

[X] Windows
[ ] Mac OS
[ ] Linux

Python version:

[X] 3.6
[ ] 3.7

Key information snapshot(s):

Needs Follow Up Actions

[ ] New release package
[ ] New docker image

Checklist

[ ] Add/update the related comments
[ ] Add/update the related tests
[ ] Add/update the related documentations
[ ] Update the dependent downstream modules usage

Codecov Report

Merging #203 (4bfee1b) into v0.2 (298c155) will decrease coverage by 1.75%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##             v0.2     #203      +/-   ##
==========================================
- Coverage   71.23%   69.47%   -1.76%
==========================================
  Files          89       91       +2
  Lines        4203     4436     +233
==========================================
+ Hits         2994     3082      +88
- Misses       1209     1354     +145

Flag
Coverage Δ

unittests
69.47% <50.00%> (-1.76%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

maro/utils/logger.py
64.88% <50.00%> (+20.35%)
:arrow_up:

maro/communication/driver/zmq_driver.py
21.73% <0.00%> (-3.58%)
:arrow_down:

maro/communication/proxy.py
23.10% <0.00%> (-3.10%)
:arrow_down:

maro/communication/driver/abs_driver.py
60.00% <0.00%> (-1.54%)
:arrow_down:

maro/communication/message.py
86.84% <0.00%> (-1.40%)
:arrow_down:

maro/utils/exception/communication_exception.py
68.29% <0.00%> (-0.46%)
:arrow_down:

maro/communication/registry_table.py
94.26% <0.00%> (ø)

maro/communication/utils/default_parameters.py
100.00% <0.00%> (ø)

maro/utils/exit_code.py
100.00% <0.00%> (ø)

maro/utils/checkpoint.py
32.18% <0.00%> (ø)

... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 298c155...4bfee1b. Read the comment docs.

repo: microsoft/maro


text:
Question: How to reference resource dictionary brushes from control resources

Given that I have a UI element like so:
<Button Style="{StaticResource ButtonRevealStyle}"><Button.Resources></Button.Resources></Button>
And I want to use a brush from a resource dictionary like this for the background:
<AcrylicBrush x:Key="CustomAcrylicBrush" ... />
Current, I am doing something like this:
<Border.Resources> <AcrylicBrush x:Key="ButtonBackground" ... /> <AcrylicBrush x:Key="ButtonBackgroundPointerOver" ... /> <AcrylicBrush x:Key="ButtonBackgroundPressed" ... /> </Border.Resources>
However, I cannot figure out how to create a reusable brush in a resource dictionary, then use it to apply directly to a single button and override the default style without recreating the brush each time and giving it the specified key.
I know I can create templates, but given that I can do this one-off way very easily with only a few lines, and don't have to restyle the ENTIRE control just to change a few brushes, templating is overkill in this scenario.
I saw in the Generic.xaml file something like this: <StaticResource x:Key="ButtonBackground" ResourceKey="..." /> however I can't find any documentation on how this works, and it doesn't work in this case.
Is there a better way to do what I'm currently doing?

Just so I understand correctly, you want to define the resource once, and use it everywhere, right?
In that case, you can simply put the brush in the resources of App.xaml file. Every resource you define there will be available throughout all XAML files in your project. That however also means, if you set "ButtonBackground" in App.xaml, that every button will use that.
You can find an example where that is used here where a thickness was defined, that can be referenced everywhere in the project.

To clarify:
I don't want to apply these brushes to all buttons, just this specific one.
For the default background, I know I can use a staticresource reference Background={StaticResource MyCustomBrush}, however, I still need to override the PointerOver and Pressed backgrounds, which cannot be applied this way.

Oh yes, I understand your problem.
In that case, you can define your brush in App.xaml and add a StaticResource with the ResourceKey set to the name of your custom brush.
An example:
<!-- App.xaml -->
<ResourceDictionary>
     <AcrylicBrush x:Key="MyBrush" > ... </AcrylicBrush>
</ResourcesDictionary>

<!-- In your page -->

....

<Button>
    <Button.Resources>
        <StaticResource x:Key="ButtonBackgroundPointerOver" ResourceKey="MyBrush" />
    </Button.Resources>
</Button>
...

If you want to change the brush based on theme, unfortunately you need this snippet (at least that's the only thing that worked for me):
<Button>
    <Button.Resources>
        <ResourceDictionary>
            <ResourceDictionary.ThemeDictionaries>
                <ResourceDictionary x:Key="Dark">
                    <StaticResource x:Key="ButtonBackgroundPointerOver" ResourceKey="MyBrushDark"/>
                </ResourceDictionary>
                <ResourceDictionary x:Key="Light">
                    <StaticResource x:Key="ButtonBackgroundPointerOver" ResourceKey="MyBrushLight"/>
                </ResourceDictionary>
                <ResourceDictionary x:Key="HighContrast">
                    <StaticResource x:Key="ButtonBackgroundPointerOver" ResourceKey="MyBrushHighContrast"/>
                </ResourceDictionary>
            </ResourceDictionary.ThemeDictionaries>
        </ResourceDictionary>
    </Button.Resources>
</Button>

Ok, I was able to use <StaticResource /> to apply those brushes successfully. I did notice that the hot reloading doesn't take effect, so the app has to be restarted, however, it does work after a restart.  This is very helpful, thank you

authors: chingucoding screaney

repo: microsoft/microsoft-ui-xaml


text:
Question: Are differences between UWP/WinUI and WPF path rendering expected?

I'm currently working on an app with UIs for both UWP and WPF (long story) and would like to use Paths for vector icons.
Based on my reading of path markup syntax doc the behavior should be the same as WPF.
In practice, I see very different results; of the vector icons I've tried, about half of them render properly and half don't.
Example:

WPF
UWP

Path: M 8.023 1.023 l -8 4.5 8 4.5 8-4.5 z m -5.96 4.5 l 5.96 -3.352 5.96 3.352 -5.96 3.353 z m 13.96 3 l -8 4.5 -8 -4.5 1.02 -.573 6.98 3.926 6.98 -3.926 z m -8 6.353 l 6.98 -3.926 1.02 .573 -7.914 4.452 a .175 .175 0 0 1 -.171 0 L .023 11.523 l 1.02-.573 z
Is this a known limitation of UWP/WinUI or is it a bug?
Solution contains a working example demonstrating the same path on UWP, WInUI 3, and WPF:
PathRepro.zip
In my research I turned up the following issues, but I don't think they answer my question:

https://github.com/microsoft/microsoft-ui-xaml/issues/827
https://github.com/microsoft/microsoft-ui-xaml/issues/1494
https://github.com/microsoft/microsoft-ui-xaml/issues/1874

@codendone fyi

Looks like a bug,. Path rendering should be the same between WPF and UWP.

Correct, rendering should be the same, so this looks like a bug.

Here are some more examples:
Triangle:
M31.345 29H1.655L16.5 1.96zm-28-1h26.31L16.5 4.04z
WPF:
WinUI :
X Icon
M21.678 4H11.322L4 11.322v10.356L11.322 29h10.356L29 21.678V11.322zm1.47 18.157l-.99.99L16.5 17.49l-5.657 5.657-.99-.99L15.51 16.5l-5.657-5.657.99-.99L16.5 15.51l5.657-5.657.99.99L17.49 16.5z
WinUI:
WPF:
Web
M16.5 2.2a14.3 14.3 0 1 0 14.3 14.3A14.3 14.3 0 0 0 16.5 2.2zM3.225 17h4.99a22.74 22.74 0 0 0 .901 6H4.903a13.218 13.218 0 0 1-1.678-6zM17 9V3.246c2.29.285 4.295 2.492 5.523 5.754zm5.862 1a21.999 21.999 0 0 1 .924 6H17v-6zM16 3.246V9h-5.523C11.705 5.738 13.709 3.531 16 3.246zM16 10v6H9.214a21.999 21.999 0 0 1 .924-6zm-7.785 6h-4.99a13.218 13.218 0 0 1 1.678-6h4.213a22.74 22.74 0 0 0-.901 6zm1 1H16v6h-5.862a21.999 21.999 0 0 1-.924-6zM16 24v5.754c-2.29-.285-4.295-2.492-5.523-5.754zm1 5.754V24h5.523c-1.228 3.262-3.232 5.469-5.523 5.754zM17 23v-6h6.786a21.999 21.999 0 0 1-.924 6zm7.785-6h4.99a13.218 13.218 0 0 1-1.678 6h-4.213a22.74 22.74 0 0 0 .901-6zm0-1a22.74 22.74 0 0 0-.901-6h4.213a13.218 13.218 0 0 1 1.678 6zm2.696-7h-3.928a12.578 12.578 0 0 0-3.329-5.261A13.316 13.316 0 0 1 27.481 9zM12.776 3.739A12.578 12.578 0 0 0 9.446 9H5.52a13.316 13.316 0 0 1 7.257-5.261zM5.519 24h3.928a12.578 12.578 0 0 0 3.329 5.261A13.316 13.316 0 0 1 5.519 24zm14.705 5.261A12.578 12.578 0 0 0 23.554 24h3.927a13.316 13.316 0 0 1-7.257 5.261z
WinUI:
WPF:
Table
M2 5v22h28V5zm6 21H3v-4h5zm0-5H3v-4h5zm0-5H3v-4h5zm10 10H9v-4h9zm0-5H9v-4h9zm0-5H9v-4h9zm11 10H19v-4h10zm0-5H19v-4h10zm0-5H19v-4h10zm0-5H3V6h26z
WinUI:
WPF:

authors: StephenLPeters codendone dotMorten nCastle1 robloo


text:
ToggleSwitch ignores click

Describe the bug
Hi,
If I click by switch a little faster it doesn't change state. Take a look at the GIF. Looks like click ignored during an animation.
Steps to reproduce the bug

Expected behavior
The ToggleSwitch should change state independently how fast you clicked
Screenshots

Version Info

NuGet package version:
[Microsoft.WinUI 3.0.0-preview3.201113.0]

Windows app type:

UWP
Win32

Yes

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

May 2020 Update (19041)
Yes

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

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

This is not unique to Winui3, it occurs in system xaml as well.

I suspect that fixing this would require code changes, which would mean fixing this requires Winui3, however its possible there is a template change that would fix it.  @karenbtlai FYI for when you look at toggle switch.


text:
DropDownButton's chevron's click animation has a large delay

DropDownButton, SplitButton, ToggleSplitButton all have chevrons on their right side. When these buttons are clicked, the chevrons play an animation that moves down and up, but there is a large delay between click and animation start.
The XAML Controls Gallery app can prove this problem:

Note that the chevron's animation starts nearly after the flyout menu fully expanded.

Addressed by https://github.com/microsoft/microsoft-ui-xaml/pull/6706

authors: StephenLPeters zhuxinghan


text:
[Feature Request] Minimum compatibility browser version

Context

[X] This issue is not a bug report. (please use a different template for reporting a bug)
[X] This issue is not a duplicate of an existing issue. (please use the search to find existing issues)

Description
Hi, I request the monaco editor team, to reconsider the idea of providing a list of compatible browser versions for monaco editor in the documentation. Previously, when I created an issue regarding this @alexdima replied, Defining a version matrix is not really possible https://github.com/microsoft/monaco-editor/issues/2423#issuecomment-839167317
For us, It will not be possible to ask our users to upgrade to the latest browser version every-time a new feature is released in monaco editor ( to be sure that nothing breaks due to browser incompatibility ). It will be better, if we have a table indicating the minimum browser version limit in which the monaco editor works properly, in the documentation.
Alternatively, a relative browser version compatibility will also be a better idea. Like monaco editor supports a x number of browser versions before the latest browser version. By this we get a timeframe within which we can ask our users to upgrade to the latest browser versions.
So, kindly provide a list of compatible browser versions in docs

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!

authors: Pranomvignesh hediet

repo: microsoft/monaco-editor


text:
Error: Cannot find module 'monaco-editor'

I've been getting the the error cannot find monaco-editor when I try to use this package (v0.13.1):
Here's my webpack build:
const path = require('path')
const webpack = require('webpack')
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');

module.exports = {
  mode:'development',
  devtool: 'source-map',
  optimization: {
    splitChunks:{}
  },
  entry: {
    app: './ui/client/index.js'
  },
  context: path.resolve(__dirname),
  output: {
    path: path.join(__dirname, 'dist'),
    filename: '[name].js',
    publicPath: '/dist/'
  },
  plugins: [
    new ExtractTextPlugin('styles.css'),
    new webpack.DefinePlugin({
      "process.env": {
        BROWSER: JSON.stringify(true)
      }
    }),
    new MonacoWebpackPlugin()
  ],
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        include: path.resolve(__dirname),
        use: {
          loader: "babel-loader"
        }
      },
      {
        test: /\.css$/,
        loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' })
      }
    ]
  }
};

Any idea why? I also tried adding an alias in webpack to consume monaco-editor/esm/vs/editor/editor.api, but the same error still persists.

monaco-editor version: 0.13.1
Browser: N/A
OS: MacOSX 10.12.5

@alexandrudima the problem is that in the package.json a module property is defined for esm but there is no main for the old school.
Adding "main": "./dev/vs/editor/editor.main.js" fixes the issue.

See https://github.com/microsoft/monaco-editor/issues/1290#issuecomment-459075707
and https://github.com/Microsoft/monaco-editor/issues/1288#issuecomment-524352892

I believe this has been resolved in the meantime because all the webpack samples at https://github.com/microsoft/monaco-editor-samples work for me now.

authors: Enc-EE IrfanBaqui alexdima nicoabie