text:
[KBM] Map to custom keys / diacritic character, not just keycode

I would like to use Keyboard Manager to map some shortcuts to keys that currently are accessible only from the "Windows Character Map" application. Specifically I would like to map AltGr + ' to ` and AltGr + ì to ~.
I know that the Keyboard Manager enables only to map to keyboard keys, but allowing also custom characters would be such a great feature for a programmer.

To add on this, there's a FOSS project under the name of "WinCompose" that's available at github.
https://github.com/samhocevar/wincompose

To add on this, there's a FOSS project under the name of "WinCompose" that's available at github.
https://github.com/samhocevar/wincompose

Second this. I am using Japanese layout on my laptop built-in keyboard (US layout). As the underscore key is mission, I want to map Shift + 0 (which is empty in Japanese layout) to _ (Which normally is Shift + ). However, the attempt to add it to the shortcut is buggy and not function in most time, and as soon as I disconnected my USB Japanese keyboard, Shift + 0 will stop working, which makes the remapping meaningless.

Second this. I am using Japanese layout on my laptop built-in keyboard (US layout). As the underscore key is mission, I want to map Shift + 0 (which is empty in Japanese layout) to _ (Which normally is Shift + ). However, the attempt to add it to the shortcut is buggy and not function in most time, and as soon as I disconnected my USB Japanese keyboard, Shift + 0 will stop working, which makes the remapping meaningless.

To add on this, there's a FOSS project under the name of "WinCompose" that's available at github.
https://github.com/samhocevar/wincompose

Good thing, but I would prefer a solution from Microsoft.
From my point of view, this is a so basic feature that it should be included in Windows yet. Just my opinion, but all collegues I met agree.
PS. For now I used the Microsoft Keyboard Layout Creator. It would be better to have a single layout than two similar one to the other except for 2 keys....

To add on this, there's a FOSS project under the name of "WinCompose" that's available at github.
https://github.com/samhocevar/wincompose

Good thing, but I would prefer a solution from Microsoft.
From my point of view, this is a so basic feature that it should be included in Windows yet. Just my opinion, but all collegues I met agree.
PS. For now I used the Microsoft Keyboard Layout Creator. It would be better to have a single layout than two similar one to the other except for 2 keys....

To add on this, there's a FOSS project under the name of "WinCompose" that's available at github.
https://github.com/samhocevar/wincompose

Good thing, but I would prefer a solution from Microsoft.
From my point of view, this is a so basic feature that it should be included in Windows yet. Just my opinion, but all collegues I met agree.
PS. For now I used the Microsoft Keyboard Layout Creator. It would be better to have a single layout than two similar one to the other except for 2 keys....

Yes, what I meant with my comment is what they could implement in their software that already exists and it's useful.

To add on this, there's a FOSS project under the name of "WinCompose" that's available at github.
https://github.com/samhocevar/wincompose

Good thing, but I would prefer a solution from Microsoft.
From my point of view, this is a so basic feature that it should be included in Windows yet. Just my opinion, but all collegues I met agree.
PS. For now I used the Microsoft Keyboard Layout Creator. It would be better to have a single layout than two similar one to the other except for 2 keys....

Yes, what I meant with my comment is what they could implement in their software that already exists and it's useful.

@crutkas
this issue has come up several times and there is a lot of feedback from the community, should we included in the stability release or right after it?

@crutkas
this issue has come up several times and there is a lot of feedback from the community, should we included in the stability release or right after it?

Apparently this important modification is not yet confirmed for any of the next 4 releases. Hopefully this will be remedied ASAP.
My own pressing need is to be able to remap to ANY Unicode character.
Can Unicode characters be mapped to unused Virtual Keys (VK nnn)?

Apparently this important modification is not yet confirmed for any of the next 4 releases. Hopefully this will be remedied ASAP.
My own pressing need is to be able to remap to ANY Unicode character.
Can Unicode characters be mapped to unused Virtual Keys (VK nnn)?

Lets target right after stability.  I'll update the wiki.

Lets target right after stability.  I'll update the wiki.

@enricogior this is for support of chords then as well based on some of the closed issues, correct?  ala Ctrl-K, Ctrl-C inside VS to comment something.  we closed a few issues it looks like against this for chords

@enricogior this is for support of chords then as well based on some of the closed issues, correct?  ala Ctrl-K, Ctrl-C inside VS to comment something.  we closed a few issues it looks like against this for chords

I'd just as soon see the MKLC reworked and brought back up to modern design.  It was incredibly powerful, supporting dead keys, and there are characters I would need to type that I could only get that way, short of memorizing alt-codes or just searching for the specific character somewhere.  Really, MKLC was a life-saver.
Please consider making the custom keys request an opportunity to improve the user experience around custom keyboards.

Looking forward to see this feature in power toys. Is there an ETA for it?

What is the ETA for PowerToys to get this annoying error fixed?

Is it possible to type a diacritic and then follow it up with another character after as you can on mac?
Essentially this allows you to use one key to type the accent and then use that accent for any compatible unicode character. It may already be possible with wincompose but i'm not sure.

Hi Mihir,
Not sure what you are referring to here, as I don't have a Mac but a Windows computer.
How can I remap the missing key with PowerToys?
Thanks,
Eric

From: Mihir Patil @.>
Sent: Thursday, May 13, 2021 2:36 PM
To: microsoft/PowerToys @.>
Cc: Eric Tierling @.>; Comment @.>
Subject: Re: [microsoft/PowerToys] [KBM] Map to custom keys / diacritic character, not just keycode (#6976)
Is it possible to type a diacritic and then follow it up with another character after as you can on mac?
Essentially this allows you to use one key to type the accent and then use that accent for any compatible unicode character. It may already be possible with wincompose but i'm not sure.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FPowerToys%2Fissues%2F6976%23issuecomment-840849448&data=04|01|eric.tierling%40microsoft.com|1466d44c8f6140b0b54808d916573662|72f988bf86f141af91ab2d7cd011db47|0|0|637565386192845220|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=49QVK%2BvcIBTyrdgQTITtbFHUcpJf2Pl%2BxdKKfevGFi0%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAHPJEXL6FDPOBNDLKZPXEKDTNRA67ANCNFSM4SBU452A&data=04|01|eric.tierling%40microsoft.com|1466d44c8f6140b0b54808d916573662|72f988bf86f141af91ab2d7cd011db47|0|0|637565386192845220|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=PFpfCQpaFySbuj6lAEjc1pp0c2j3Mh6kdN0nOC4DBaQ%3D&reserved=0.

Is it possible to type a diacritic and then follow it up with another character after as you can on Mac?
Essentially this allows you to use one key to type the accent and then use that accent for any compatible unicode character. It may already be possible with wincompose but i'm not sure.
Edit: it seems to be possible using wincompose but unlike Mac the typed diacritic isn't shown, and it blocks all shortcuts using the compose key.

I believe what you're referring to is a dead key (e.g. you press ` + a, you get à). PowerToys doesn't support this, at least for now, which is why I made my own script, but I'm not sure what you mean by "the typed diacritic isn't shown", as I've never owned a Mac.

Thank you. As stated, I don't know about Mac - this is for a Windows device.
What you refer to a French special characters, but this is for English ones.
When I enable the German keyboard layout on an US keyboard hardware, both characters "<" and ">" are gone, as is the pipe char "|".
You need all of them for CUI / scripting / programming type of stuff.
What is rather weird with PowerToys is that you can assign "<", but not ">" .

THAT is the bug I reported.
Note: These chars are NOT custom keys.
So you might adjust the incorrect bug title you picked.

When will that bug finally get fixed?
It's open for a long time now.
Regards,
Eric
From: berzi @.>
Sent: Thursday, May 13, 2021 11:49 PM
To: microsoft/PowerToys @.>
Cc: Eric Tierling @.>; Comment @.>
Subject: Re: [microsoft/PowerToys] [KBM] Map to custom keys / diacritic character, not just keycode (#6976)
Is it possible to type a diacritic and then follow it up with another character after as you can on Mac?
Essentially this allows you to use one key to type the accent and then use that accent for any compatible unicode character. It may already be possible with wincompose but i'm not sure.
Edit: it seems to be possible using wincompose but unlike Mac the typed diacritic isn't shown, and it blocks all shortcuts using the compose key.
I believe what you're referring to is a dead key (e.g. you press ` + a, you get à). PowerToys doesn't support this, at least for now, which is why I made my own scripthttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.com%2Fbrzrkr%2Fbetter-us-intl&data=04|01|eric.tierling%40microsoft.com|a289a4571ee14b5f7fec08d916a45830|72f988bf86f141af91ab2d7cd011db47|0|0|637565717393796648|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=jvNpFkBCk%2B7lVDqYywKB7P9csRgICg3mYj9J4RH%2BSpU%3D&reserved=0, but I'm not sure what you mean by "the typed diacritic isn't shown", as I've never owned a Mac.

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FPowerToys%2Fissues%2F6976%23issuecomment-841049572&data=04|01|eric.tierling%40microsoft.com|a289a4571ee14b5f7fec08d916a45830|72f988bf86f141af91ab2d7cd011db47|0|0|637565717393806605|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=V46yYcnQi54r4c9u5bQ9Er3dT91zQvyoGSSgDSWRBko%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAHPJEXIKKVERRVPWAC2DW6LTNTBVPANCNFSM4SBU452A&data=04|01|eric.tierling%40microsoft.com|a289a4571ee14b5f7fec08d916a45830|72f988bf86f141af91ab2d7cd011db47|0|0|637565717393806605|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=dGnyofvQyVD9x%2FeBoVUPbWlupKdxNMkFSJmlCYW6qx0%3D&reserved=0.

The highlighted diacritic is what i'm focusing on. Other apps do the same but instead of highlighting, there's an underline.
The additional popup menus for multiple variations after pressing and holding a key is another feature that exists on Mac but is likely outside the scope of this issue but is still worth mentioning.
https://user-images.githubusercontent.com/49821700/119588318-8e9bf500-bd9e-11eb-9234-ffaf18346ed8.mov

@zbot473 think you're asking more for #2668

In addition to that i was suggesting it tells you the diacritic that's about to be inserted

A digital programmable keyboard - where every key is a miniature display - would be a solution for every developer.
Have a look at https://www.youtube.com/watch?v=UvG_rTTmvmg (he shows many more very special keyboards)

A digital programmable keyboard - where every key is a miniature display - would be a solution for every developer.
Have a look at https://www.youtube.com/watch?v=UvG_rTTmvmg (he shows many more very special keyboards) or https://www.artlebedev.com/optimus/popularis/

I think that is out-of-scope.

I think that is out-of-scope.

It's wasn't a suggestion for software, but an off-topic tip for people who really need high performance keyboards.

@jay-o-way, i'd suggest a streamdeck or something along those lines if that is what you want.

Hi all,
Just to add to the issue: remapping to any unicode character would be a great addition imo.
Especially for PCs without a numpad this would be extremely helpful!
cheers

Hey, I'm a bit late into this but the way I got around this is, I added both the US and UK keyboard on windows language settings. then just press the Windows key + spacebar to change between both quicky and press shift + 3
I'm on WIndows 11, don't know if this works on Windows 10

Yeah but what if you want to type accents on a US keyboard that has none? I don't really want to learn another layout to use accents

To add on this, there's a FOSS project under the name of "WinCompose" that's available at github. https://github.com/samhocevar/wincompose

The Wincompose program is incredibly useful, and to have available a standard Compose-Key in Windows/Powertoys with Unix/Linux abbreviations would be enormously useful for those of us who regularly use different languages and need to enter words containing e.g. æ ö ç É in the same text rapidly.  Would also be super-useful for those who need to use a lot of emojis in their texts. Microsoft could even leverage their hardware-position to also push a compose key onto their MS-branded keyboards.

Yeah but what if you want to type accents on a US keyboard that has none? I don't really want to learn another layout to use accents

This is where a  Compose-Key is useful: To write é, you hit the compose-key, and then e '. Other obvious shortcuts:

Compose ae = æ
Compose o" = ö
Compose  << = «

Really wish this was included as a standard in Windows, but the https://github.com/samhocevar/wincompose implements this well.

I’d put wincompose closer to power accent tracking item vs this but wow that sounds neat.  @samhocevar neat stuff looking at the readme.

I beleive that this would be a great enhancement to all users that do not have a US keyboard. Key remapping is fine, but not powerful. I have an italian one, and there is no way for digiting quickly ~ (tilde) or ` (backtick) in Windows as opposed to Linux. In linux, by default there are very simple keyboard shortcuts. So I ended up in using AutoHotKey in the background with this rule configured: https://gist.githubusercontent.com/scollovati/3b4a6b44176797ff727f5c261c6b4975/raw/002c0321b7b1693b97cd5794b1cb8e3f33c212ef/layout.ahk
Hope that PowerToys will be able to tackle this functionality very soon.

Yes please! I'd love to replicate mac's handling of en/em dashes with powertoys \o/

Yes please on something like Linux's compose implementation.  It's the most intuitive and discoverable of all the OSes I've tried, and I think WinCompose does something like it.  No extra layout or shortcuts needed, just assigning a certain key as a compose (eg, CapsLock).  I've tried MacOs's combos and the AltGr combos aren't as flexible and expandable.

The best way to implement this would be to simply have a Shortcut that is mapped to a an Alt keycode sequence which you would enter yourself.
Alt + O maps to Alt sequence 0182 0020 0182
When the shortcut is triggered, PowerToys will press Alt and type all those numbers using the appropraite Num lock pad.  The space is for convenience so is easier to read but is ignored. If you want space you need to enter the Alt code for space character.

What's the status for this?

I first installed PowerToys because there are certain symbols that I need (< and > and §) and don't want to do alt + unicode to get them. I'm using the Spanish(ES) layout, and had to buy a new keyboard to get < and >. I can use unicode for §, but it would be so much easier if I could use PowerToys to remap keys to type these symbols when I need them.  Is this going to ever become a reality?

I suggest to everyone interested in that issue to select the 👍 symbol in the heading comment so that this topic becomes more interesting to developers.

I think it could be interesting to also include the mouse keys, there are many mouse models that include additional buttons for additional functions, which would be interesting to map through this tool. Even being able to combine keys from both devices as discussed in #20292

I can't tell from the thread if this issue is on a Planned Roadmap somewhere.
Is it a won't implement, can't implement or a gathering feedback ?

Hello PowerToys KBM developers,
With Windows 11 (aka WinOS 11) I hope this request gets attention, and have Keyboard Manager to support the entry of any Unicode Character. There are special characters in the Latin Extended-D that are not in any of the keyboard layouts for WinOS 11.
If this feature is developed, it would make life for many multilinguist users much easier, as the workaround of using MSFT KLC 1.4 presents challenges when used in WinOS 11.
In addition, having PowerToys manage configurations to a keyboard layout makes it easier and less troublesome for users to remove any of them from WinOS 11 without having to deal with the Register.
Thank you for the privilege of addressing you with this request.

Not sure if you are aware, but there is a new Quick Accent tool in Power Toys, which allows you to scan all the modifiers of the main characters using arrow keys. The characters are categorised by source language, and the major limitation is that you can either pick one language or all, but not e.g. two, but it's working quite well in my use case. And characters not in any language (modulo some currency symbols are not accessible), but I think it works quite well.

The best way to implement this would be to simply have a Shortcut that is mapped to a an Alt keycode sequence which you would have to enter manually yourself.
Example: Alt + O maps to Alt sequence 0182 0020 0182
When the shortcut is triggered, PowerToys will press Alt and type all those numbers using the appropraite Num lock pad. The space is for convenience so is easier to read but is ignored. If you want space you need to enter the Alt code for space character.
The option could be called Remap an Alt code sequence immediately under Remap a shortcut.

That's a pretty darn reasonable suggestion that would be easy to implement. Now 6 months have passed, do we know if this suggestion was taken under consideration and if yes, when it will be released?

This is something we would like to implement but we have no current eta. There are a few experiments we want to try with the core engine to see if we can do more complex remapping vs vkey.
If a community members would like to, happy to work with them. But the core team is currently working on other projects and improvements

Since I don't see it mentioned in this thread (only in the closed #3947), the simplest solution to unicode characters missing from the "Mapped To" list would be to let users paste a symbol from their clipboard into the "Mapped To" field.

Yes please! I have an Italian keyboard, and typing the tilda symbol ~ is always a PAIN!

For all italian users (including @francescoboc): I installed the keymap here and it works flawlessly.
https://github.com/LorenzoMorelli/Tilde-Backtick-italian-keyboard-Win11
If this can be done why not distributing such maps.

Having support for compose key would be absolutely great (preferably, with optional support for standard sequences from Xorg and/or Xcompose as an option in addition to custom defined ones) - I don't think that there is any other system that allows for intuitive input of not just accented chars, but plethora of other unicode characters as well (arrows, mathematical symbols, et caetera; anything you want, really, if custom sequences can be defined). Yes, there is WinCompose, as mentioned before, but having this functionality integrated with Windows as well as other PowerToys would be on another level.

@vincenzoml Thanks, I already solved the issue with AutoHotkey.

I think this is a more general issue. I'm based in Spain and consider myself L1 Spanish/German. With a Spanish keyboard I can get the 'ß' as AltGr+s in Linux and macOS and thus my keyboard allows me to write in all languages I'm fluent in (ES/DE/EN/IT) without extra drivers (in Linux) or with an extra app (Karabiner in macOS). But that's something I can't in Windows. I have to confess that returning to Win after 20+ years in linux/macOS has been an accident I couldn't avoid. Not that I'm surprised. Just disappointed...

I resorted to making my own system based on Autohotkey and it's been working well for me (though it was somewhat buggy on a slower, older computer I used to use).

Fantastic work, @berzi !  Brilliant. However, this does not address my need to incorporate some elements from the Latin Extended-D which are essential for my use case and the reason I want the developers to add it to the code of the Keyboard PowerToy or work on a greater version of the Microsoft Keyboard Layout app and incorporate it as a PowerToy.

@berzi, I'm wondering if you've ever considered adding support for the characters the Pinyin uses which don't yet seem to exist. See https://en.wikipedia.org/wiki/Pinyin#Tones
It looks like you might just be missing 3rd tone (ˇ) and the variants with the umlaut over the U, which is a multiple diacritic combination. In other IME I've used, the umlaut U is typed by using the letter "v" since that isn't used in Pinyin, but I know that probably wouldn't work for your case, though I suppose you could use the dead key + V combination to result in the umlaut u + tone combination.

@berzi, I'm wondering if you've ever considered adding support for the characters the Pinyin uses which don't yet seem to exist. See https://en.wikipedia.org/wiki/Pinyin#Tones
It looks like you might just be missing 3rd tone (ˇ) and the variants with the umlaut over the U, which is a multiple diacritic combination. In other IME I've used, the umlaut U is typed by using the letter "v" since that isn't used in Pinyin, but I know that probably wouldn't work for your case, though I suppose you could use the dead key + V combination to result in the umlaut u + tone combination.

@cjbarth I actually have the ˇ (altgr + shift 6), looks like the picture is outdated. But I don't have double diacritics yet, that's what I'll work on next. Thanks. :)

This would help in a lot of situation.
My 2 cents:

AutoHotKey seems to solve part of the problem, but that means running PowerToys in parrallel of another tool. It would be better to not have a bunch of background helper always running and consolidate keyboard management.
Quick Accent tool is nice for occasional input here and there. That can't be a solution to actually type whole documents on an everyday basis.
Having multiple keyboards is also a solution, but that means doing full layout switches solely depending on needing accents or not. For people using an IME (CJK languages) that's a huge PITA that makes it just impractical.

The most elegant solution would really be to have PowerTools allow for arbitrary mapping (allowing to paste a character feels like a really good interface, but I'd be totally fine with inputing character codes instead)

Fantastic work, @berzi ! Brilliant. However, this does not address my need to incorporate some elements from the Latin Extended-D which are essential for my use case and the reason I want the developers to add it to the code of the Keyboard PowerToy or work on a greater version of the Microsoft Keyboard Layout app and incorporate it as a PowerToy.

Thank you @georgegom . I'm curious to know what use-case requires those symbols since I'm unaware of a language that uses any of them.
I could add some of them to my layout since I was already thinking of expanding it to cover Hungarian accent marks.

The use case is to be able to compose text, say in a Romance language like Spanish, where with a single character (i.e. ao ligature) I can save myself from writing out both forms of a particular noun or adjective.  It is more elegant than the horrible solution invented by the publishing/editorial industry.
The feature I am asking to be implemented would allow for other characters in the ASCII Latin-D group to be used for other creative purposes, i.e., the use of characters in medieval forms of Indoeuropean languages to express the original form of the word.
Therefore, I want to have an enhanced and better option than Microsoft Keyboard Layout Creator (which does not work correctly in Windows 10 and is not for the faint of heart) which can be done by a feature that lets me map what character I want when I need it. :)

That would be only one use case. The possibility of mapping eg AltGr+s to ß in a Spanish keyboard would make it a keyboard to write all co-official languages in Spain, French, Italian, English and German with. Wouldn’t that be impressive? Well, actually, I do this since ever when I switch to Linux ;-)Enviado desde mi iPhoneEl 6 ago 2023, a las 18:56, George Ortiz-Mejias @.***> escribió:
Fantastic work, @berzi ! Brilliant. However, this does not address my need to incorporate some elements from the Latin Extended-D which are essential for my use case and the reason I want the developers to add it to the code of the Keyboard PowerToy or work on a greater version of the Microsoft Keyboard Layout app and incorporate it as a PowerToy.
Thank you @georgegom . I'm curious to know what use-case requires those symbols since I'm unaware of a language that uses any of them.
I could add some of them to my layout since I was already thinking of expanding it to cover Hungarian accent marks.
The use case is to be able to compose text, say in a Romance language like Spanish, where with a single character (i.e. ao ligature) I can save myself from writing out both forms of a particular noun or adjective.  It is more elegant than the horrible solution invented by the publishing/editorial industry.
The feature I am asking to be implemented would allow for other characters in the ASCII Latin-D group to be used for other creative purposes, i.e., the use of characters in medieval forms of Indoeuropean languages to express the original form of the word.
Therefore, I want to have an enhanced and better option than Microsoft Keyboard Layout Creator (which does not work correctly in Windows 10 and is not for the faint of heart) which can be done by a feature that lets me map what character I want when I need it. :)
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

¡Felicidades! Glad you do not have this first-world problem.  😉
However, since I am not using Linux, and these are PowerToys for Windows .... need I say more?

I actually have it every single time I’m forced to use Windows ;-) mentioned Linux just to itch a bit :-)PAEnviado desde mi iPhoneEl 7 ago 2023, a las 1:33, George Ortiz-Mejias @.***> escribió:
¡Felicidades! Glad you do not have this first-world problem.  😉
However, since I am not using Linux, and these are PowerToys for Windows .... need I say more?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

This is quite literally the only reason I installed PowerTools. You are going to lose out on a lot of your potential base by holding off this feature for this long, especially since the solution should be theoretically easy.

Any update on this? WinCompose is nice but an official Windows compose key would be a very useful thing. Especially since WinCompose isn't digitally signed.
Even just the standard Xorg sequences would be a huge help.

Same question.
WinCompose is dead and plagued with issues if your keyboard layout is anything else than EU/US.
I use a japanese keyboard with a japanses layout and whatever the sequence the soft interpret it with a US layout so it either gives me a wrong combination or just the bare raw characters I've pressed.
A real compose key would be better than creating what is basically snippet into the Keyboard Manager or using the limited Accent Powertoy.

@nev3rfail. Thanks this works for me: it replaces the ² character/key with backtick efficiently. (backtick is ALT-GR+µ on belgian keyboards). The only thing is that the console window of your app displays "verbosity: ERROR" which lead me to believe it was not working until I tested it.

@nev3rfail. Thanks this works for me: it replaces the ² character/key with backtick efficiently. (backtick is ALT-GR+µ on belgian keyboards). The only thing is that the console window of your app displays "verbosity: ERROR" which led me to believe it was not working until I tested it.

@tilleul, that's great:) verbosity: error just shows the current loglevel.
Please be aware that unless the program is running with admin privileges it wont work with elevated applications.
To start the program with the computer startup:

press Win+R, type shell:startup (Explorer autostart will open)
create a shortcut of a program and copypaste it to explorer's autostart

And would you please then detail the steps taken to do this?
I mean, unfortunately however brilliant Quick Accent or Keyboard Manager are, they both lack what Microsoft Keyboard Layout would allow us to do, which is to copy an existing layout and define our own diacritic character entry with just using AltGr and AltGr+Shift.
¡Gracias!

From: Pedro A. Aranda Gutiérrez @.>
Sent: Monday, August 7, 2023 01:40
To: microsoft/PowerToys @.>
Cc: George Ortiz-Mejias @.>; Mention @.>
Subject: Re: [microsoft/PowerToys] [KBM] Map to custom keys / diacritic character, not just keycode (#6976)
I actually have it every single time I’m forced to use Windows ;-) mentioned Linux just to itch a bit :-)PAEnviado desde mi iPhoneEl 7 ago 2023, a las 1:33, George Ortiz-Mejias @.***> escribió:
¡Felicidades! Glad you do not have this first-world problem. 😉
However, since I am not using Linux, and these are PowerToys for Windows .... need I say more?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/PowerToys/issues/6976#issuecomment-1667217696, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIOUT3DZMASHOSUJISEWP4TXUB5T7ANCNFSM4SBU452A.
You are receiving this because you were mentioned.

FWIW, stumbled across this GitHub while looking for other, vaguely related stuff, and I have to wonder... Does this project currently allow for the direct use of non-standard keyboard symbols as actual inputs yet, or not? Asking from the perspective of a gamer who needs extra keybinds, rather than what folks might conventionally consider a true "power user". TL:DR, looking to bind some flight stick controls to keyboard-style inputs, but as a supplement to the extant keyboard on my desk, rather than to replace it. The game in question doesn't have options to take stick inputs, and JoyToKey just binds things to existing keyboard controls (which is useless). Macros and chords are a non-starter, given that shift, control, and alt are already bound to stuff, which would cause funky interactions when trying to use them as such (IE Alt-codes for ASCII characters). I've also already bound F13-F24 to the 12 extra buttons on the side of my mouse and made use of them.
For anyone who cares to ask what game I could be playing that might possibly require such an inordinate number of additional keybinds... It's modded Minecraft (Java edition), and I'm not joking. With how most of the larger/more popular mods are these days, extra bindings beyond the norm are an absolute necessity, given they're all usually coded in isolation and default to having their added controls mapped to things like Z,X,C,F,R, etc, meaning there's usually several dozen conflicts per key whenever you first start up a modpack. Unfortunately, from what I've experienced, MMO mice and gaming keyboards with extra buttons and other such peripherals only seem designed with binding macros in mind (or the aforementioned long-disused F13-F24 keys), instead of registering the extra inputs as their own dedicated buttons.
Sorry if this is off-topic for this project, let alone this thread, it's just that this seems like the closest thing to a solution to my problem that I've been able to find. Failing that, could someone point me in a better direction?

For additional clarification, my mouse is one of those Logitech ones with 12 bindable side buttons, a scrollwheel that center-clicks and rocks side-to-side for forward and backwards webpage navigation, and a third "click" option under the ring finger (like the left and right click are under the index and middle fingers, respectively) that's designed as a mode-shift for the 12 side buttons. Additionally, my keyboard (also Logitech) has the standard US QWERTY+Numpad+F1-12 layout, with 9 additional kinda le buttons wrapped around the left edge and above the function keys, as well as a further three buttons meant as a 3-way mode shift for those previously-mentioned 9. The flight stick (a relatively newer acquisition) comes from VKB, and while it does seem to have its own readings as regular stick controls, (which Minecraft doesn't read,) it also has an option to bind all its inputs to keyboard inputs instead, which would be more useful. Unfortunately, all of the above points towards reusing the keys already on my keyboard, instead of as new unique inputs. Which is where I hoped something like this project might come in.

@Caldoric There is no such thing as "Register your own input" because there is nothing to register. Inputs can be either virtualkey which is just a 0-255 code, a scancode which is a WORD-sized payload (but there are list of scancodes supported by windows https://learn.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input (though I don't know what will happen if you paste something unusual to as a scancode and send it to windows)), and unicode which is a crutch over a scancode that allows to send a completely custom payload and is splitted/reassembled if it is too big.
the thing with your request is that sending an input is not the main problem -- there are only 3 input types in winapi's SendInput function:
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendinput
My tool above send each input as a Unicode seqence, so it might do what you want -- paste a shit emoji to windows inputs. Two questions remain:

will minecraft parse shit emoji as an input? it might, but realistically it probably will not. so i'd tried to send something that is supported by Windows as a scancode or VK that is obscure and unused
how do you read the input from your gamepad in the first place?

Alternatively, you can mess with the keyboard layout itself -- you need a tool like KbdEdit. "Examples" section contains some useful info: http://www.kbdedit.com/manual/manual_index.html

I installed the utility specifically to remap the backtick symbol, as it's essential for anyone working with code and is missing from European keyboard layouts. I wanted to avoid having to use ALT + 96 every time. Unfortunately, it turns out that the one feature I needed isn't actually supported by PowerToys Keyboard Manager.

@garysassano if by any chance you're using an Italian layout keyboard, a workaround for tilde and backtick support is using this installable keyboard

@garysassano with PowerToys Keyboard Manager you can remap a key from your keyboard.
I'm personally doing the following:

@e-krebs It's not showing for me, I think it only allows to remap to keys from your current layout in Windows.

I use shortcut mappings for both backtick and tilde

@jakopo87 I copied your settings, but nothing happens when I press the keys.

authors: AssemblerAce Caldoric DanielOaks Hitmanforrent Jay-o-Way JaydenMcEncroe LambdaSoft Manukineko MomPlaysBass PercyDavy RPGryphus acw23 berzi cjbarth crutkas daamiian deoradh dimon223 e-krebs e-t-l enricogior filipworksdev foresterr framctr francescoboc frenchiveruti garysassano georgegom hrakotobe jakopo87 mendhak namtab00 nev3rfail paaguti sanghel-orbyta scollovati scriptfx tierling tilleul vincenzoml wigster zauberervonOZ zbot473 zmbdr


text:
Ability to bulk folder / app icons

📝 To Change Folder Icons in Bulk.
What is the expected behavior of the proposed feature?
Answer: The feature would help to change Folder icons of Multiple Folders at once, a somewhat similar concept like the existing Power Rename feature.
What is the scenario this would be used?
Answer: Many a times, Users need to change multiple folder icons to a similar type, so that it helps them to organize huge amount of folders. The current procedure available, is to change each and every folder icons individually i.e. by Right Clicking on the Folder > Properties >Customize > Change Icons under Folder Icons, which is hectic if you consider doing the same thing for hundreds of folders. Therefore, a native few clicks solution to this problem would be really helpful.
Here are links of few forums, where people in need of this feature, being suggested/forced to use 3rd Party Apps/Coding, since no native few clicks solution are available :

https://www.howtogeek.com/forum/topic/how-do-i-change-folder-icons-for-many-folder-at-one-time-in-windows-7#:~:text="Highlight all of the folders,folders and click "Properties."&text=Click the "Change Icon" button,or downloaded from the Internet.
https://answers.microsoft.com/en-us/windows/forum/all/how-do-you-change-multiple-file-folder-icons-all/13fd8918-4c33-4e61-a6a0-b1348b83d2e5
https://answers.microsoft.com/en-us/windows/forum/windows_10-files/changing-default-folder-icon-for-all-folders-on/cefe6da7-770d-4f9a-a94e-76e496d81b53
https://superuser.com/questions/1142609/how-to-do-i-batch-change-icons-of-folders-in-windows-10
https://www.reddit.com/r/windows/comments/ewa2fw/bulk_change_multiple_folder_icons_in_windows_10/
https://www.reddit.com/r/windows/comments/a5lu5f/how_to_change_multiple_folder_icons_at_once/
https://www.codeproject.com/Questions/1267157/How-to-change-multiple-folder-icons-in-windows

If you'd like to see this feature implemented, add a 👍 reaction to this post.

just wondering what is the actual scenario for changing folder icons.  like, when do you do this?  Saying this as someone that has never changed a folder icon :)

actually, changing folder icons gives a more clean, organized look, helps to categorize multiple similar folders by icons ( cuz for some reason, one is not able to or doesn't want to put all the similar category of folders into a single folder and change the icon of that ) especially when you are dealing with lots of folders at a place. These are actually rare cases I understand, but you konw for many people these are handy, like Power Rename, which I belive, won't be used by all, but some special cases exists for these types of features. hopefully, i have clarified your doubt.

I understand this request. Having that said:

There are, as you said, existing software like https://foldermarker.com
To me, also sounds like a limitation in Windows OS

source: gharchive/issue

authors: C0d3r6u01-3122 Jay-o-Way crutkas ghost

repo: microsoft/PowerToys

license: MIT

license_type: permissive

license_source: github-api


text:
[Settings] Nuget packages update

Summary of the Pull Request
WinUI upgrade fixes: #13080
Quality Checklist

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

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

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

i'm find with this but my suggestion is verify at the SLN level we got all references

i'm find with this but my suggestion is verify at the SLN level we got all references

I think @crutkas means updating other instances of these packages through the solution as well. From what I see, Microsoft.UI.Xaml is used on the PowerRenameUILib project as well.

i'm find with this but my suggestion is verify at the SLN level we got all references

I think @crutkas means updating other instances of these packages through the solution as well. From what I see, Microsoft.UI.Xaml is used on the PowerRenameUILib project as well.

Yep, we had that one covered in: #15707. But yeah, makes sense to update these across the board although these two projects are probably the only ones using it..

This change ended up being reverted in https://github.com/microsoft/PowerToys/pull/15138 , due to including the WebView dependencies. A bit more investigation needs to be put here to understand the implications.

source: gharchive/pull-request

authors: crutkas jaimecbernardo niels9001


text:
added power preview settings

Summary of the Pull Request

added  page and functionality fo

References

PR Checklist

[x] Applies to #1482
[x] CLA signed. If not, go over here and sign the CLA
[] Tests added/passed
[x] Requires documentation to be updated
[x] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #1482

Validation Steps Performed

Verified updates the settings JSON file.
Verified that the changes in the UI were propagated to the module to configuration updates.

@laviusmotileng-ms
I tried to run the code, but I may have the wrong configuration (wrong .Net Core version?) on my machine and when I select the File Explorer Preview panel I get this exception:

Call stack (doesn't help much)
 	KernelBase.dll!00007ffaec63faff()	Unknown
 	combase.dll!00007ffaee60845b()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaac2ec0()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaac30b9()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca7c9c3f()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5326ad()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca62990a()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca494238()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca494024()	Unknown
 	user32.dll!00007ffaed735c0d()	Unknown
 	user32.dll!00007ffaed7357dc()	Unknown
 	user32.dll!00007ffaed741f73()	Unknown
 	ntdll.dll!00007ffaef61fe34()	Unknown
 	win32u.dll!00007ffaed0d1184()	Unknown
 	user32.dll!00007ffaed735279()	Unknown
 	user32.dll!00007ffaed734f88()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5f501c()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca55a9de()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca55a3fa()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd730()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bc278()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd4d9()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaa283e2()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac80dc8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac801a4()	Unknown
 	Windows.UI.dll!00007ffacf349980()	Unknown
 	Windows.UI.dll!00007ffacf349718()	Unknown
 	Windows.UI.dll!00007ffacf35500a()	Unknown
 	Windows.UI.dll!00007ffacf354aef()	Unknown
 	Windows.UI.dll!00007ffacf35504e()	Unknown
 	ninput.dll!00007ffae7d70ffa()	Unknown
 	ninput.dll!00007ffae7d6df77()	Unknown
 	ninput.dll!00007ffae7d8ba57()	Unknown
 	ninput.dll!00007ffae7d8ba22()	Unknown
 	ninput.dll!00007ffae7d8b1e6()	Unknown
 	ninput.dll!00007ffae7d8b2bb()	Unknown
 	ninput.dll!00007ffae7d89bd8()	Unknown
 	ninput.dll!00007ffae7d6e95b()	Unknown
 	ninput.dll!00007ffae7d6e29d()	Unknown
 	ninput.dll!00007ffae7d6c824()	Unknown
 	Windows.UI.dll!00007ffacf3558e8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac7e7c6()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac7e93c()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd3f8()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bc652()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac844c0()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca807f2a()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5d5190()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5d4f53()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaab41c8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaa8eb13()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca899ac3()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca89a3b3()	Unknown
 	InputHost.dll!00007ffaceefc30f()	Unknown
 	InputHost.dll!00007ffaceef705f()	Unknown
 	InputHost.dll!00007ffaceef68bc()	Unknown
 	InputHost.dll!00007ffaceefb73d()	Unknown
 	InputHost.dll!00007ffaceefa813()	Unknown
 	InputHost.dll!00007ffaceef9faa()	Unknown
 	InputHost.dll!00007ffacef02a81()	Unknown
 	InputHost.dll!00007ffacef0f060()	Unknown
 	InputHost.dll!00007ffacef0d239()	Unknown
 	InputHost.dll!00007ffacef0e1d6()	Unknown
 	InputHost.dll!00007ffacef0e814()	Unknown
 	InputHost.dll!00007ffacef11c78()	Unknown
 	InputHost.dll!00007ffacef11bb2()	Unknown
 	user32.dll!00007ffaed735c0d()	Unknown
 	user32.dll!00007ffaed735602()	Unknown
 	00007ffa10f8869e()	Unknown
 	WindowsBase.dll!00007ffa6ebba25c()	Unknown
 	WindowsBase.dll!00007ffa6ebb7801()	Unknown
 	WindowsBase.dll!00007ffa6ebb77ae()	Unknown
 	PresentationFramework.dll!00007ffa6f3ce84c()	Unknown
 	PresentationFramework.dll!00007ffa6f3cce61()	Unknown
 	PresentationFramework.dll!00007ffa6f3c9e3c()	Unknown
 	00007ffa10a916fa()	Unknown
 	coreclr.dll!00007ffa705b6b63()	Unknown
 	coreclr.dll!00007ffa7054cb62()	Unknown
 	coreclr.dll!00007ffa70553b29()	Unknown
 	coreclr.dll!00007ffa70553fb7()	Unknown
 	coreclr.dll!00007ffa70554761()	Unknown
 	coreclr.dll!00007ffa704721c1()	Unknown
 	hostpolicy.dll!00007ffa75374e2d()	Unknown
 	hostpolicy.dll!00007ffa75382e27()	Unknown
 	hostpolicy.dll!00007ffa75382a36()	Unknown
 	hostpolicy.dll!00007ffa75384262()	Unknown
 	hostfxr.dll!00007ffa757b0653()	Unknown
 	hostfxr.dll!00007ffa757b37c8()	Unknown
 	hostfxr.dll!00007ffa757b27cd()	Unknown
 	hostfxr.dll!00007ffa757b027c()	Unknown
 	hostfxr.dll!00007ffa757abd0c()	Unknown
	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f189f()	Unknown
 	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f1c38()	Unknown
 	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f3ae8()	Unknown
 	kernel32.dll!00007ffaed647bd4()	Unknown
 	ntdll.dll!00007ffaef5eced1()	Unknown

@laviusmotileng-ms
I tried to run the code, but I may have the wrong configuration (wrong .Net Core version?) on my machine and when I select the File Explorer Preview panel I get this exception:

Call stack (doesn't help much)
 	KernelBase.dll!00007ffaec63faff()	Unknown
 	combase.dll!00007ffaee60845b()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaac2ec0()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaac30b9()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca7c9c3f()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5326ad()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca62990a()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca494238()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca494024()	Unknown
 	user32.dll!00007ffaed735c0d()	Unknown
 	user32.dll!00007ffaed7357dc()	Unknown
 	user32.dll!00007ffaed741f73()	Unknown
 	ntdll.dll!00007ffaef61fe34()	Unknown
 	win32u.dll!00007ffaed0d1184()	Unknown
 	user32.dll!00007ffaed735279()	Unknown
 	user32.dll!00007ffaed734f88()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5f501c()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca55a9de()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca55a3fa()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd730()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bc278()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd4d9()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaa283e2()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac80dc8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac801a4()	Unknown
 	Windows.UI.dll!00007ffacf349980()	Unknown
 	Windows.UI.dll!00007ffacf349718()	Unknown
 	Windows.UI.dll!00007ffacf35500a()	Unknown
 	Windows.UI.dll!00007ffacf354aef()	Unknown
 	Windows.UI.dll!00007ffacf35504e()	Unknown
 	ninput.dll!00007ffae7d70ffa()	Unknown
 	ninput.dll!00007ffae7d6df77()	Unknown
 	ninput.dll!00007ffae7d8ba57()	Unknown
 	ninput.dll!00007ffae7d8ba22()	Unknown
 	ninput.dll!00007ffae7d8b1e6()	Unknown
 	ninput.dll!00007ffae7d8b2bb()	Unknown
 	ninput.dll!00007ffae7d89bd8()	Unknown
 	ninput.dll!00007ffae7d6e95b()	Unknown
 	ninput.dll!00007ffae7d6e29d()	Unknown
 	ninput.dll!00007ffae7d6c824()	Unknown
 	Windows.UI.dll!00007ffacf3558e8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac7e7c6()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac7e93c()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd3f8()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bc652()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac844c0()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca807f2a()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5d5190()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5d4f53()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaab41c8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaa8eb13()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca899ac3()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca89a3b3()	Unknown
 	InputHost.dll!00007ffaceefc30f()	Unknown
 	InputHost.dll!00007ffaceef705f()	Unknown
 	InputHost.dll!00007ffaceef68bc()	Unknown
 	InputHost.dll!00007ffaceefb73d()	Unknown
 	InputHost.dll!00007ffaceefa813()	Unknown
 	InputHost.dll!00007ffaceef9faa()	Unknown
 	InputHost.dll!00007ffacef02a81()	Unknown
 	InputHost.dll!00007ffacef0f060()	Unknown
 	InputHost.dll!00007ffacef0d239()	Unknown
 	InputHost.dll!00007ffacef0e1d6()	Unknown
 	InputHost.dll!00007ffacef0e814()	Unknown
 	InputHost.dll!00007ffacef11c78()	Unknown
 	InputHost.dll!00007ffacef11bb2()	Unknown
 	user32.dll!00007ffaed735c0d()	Unknown
 	user32.dll!00007ffaed735602()	Unknown
 	00007ffa10f8869e()	Unknown
 	WindowsBase.dll!00007ffa6ebba25c()	Unknown
 	WindowsBase.dll!00007ffa6ebb7801()	Unknown
 	WindowsBase.dll!00007ffa6ebb77ae()	Unknown
 	PresentationFramework.dll!00007ffa6f3ce84c()	Unknown
 	PresentationFramework.dll!00007ffa6f3cce61()	Unknown
 	PresentationFramework.dll!00007ffa6f3c9e3c()	Unknown
 	00007ffa10a916fa()	Unknown
 	coreclr.dll!00007ffa705b6b63()	Unknown
 	coreclr.dll!00007ffa7054cb62()	Unknown
 	coreclr.dll!00007ffa70553b29()	Unknown
 	coreclr.dll!00007ffa70553fb7()	Unknown
 	coreclr.dll!00007ffa70554761()	Unknown
 	coreclr.dll!00007ffa704721c1()	Unknown
 	hostpolicy.dll!00007ffa75374e2d()	Unknown
 	hostpolicy.dll!00007ffa75382e27()	Unknown
 	hostpolicy.dll!00007ffa75382a36()	Unknown
 	hostpolicy.dll!00007ffa75384262()	Unknown
 	hostfxr.dll!00007ffa757b0653()	Unknown
 	hostfxr.dll!00007ffa757b37c8()	Unknown
 	hostfxr.dll!00007ffa757b27cd()	Unknown
 	hostfxr.dll!00007ffa757b027c()	Unknown
 	hostfxr.dll!00007ffa757abd0c()	Unknown
	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f189f()	Unknown
 	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f1c38()	Unknown
 	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f3ae8()	Unknown
 	kernel32.dll!00007ffaed647bd4()	Unknown
 	ntdll.dll!00007ffaef5eced1()	Unknown

thanks I will look at it now.

@laviusmotileng-ms
I tried to run the code, but I may have the wrong configuration (wrong .Net Core version?) on my machine and when I select the File Explorer Preview panel I get this exception:

Call stack (doesn't help much)

Hi Enrico, i just pulled the changes afresh and re-ran the code and it works on my machine. Can you try applying the following VS configurations and let me know it it helps: https://www.privfile.com/download.php?fid=5e7cee1e47b4f-Mzg1

@laviusmotileng-ms
I tried to run the code, but I may have the wrong configuration (wrong .Net Core version?) on my machine and when I select the File Explorer Preview panel I get this exception:

Call stack (doesn't help much)

Hi Enrico, i just pulled the changes afresh and re-ran the code and it works on my machine. Can you try applying the following VS configurations and let me know it it helps: https://www.privfile.com/download.php?fid=5e7cee1e47b4f-Mzg1

Trying installing .Net Core 3.1 too.

@laviusmotileng-ms
I tried to run the code, but I may have the wrong configuration (wrong .Net Core version?) on my machine and when I select the File Explorer Preview panel I get this exception:

Call stack (doesn't help much)
 	KernelBase.dll!00007ffaec63faff()	Unknown
 	combase.dll!00007ffaee60845b()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaac2ec0()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaac30b9()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca7c9c3f()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5326ad()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca62990a()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca494238()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca494024()	Unknown
 	user32.dll!00007ffaed735c0d()	Unknown
 	user32.dll!00007ffaed7357dc()	Unknown
 	user32.dll!00007ffaed741f73()	Unknown
 	ntdll.dll!00007ffaef61fe34()	Unknown
 	win32u.dll!00007ffaed0d1184()	Unknown
 	user32.dll!00007ffaed735279()	Unknown
 	user32.dll!00007ffaed734f88()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5f501c()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca55a9de()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca55a3fa()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd730()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bc278()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd4d9()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaa283e2()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac80dc8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac801a4()	Unknown
 	Windows.UI.dll!00007ffacf349980()	Unknown
 	Windows.UI.dll!00007ffacf349718()	Unknown
 	Windows.UI.dll!00007ffacf35500a()	Unknown
 	Windows.UI.dll!00007ffacf354aef()	Unknown
 	Windows.UI.dll!00007ffacf35504e()	Unknown
 	ninput.dll!00007ffae7d70ffa()	Unknown
 	ninput.dll!00007ffae7d6df77()	Unknown
 	ninput.dll!00007ffae7d8ba57()	Unknown
 	ninput.dll!00007ffae7d8ba22()	Unknown
 	ninput.dll!00007ffae7d8b1e6()	Unknown
 	ninput.dll!00007ffae7d8b2bb()	Unknown
 	ninput.dll!00007ffae7d89bd8()	Unknown
 	ninput.dll!00007ffae7d6e95b()	Unknown
 	ninput.dll!00007ffae7d6e29d()	Unknown
 	ninput.dll!00007ffae7d6c824()	Unknown
 	Windows.UI.dll!00007ffacf3558e8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac7e7c6()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac7e93c()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd3f8()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bc652()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac844c0()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca807f2a()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5d5190()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5d4f53()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaab41c8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaa8eb13()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca899ac3()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca89a3b3()	Unknown
 	InputHost.dll!00007ffaceefc30f()	Unknown
 	InputHost.dll!00007ffaceef705f()	Unknown
 	InputHost.dll!00007ffaceef68bc()	Unknown
 	InputHost.dll!00007ffaceefb73d()	Unknown
 	InputHost.dll!00007ffaceefa813()	Unknown
 	InputHost.dll!00007ffaceef9faa()	Unknown
 	InputHost.dll!00007ffacef02a81()	Unknown
 	InputHost.dll!00007ffacef0f060()	Unknown
 	InputHost.dll!00007ffacef0d239()	Unknown
 	InputHost.dll!00007ffacef0e1d6()	Unknown
 	InputHost.dll!00007ffacef0e814()	Unknown
 	InputHost.dll!00007ffacef11c78()	Unknown
 	InputHost.dll!00007ffacef11bb2()	Unknown
 	user32.dll!00007ffaed735c0d()	Unknown
 	user32.dll!00007ffaed735602()	Unknown
 	00007ffa10f8869e()	Unknown
 	WindowsBase.dll!00007ffa6ebba25c()	Unknown
 	WindowsBase.dll!00007ffa6ebb7801()	Unknown
 	WindowsBase.dll!00007ffa6ebb77ae()	Unknown
 	PresentationFramework.dll!00007ffa6f3ce84c()	Unknown
 	PresentationFramework.dll!00007ffa6f3cce61()	Unknown
 	PresentationFramework.dll!00007ffa6f3c9e3c()	Unknown
 	00007ffa10a916fa()	Unknown
 	coreclr.dll!00007ffa705b6b63()	Unknown
 	coreclr.dll!00007ffa7054cb62()	Unknown
 	coreclr.dll!00007ffa70553b29()	Unknown
 	coreclr.dll!00007ffa70553fb7()	Unknown
 	coreclr.dll!00007ffa70554761()	Unknown
 	coreclr.dll!00007ffa704721c1()	Unknown
 	hostpolicy.dll!00007ffa75374e2d()	Unknown
 	hostpolicy.dll!00007ffa75382e27()	Unknown
 	hostpolicy.dll!00007ffa75382a36()	Unknown
 	hostpolicy.dll!00007ffa75384262()	Unknown
 	hostfxr.dll!00007ffa757b0653()	Unknown
 	hostfxr.dll!00007ffa757b37c8()	Unknown
 	hostfxr.dll!00007ffa757b27cd()	Unknown
 	hostfxr.dll!00007ffa757b027c()	Unknown
 	hostfxr.dll!00007ffa757abd0c()	Unknown
	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f189f()	Unknown
 	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f1c38()	Unknown
 	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f3ae8()	Unknown
 	kernel32.dll!00007ffaed647bd4()	Unknown
 	ntdll.dll!00007ffaef5eced1()	Unknown

thanks I will look at it now.

Can you verify if the following file exists: C:\Users<your user name>\AppData\Local\Microsoft\PowerToys\File Explorer Preview\settings.json

@laviusmotileng-ms
I tried to run the code, but I may have the wrong configuration (wrong .Net Core version?) on my machine and when I select the File Explorer Preview panel I get this exception:

Call stack (doesn't help much)
 	KernelBase.dll!00007ffaec63faff()	Unknown
 	combase.dll!00007ffaee60845b()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaac2ec0()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaac30b9()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca7c9c3f()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5326ad()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca62990a()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca494238()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca494024()	Unknown
 	user32.dll!00007ffaed735c0d()	Unknown
 	user32.dll!00007ffaed7357dc()	Unknown
 	user32.dll!00007ffaed741f73()	Unknown
 	ntdll.dll!00007ffaef61fe34()	Unknown
 	win32u.dll!00007ffaed0d1184()	Unknown
 	user32.dll!00007ffaed735279()	Unknown
 	user32.dll!00007ffaed734f88()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5f501c()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca55a9de()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca55a3fa()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd730()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bc278()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd4d9()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaa283e2()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac80dc8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac801a4()	Unknown
 	Windows.UI.dll!00007ffacf349980()	Unknown
 	Windows.UI.dll!00007ffacf349718()	Unknown
 	Windows.UI.dll!00007ffacf35500a()	Unknown
 	Windows.UI.dll!00007ffacf354aef()	Unknown
 	Windows.UI.dll!00007ffacf35504e()	Unknown
 	ninput.dll!00007ffae7d70ffa()	Unknown
 	ninput.dll!00007ffae7d6df77()	Unknown
 	ninput.dll!00007ffae7d8ba57()	Unknown
 	ninput.dll!00007ffae7d8ba22()	Unknown
 	ninput.dll!00007ffae7d8b1e6()	Unknown
 	ninput.dll!00007ffae7d8b2bb()	Unknown
 	ninput.dll!00007ffae7d89bd8()	Unknown
 	ninput.dll!00007ffae7d6e95b()	Unknown
 	ninput.dll!00007ffae7d6e29d()	Unknown
 	ninput.dll!00007ffae7d6c824()	Unknown
 	Windows.UI.dll!00007ffacf3558e8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac7e7c6()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac7e93c()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bd3f8()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca8bc652()	Unknown
 	Windows.UI.Xaml.dll!00007ffacac844c0()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca807f2a()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5d5190()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca5d4f53()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaab41c8()	Unknown
 	Windows.UI.Xaml.dll!00007ffacaa8eb13()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca899ac3()	Unknown
 	Windows.UI.Xaml.dll!00007ffaca89a3b3()	Unknown
 	InputHost.dll!00007ffaceefc30f()	Unknown
 	InputHost.dll!00007ffaceef705f()	Unknown
 	InputHost.dll!00007ffaceef68bc()	Unknown
 	InputHost.dll!00007ffaceefb73d()	Unknown
 	InputHost.dll!00007ffaceefa813()	Unknown
 	InputHost.dll!00007ffaceef9faa()	Unknown
 	InputHost.dll!00007ffacef02a81()	Unknown
 	InputHost.dll!00007ffacef0f060()	Unknown
 	InputHost.dll!00007ffacef0d239()	Unknown
 	InputHost.dll!00007ffacef0e1d6()	Unknown
 	InputHost.dll!00007ffacef0e814()	Unknown
 	InputHost.dll!00007ffacef11c78()	Unknown
 	InputHost.dll!00007ffacef11bb2()	Unknown
 	user32.dll!00007ffaed735c0d()	Unknown
 	user32.dll!00007ffaed735602()	Unknown
 	00007ffa10f8869e()	Unknown
 	WindowsBase.dll!00007ffa6ebba25c()	Unknown
 	WindowsBase.dll!00007ffa6ebb7801()	Unknown
 	WindowsBase.dll!00007ffa6ebb77ae()	Unknown
 	PresentationFramework.dll!00007ffa6f3ce84c()	Unknown
 	PresentationFramework.dll!00007ffa6f3cce61()	Unknown
 	PresentationFramework.dll!00007ffa6f3c9e3c()	Unknown
 	00007ffa10a916fa()	Unknown
 	coreclr.dll!00007ffa705b6b63()	Unknown
 	coreclr.dll!00007ffa7054cb62()	Unknown
 	coreclr.dll!00007ffa70553b29()	Unknown
 	coreclr.dll!00007ffa70553fb7()	Unknown
 	coreclr.dll!00007ffa70554761()	Unknown
 	coreclr.dll!00007ffa704721c1()	Unknown
 	hostpolicy.dll!00007ffa75374e2d()	Unknown
 	hostpolicy.dll!00007ffa75382e27()	Unknown
 	hostpolicy.dll!00007ffa75382a36()	Unknown
 	hostpolicy.dll!00007ffa75384262()	Unknown
 	hostfxr.dll!00007ffa757b0653()	Unknown
 	hostfxr.dll!00007ffa757b37c8()	Unknown
 	hostfxr.dll!00007ffa757b27cd()	Unknown
 	hostfxr.dll!00007ffa757b027c()	Unknown
 	hostfxr.dll!00007ffa757abd0c()	Unknown
	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f189f()	Unknown
 	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f1c38()	Unknown
 	Microsoft.PowerToys.Settings.UI.Runner.exe!00007ff67e0f3ae8()	Unknown
 	kernel32.dll!00007ffaed647bd4()	Unknown
 	ntdll.dll!00007ffaef5eced1()	Unknown

thanks I will look at it now.

Can you verify if the following file exists: C:\Users\AppData\Local\Microsoft\PowerToys\File Explorer Preview\settings.json

I fixed it here: https://github.com/microsoft/PowerToys/pull/1702/commits/6604c2d43f9c1e52af03a2c0b85f6d6f52702e9d

everyone, to be crisp, the decision was to just not have the new vs old toggle switch for UX, not have a breaking change.  Incase something doesn't land, we still have the old UX to fall back on then.

authors: crutkas enricogior laviusmotileng-ms


text:
Aug 11- TBD

Event Information

Category
Details

Reactor Topic
Coding, Languages, and Frameworks

Monthly Topic (if applicable)
Powerful APIs and Power Platform

Weekly Topic (if applicable)

Stream Topic
Anne is going to be talking about API Design

Stream Date
August 11, 2020

Stream Time
4pm PT

Stream Duration
60

Title
The Design of Microsoft APIs

Description
The design of APIs is a critical component to supporting developers. As developers, we expect that the APIs from a particular product or company are similar in style because it allows us to more easily discover and understand how to integrate into their technologies. Microsoft has specific guidelines around designing APIs. Come meet one of the Microsoft API design team members to learn more!

Speaker
Anne Loomis Thompson

Moderator
Sarah Guthals

SharePoint ID

Additional Resources:

Event Checklist
10 Weeks Prior

[X] Reactor Content Team (RCT) or Speaker opens a new issue for an upcoming stream filling in the Event Information table. Both RCT and Speaker are marked as assignees.
[ ] RCT and Speaker discuss details of the event in the comments of this issue. RCT adds a confirmed-event label and global-twitch-event tag to the issue and adds event to the Global Live Streams project. Issue will appear in the Upcoming Streams column
[X] Speaker adds a ready-for-marketing-edit label so the RCT can review title and description

8 Weeks Prior

[ ] RCT does a review of title and description and removes the ready-for-marketing-edit label
[ ] RCT moves the issue to the Ready for SharePoint column
[ ] RCT informs the Reactor Marketing Team of the new event information
[ ] RCT provides speaker with assets (e.g. slides, overlays) and the survey data for the event
[ ] RCT moves the issue to the MONTH Streams Prep column (according to the month it will be streamed in)

2 Weeks Prior (Done in /microsoft/Reactors)

[ ] Speaker opens a PR with the new content for the stream on the customer-facing Reactor repository and adds the content-development and global-twitch-event tag to the PR.
[ ] Speaker adds to the same PR a modification to the Streaming README to include their stream information.
[ ] Speaker adds the RCT assigned to the issue as the reviewer when it is ready for review/merge
[ ] RCT reviews, approves, and merges the changes

1 Week Prior

[ ] Speaker and Moderator test setup for streaming (instructions coming soon)
[ ] RCT checks in with the speaker and moves the issue to the Ready to Stream column

During and After Stream

[ ] Speaker and Moderator run the stream
[ ] RCT submits recording to be uploaded to the Reactor YouTube and to be made available on LearnTV
[ ] RCT moves issue to the Stream Complete column

I'm confirming with Anne that the date works.

@KimberlyBolton1 - Hey this event is ready for Marketing!

@GeekTrainer
Edited abstract below...let me know if you have any feedback:
Work Less with Serverless Computing
Setting up traditional web servers can be tricky, even ones based in the cloud. How do you manage scaling? How many VMs are too many or too few? And what about those little operations which might be executed in bursts and then not again for days? Let serverless computing ease your burden. With serverless computing, you can put your focus on the code and let Azure Functions handle the complex orchestration problems. In this session, we’ll walk through how to create functions with Python for an easier, better end-to-end development experience.

Received feedback from content owner that we need to pivot away from serverless being less work. Here's the final edit:
Be Better Served by Serverless Computing
Setting up traditional web servers can be tricky, even those based in the cloud. How do you manage scaling? How many VMs are too many? What size should they be? And how do you manage those little operations which are executed in bursts and then not for days? Serverless computing can ease your burden. You can focus on your code while letting serverless Azure Functions handle the scaling for you. In this session, we'll create and deploy some functions with Python and develop applications with less overhead.
@mebaumb abstract final and moved to ready for sharepoint.

Published on Sharepoint (6/29)

Session recorded and uploaded to YouTube: https://www.youtube.com/watch?v=LF_wO1yMUTM. Closing issue.

authors: KimberlyBolton1 mebaumb sguthals

repo: microsoft/ReactorPlanning


text:
std::exception::what(): Operation not permitted\nActual exception type: std::system_error

smartkg_services-mongo-1 exited with code 14
"Initialized wire specification","attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":21},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":21},"outgoing":{"minWireVersion":6,"maxWireVersion":21},"isInternalClient":true}}}
"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."}
"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationDonorService","namespace":"config.tenantMigrationDonors"}}
"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationRecipientService","namespace":"config.tenantMigrationRecipients"}}
"Multi threading initialized"}
"Writing fatal message","attr":{"message":"terminate() called. An exception is active; attempting to gather more information\n"}}
"Writing fatal message","attr":{"message":"std::exception::what(): Operation not permitted\nActual exception type: std::system_error\n\n"}}
"Writing fatal message","attr":{"message":"\n"}}
"BACKTRACE","attr":{"bt":{"backtrace":[{"a":"56259E011E78","b":"5625965DD000","o":"7A34E78","s":"_ZN5mongo15printStackTraceEv","C":"mongo::printStackTrace()","s+":"38"},{"a":"56259E00D29B","b":"5625965DD000","o":"7A3029B","s":"_ZN5mongo12_GLOBAL__N_111myTerminateEv","C":"mongo::(anonymous namespace)::myTerminate()","s+":"DB"},{"a":"56259E1B4CDA","b":"5625965DD000","o":"7BD7CDA","s":"_ZN10__cxxabiv111__terminateEPFvvE","C":"__cxxabiv1::__terminate(void ()())","s+":"A"},{"a":"56259E1B4D45","b":"5625965DD000","o":"7BD7D45","s":"_ZSt9terminatev","C":"std::terminate()","s+":"15"},{"a":"56259E1B4E99","b":"5625965DD000","o":"7BD7E99","s":"__cxa_throw","s+":"49"},{"a":"56259E23AC65","b":"5625965DD000","o":"7C5DC65","s":"_ZSt20__throw_system_errori","C":"std::__throw_system_error(int)","s+":"88"},{"a":"56259E23AEDD","b":"5625965DD000","o":"7C5DEDD","s":"_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE","C":"std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_deletestd::thread::_State >, void ()())","s+":"2D"},{"a":"56259B3F9ACC","b":"5625965DD000","o":"4E1CACC","s":"_ZN5mongo27startSignalProcessingThreadENS_13LogFileStatusE","C":"mongo::startSignalProcessingThread(mongo::LogFileStatus)","s+":"11C"},{"a":"56259A007B81","b":"5625965DD000","o":"3A2AB81","s":"_ZN5mongo11mongod_mainEiPPc","C":"mongo::mongod_main(int, char**)","s+":"1001"},{"a":"562599FFFDF5","b":"5625965DD000","o":"3A22DF5","s":"main","s+":"C"},{"a":"7FF268815D90","b":"7FF2687EC000","o":"29D90","s":"__libc_init_first","s+":"90"},{"a":"7FF268815E40","b":"7FF2687EC000","o":"29E40","s":"__libc_start_main","s+":"80"},{"a":"562599FFFD25","b":"5625965DD000","o":"3A22D25","s":"_start","s+":"25"}],"processInfo":{"mongodbVersion":"7.0.5","gitVersion":"7809d71e84e314b497f282ea8aa06d7ded3eb205","compiledModules":[],"uname":{"sysname":"Linux","release":"5.4.0-150-generic","version":"#167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023","machine":"x86_64"},"somap":[{"b":"5625965DD000","elfType":3,"buildId":"1E37CC781EB07208"},{"b":"7FF2687EC000","path":"/lib/x86_64-linux-gnu/libc.so.6","elfType":3,"buildId":"C289DA5071A3399DE893D2AF81D6A30C62646E1E"}]}}},"tags":[]}
"Frame","attr":{"frame":{"a":"56259E011E78","b":"5625965DD000","o":"7A34E78","s":"_ZN5mongo15printStackTraceEv","C":"mongo::printStackTrace()","s+":"38"}}}
"Frame","attr":{"frame":{"a":"56259E00D29B","b":"5625965DD000","o":"7A3029B","s":"_ZN5mongo12_GLOBAL__N_111myTerminateEv","C":"mongo::(anonymous namespace)::myTerminate()","s+":"DB"}}}
"Frame","attr":{"frame":{"a":"56259E1B4CDA","b":"5625965DD000","o":"7BD7CDA","s":"_ZN10__cxxabiv111__terminateEPFvvE","C":"__cxxabiv1::__terminate(void ()())","s+":"A"}}}
"Frame","attr":{"frame":{"a":"56259E1B4D45","b":"5625965DD000","o":"7BD7D45","s":"_ZSt9terminatev","C":"std::terminate()","s+":"15"}}}
"Frame","attr":{"frame":{"a":"56259E1B4E99","b":"5625965DD000","o":"7BD7E99","s":"__cxa_throw","s+":"49"}}}
"Frame","attr":{"frame":{"a":"56259E23AC65","b":"5625965DD000","o":"7C5DC65","s":"_ZSt20__throw_system_errori","C":"std::__throw_system_error(int)","s+":"88"}}}
"Frame","attr":{"frame":{"a":"56259E23AEDD","b":"5625965DD000","o":"7C5DEDD","s":"_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE","C":"std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_deletestd::thread::_State >, void ()())","s+":"2D"}}}
"Frame","attr":{"frame":{"a":"56259B3F9ACC","b":"5625965DD000","o":"4E1CACC","s":"_ZN5mongo27startSignalProcessingThreadENS_13LogFileStatusE","C":"mongo::startSignalProcessingThread(mongo::LogFileStatus)","s+":"11C"}}}
"Frame","attr":{"frame":{"a":"56259A007B81","b":"5625965DD000","o":"3A2AB81","s":"_ZN5mongo11mongod_mainEiPPc","C":"mongo::mongod_main(int, char**)","s+":"1001"}}}
"Frame","attr":{"frame":{"a":"562599FFFDF5","b":"5625965DD000","o":"3A22DF5","s":"main","s+":"C"}}}
"Frame","attr":{"frame":{"a":"7FF268815D90","b":"7FF2687EC000","o":"29D90","s":"__libc_init_first","s+":"90"}}}
"Frame","attr":{"frame":{"a":"7FF268815E40","b":"7FF2687EC000","o":"29E40","s":"__libc_start_main","s+":"80"}}}
"Frame","attr":{"frame":{"a":"562599FFFD25","b":"5625965DD000","o":"3A22D25","s":"_start","s+":"25"}}}
smartkg_services-smartkg-1     | Aborted (core dumped)
smartkg_services-smartkg-1 exited with code 134
smartkg_services-mongo-1 exited with code 14

MANGO_VERSION=7.0.5
Ubuntu18.04(Linux version 5.4.0-150-generic)

issue fixed for mongodb:
add privileged: true into the docker-compose.yml file, in the mongo section.

repo: microsoft/SmartKG


text:
Missing end of line semicolons - "Differences Between Type Aliases and Interfaces"

Under "Differences Between Type Aliases and Interfaces" > "Interface" > "Extending an interface", the last three lines are missing semicolons.
I'm not yet super technically proficient - and it seems semicolons are optional more than I expected. But I'd imagine the 'extending an interface' on the left should have a parallel structure to the 'Extending a type via intersections' on the right in all ways not relevant to the point that's being made. I initially wondered if it was trying to make some comment about semicolon use for interfaces.
Thanks!

There's a PR for this: https://github.com/microsoft/TypeScript-Website/pull/2435
Semis are optional in types, but we use prettier on all code samples to make them consistent

authors: MaxRigby orta

repo: microsoft/TypeScript-Website


text:
Inconsistent object declaration for comma and semi-colon?

I found a strange thing with object type declaration. I expect the p2 is the correct one, but it worked with a , or even I omit the semi-colon, it's still fine. Why is it so inconsistent?
let p: {
    x: number,
    y: string
} = {
    x: 1,
    y: "abc",
}

let p2: {
    x: number;
    y: string
} = {
    x: 1,
    y: "abc",
}

let p3: {
    x: number
    y: string
} = {
    x: 1,
    y: "abc",
}

https://www.typescriptlang.org/play?#code/DYUwLgBADgXBDeAoCKIA84DsCuBbARiAE4A0yqAnnAM5hECWmA5ogL4QC8C5KGEAjGVQQqEAEQBDfAGMxZVokWhIUAExwkwvjgLEA3DxE06jFuy6bUfQYdGSZctosTLoAZg2HteQkVvGGZjZObi04G2E7KVl5RSA
Expected behavior:
Throw error when use ,
Actual behavior:
Everything is fine

Type members can be separated by comma or semicolon, and like in other JavaScript, the separator is optional if a newline is sufficient to disambiguate.

repo: microsoft/TypeScript


text:
[Feature Request] Provide syntax for exceptions to index operator

Search Terms
index signature class extend record
Suggestion
Come up with some syntax for classes to implement a Record pattern / index signature, while having members/methods that do not conform to its constraints.
class FooDictionary {
  [key: string, other than "id" or "print" or "serialize"]: Foo;  // Needs magic
  id: string;
  print() { ... }
  serialize() { ... }
}

I'm not sure how this would be implemented.  Maybe what's needed is a "complement" type, i.e. a formal internal representation of Exclude<string, "a" | "b"> that doesn't just collapse down to string?
Use Cases
There seems to be wide consensus that implementing the Record pattern directly on classes is A Bad Idea, but that doesn't change the fact that legacy codebases exist that use this pattern.  I came here because I'm trying to describe the shape of this PropertyBag class but there are a bunch of StackOverflow questions (and a few issues here) where people are asking for the same thing

https://stackoverflow.com/questions/55054226
https://stackoverflow.com/questions/60706834
https://stackoverflow.com/questions/48032926
https://stackoverflow.com/questions/57899147
https://github.com/microsoft/TypeScript/issues/19828

Details
I've done pretty extensive research and have found a number of partial workarounds, but none that fully describe a type that:
a) is new-able,
b) types its unknown properties strongly, and
c) types is known properties correctly
The closest I've gotten is this union type where you declare a base class and an interface with an index signature, then declare a union type that mashes them together, but as the Playground example shows, that union isn't new-able.
(Moving the bag-of-values down to a member property, would be a good idea, but I'm trying to describe the shape of code I don't own.)
Checklist
My suggestion meets these guidelines:

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[X] This feature would agree with the rest of TypeScript's Design Goals.

Related/duplicate #4183, #4196 and #29317

Thanks @j-oliveras , I didn't have the right terminology for "negated" -- "complement" turned up in a lot of set-theory articles that also use TS terms "union" and "intersection".
But! Also!  Before anybody mashes that "Close as Duplicate" button, I'd like to point out that I'm trying to solve a use case -- strongly typed indexing on a "normal" class -- not to advocate one specific solution.  While negated types would almost certainly solve this, I'd like to leave this as a separate issue to see if any other promising solutions can be proposed.

The real original is #17867

authors: RyanCavanaugh j-oliveras thw0rted


text:
Tagged type narrowing doesn't work when one of the tags is a union type

Bug Report
Tagged type narrowing doesn't work when one of the tags is a union type. Sorry, not sure how to be more descriptive

🔎 Search Terms
union narrowing

🕗 Version & Regression Information
3.9.7, 4.2.2, Nightly

This is a crash
This changed between versions ______ and _______
This is the behavior in every version I tried, and I reviewed the FAQ for entries about common bugs that aren't bugs
I was unable to test this on prior versions because _______

⏯ Playground Link

Playground link with relevant code
💻 Code

interface A {
    type: 'a'
}

interface BC {
    type: 'b' | 'c'
}

declare const value: A | BC

let a: A

if (value.type === 'a')
    a = value

if (value.type !== 'b' && value.type !== 'c')
    // type narrowing doesn't work here, value has type "A | BC" instead of "A"
    a = value

declare function isA(x: 'a' | 'b' | 'c'): x is 'a'

if (isA(value.type))
    // type narrowing doesn't work with type guard either
    a = value

🙁 Actual behavior

Type of a is not narrowed to A
🙂 Expected behavior

Type of a is narrowed to A

I have a simpler use case of another instance where type narrowing doesn't work.
The union type doesn't narrow unless the expression being checked in the if statement is exactly the variable itself. Any redirections in terms of variable assignments causes the type narrowing to fail.
let a : string | undefined;

if (new Date().getHours() > 4) {
    a = "value";
}

let b = !!a;

if (b) {
    a; // should be string, but is still union type
}

if (!!a) {
    a; // type is narrowed to a string here.
}

TypeScript Playground link: HERE

@koushikkothagal That would be #12184 (when using const instead of let).

The core problem is more easily explained in the expanded form
if (value.type !== 'b') {
  // ~~ here ~~
  if (value.type !== 'c') {

At this point, there's no type we can narrow value to - it's not A yet because there's still the c case. So when the subsequent c narrowing happens, we're still just narrowing A | BC, which again does nothing. We'd need to give it the interim type (A | BC) & Not<{value: "b"}>, but we don't have any way to represent this without negated types.

If you add value.type in the if condition
if (value.type !== 'b' && value.type !== 'c')
    // type narrowing doesn't work here, value has type "A | BC" instead of "A"
    value.type
    a = value

Seems that in IDE Typescript is able to figure out the only value.type value here is a, if you mouse hover over value.type. I get @RyanCavanaugh's point, but surely Typescript should be able to infer the type here? Is there any relevant feature suggestion put in to resolve this issue?

I made a playground showing what is IMO an even more simple case. I also made a Flow try showing the exact same behavior, but with no errors
The playground: https://www.typescriptlang.org/play/?#code/C4TwDgpgBAggQgYQCJwE4HsDWEB2UC8UAsAFBRQA+UA3lAM7ACGwArnQFxQDkMXl3cLgG4oEAB7BUjTg1QBLHAHMoAX1LkqtBszacuCPlS5I+akqVCRYiJAHV0qTAuX51-LU1Yduvfl0Ei4pLS9JLOqm6aoTre+qaRNNFeeiYR5iQAZiw4AMbAcuh4wBAMAJLAAPIswAAUjABGOQAmnPDIaFi4AJSJAPS9UABKEGAANow50AAGbSgY2DhTUADucsAAFlAzNvaOzkuMOE30ENAb0GAY9aMQALZQt4yKcjmMo6MgUKgl6KMAbhAAIRuOQZKB1RpNAB02i8BHwhDilCoDWaMM8bHhiJMPWobnI31YqBwbjM5BuwHoel8RkEBCgqOhsMx-SgABUAMpQTA4dDLOhQDbMLbMuhLOQCnCMVAYZYQY7AdA+QwCPhQ9VuQksYkMyFQoJSKCs9VQqD1apQNZQJroEo4LiUnl8wXrYVTA2McUCxh-RhycbXCCkFRAA

authors: MartinJohns RyanCavanaugh andriy-kudrya danny-does-stuff imdavidmin koushikkothagal


text:
package.json diagnostics in --module nodenext

In #46334, it became clear that it’s very easy to mess up writing export maps that will work correctly with --module nodenext. We would like to explore issuing diagnostics in package.json files in two scenarios (only in node12 and nodenext):

A types condition is not the first condition in an export map
A default condition is not the last condition in an export map

VS Code currently doesn’t synchronize unsaved changes to package.json files to TS Server (same as tsconfig.json files), so sending errors to the editor can only be done after a manual save. After getting the diagnostics in tsc, we’ll have to evaluate whether the experience in the editor is acceptable, or if we need to start syncing live changes to TS Server.

If you want types to be the first condition I suggest to update the 4.5 beta blog posts like https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/ which contain the, according to you, wrong order (types is last in the exports map example)

Let's discuss this at an upcoming design meeting.


text:
Auto-accessors generate bad JS with esnext and useDefineForClassFields:false

Bug Report
🔎 Search Terms
accessor esnext
🕗 Version & Regression Information

I was unable to test this on prior versions because this feature does not exist

⏯ Playground Link
Playground link with relevant code
💻 Code
class Test {
    accessor x = 10;
    method() {
        console.log(this.x)
    }
}

🙁 Actual behavior
When using ESNext as the target on the code above with useDefineForClassFields:false , the accessor is removed from output and replaced in some places with a private field that is not actually defied:
class Test {
    constructor() {
        this.#x_1 = 10;
    }
    method() {
        console.log(this.x);
    }
}

🙂 Expected behavior
The accessor syntax is preserved

Unfortunately, the expected behavior you have posted is potentially incorrect. If there are no other field initializers, we could probably preserve the syntax as written. However, in the presence of other initializers that require transformation to maintain useDefineForClassfields:false, we would also need to transform the accessor so that initialization order is consistent:
// ts
let i = 0;
class Test {
  a = i++;
  accessor b = i++;
  c = i++;
}

const obj = new Test();
console.log(obj.a, obj.b, obj.c); // expected: 0, 1, 2

// js, target: esnext, useDefineForClassFields: false
let i = 0;
class Test {
  constructor() {
    this.a = i++;
    this.#b_accessor_storage = i++;
    this.c = i++;
  }
  #b_accessor_storage;
  get b() { return this.#b_accessor_storage; }
  set b(value) { this.#b_accessor_storage = value; }
}

const obj = new Test();
console.log(obj.a, obj.b, obj.c); // expected: 0, 1, 2

If we were to preserve it and not hoist the initializers to the constructor, then the accessor would be initialized first rather than second, changing the output to 1, 0, 2.
Rather than make piecemeal transformations based on the presence of other fields, the transformer currently just consistently performs the same transformation. Preserving accessor in that case would be an emit optimization, but isn't critical to supporting the functionality.
The issue here is that we're missing part of that consistent transformation.

authors: dragomirtitian rbuckton


text:
TS Server fatal error:  Debug Failure. False expression: /Users/mdrobi/Documents/GitHub/js-templates/jstemplate/apps/site_1/node_modules/next/index.d.ts linked to nonexistent file /Users/mdrobi/Documents/GitHub/js-templates/jstemplate/node_modules/.pnpm/next@13.2.4_react-dom@18.2.0_react@18.2.0/node_modules/next/index.d.ts

Type: Bug
❗❗❗ Please fill in the sections below to help us diagnose the issue ❗❗❗
TypeScript Version: 5.1.6
Steps to reproduce crash

TS Server Log
❗ Server logging disabled. To help us fix crashes like this, please enable logging by setting:
"typescript.tsserver.log": "verbose"

After enabling this setting, future crash reports will include the server log.
TS Server Error Stack
Server: semantic
Error: Debug Failure. False expression: /Users/mdrobi/Documents/GitHub/js-templates/jstemplate/apps/site_1/node_modules/next/index.d.ts linked to nonexistent file /Users/mdrobi/Documents/GitHub/js-templates/jstemplate/node_modules/.pnpm/next@13.2.4_react-dom@18.2.0_react@18.2.0/node_modules/next/index.d.ts
    at realPath (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:42150:9)
    at getOriginalAndResolvedFileName (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:41081:28)
    at resolveTypeReferenceDirective (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:41166:45)
    at Object.resolve (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:118224:42)
    at resolveNamesWithLocalCache (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:123905:29)
    at Object.resolveTypeReferenceDirectiveReferences (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:123970:12)
    at ConfiguredProject2.resolveTypeReferenceDirectiveReferences (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:173842:33)
    at resolveTypeReferenceDirectiveNamesWorker (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:118967:20)
    at resolveTypeReferenceDirectiveNamesReusingOldState (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:119186:25)
    at processTypeReferenceDirectives (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:120451:25)
    at findSourceFileWorker (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:120345:9)
    at findSourceFile (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:120215:20)
    at /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:120164:22
    at getSourceFileFromReferenceWorker (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:120133:26)
    at processSourceFile (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:120162:5)
    at processRootFile (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:119959:5)
    at /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:118714:41
    at forEach (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:2325:22)
    at createProgram (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:118714:5)
    at synchronizeHostData (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:141862:15)
    at Object.getProgram (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:141936:5)
    at ConfiguredProject2.updateGraphWorker (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:174508:41)
    at ConfiguredProject2.updateGraph (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:174360:32)
    at ConfiguredProject2.updateGraph (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:175613:24)
    at updateProjectIfDirty (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:176066:35)
    at _ProjectService.assignProjectToOpenedScriptInfo (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:178321:11)
    at /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:178598:64
    at flatMap (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:2573:17)
    at _ProjectService.applyChangesInOpenFiles (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:178598:24)
    at updateOpen (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:179778:29)
    at /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:182351:69
    at IpcIOSession.executeWithRequestId (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:182343:14)
    at IpcIOSession.executeCommand (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:182351:29)
    at IpcIOSession.onMessage (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:182393:51)
    at process.<anonymous> (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:183973:14)
    at process.emit (node:events:513:28)
    at emit (node:internal/child_process:967:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:84:21)

VS Code version: Code - Insiders 1.81.0-insider (02d3b49d8035a9b30db3b0ae706796af9b1a4260, 2023-07-17T05:34:32.562Z)
OS version: Darwin arm64 22.5.0
Modes:

System Info

Item
Value

CPUs
Apple M1 (8 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
6, 4, 3

Memory (System)
8.00GB (0.09GB free)

Process Argv
--crash-reporter-id 89f33f84-881b-4c7c-9a14-fa8476b6760b

Screen Reader
no

VM
0%

Extensions (17)

Extension
Author (truncated)
Version

vscode-tailwindcss
bra
0.9.11

el-vsc-product-icon-theme
ElA
0.1.8

prettier-vscode
esb
9.19.0

auto-close-tag
for
0.5.14

auto-rename-tag
for
0.1.10

copilot
Git
1.96.269

copilot-chat
Git
0.5.2023071802

vscode-pull-request-github
Git
0.69.2023071812

auto-comment-blocks
kev
1.0.1

remove-unused-imports
kus
1.2.3

color-highlight
nau
2.5.0

indent-rainbow
ode
8.3.1

comment-divider
sta
0.4.0

code-spell-checker
str
2.20.5

vscode-icons
vsc
12.4.0

vscode-import-cost
wix
3.3.0

material-theme
zhu
3.15.18

A/B Experiments
vsliv695:30137379
vsins829:30139715
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythontb:30258533
pythonptprofiler:30281269
vshan820:30294714
vscod805:30301674
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30404738
py29gd2263:30784851
vsclangdf:30492506
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30618038
pylantcb52:30590116
a9j8j154:30646983
showlangstatbar:30737417
24365598:30687740
pythonfmttext:30716741
pythoncmvfstr:30726892
fixshowwlkth:30771523
hideindicator:30766887
pythongtdpath:30726887
i26e3531:30792625
gsofb:30778559
pythonnosmt12:30779711
pythonidxpt:30768918
pythondjangots:30768917
pythonnoceb:30776497
copilotsettingt:30767686
e537b577:30772214
h0f32768:30792099
asynctok:30783811
dsvsc013:30777762
dsvsc014:30777825
cmakestatusbarv2:30779594
diffeditorv2:30786206

@Robi-Dev Is there a reproducing repo for this that I can try?
I will note that this error is caused by a broken symlink, which usually implies that your workspace is broken and pnpm needs to be rerun, or something. TS probably shouldn't straight up crash, but it does indicate that something in your setup is also broken.

authors: Robi-Dev jakebailey


text:
Infer type arguments on instance check

Fixes #17473 - Infer constrained generic parameters after instanceof check
Fixes #46668 - Private field check narrows generic class too far
This is an updated and ready-to-be-reviewed recreation of my previous #49863. Please see that PR for a longer description of the problem and the proposed solution, as I don't want to duplicate it all here unnecessarily. In short, when instantiating the type of a class for an instance check, TypeScript would populate all type arguments with any no matter the constraint on the type parameter or the strictness settings. This change factors in the compiler strictness as well as the constraints and variances of the type parameters to "infer" the type arguments.
This does NOT handle #57317, per @Andarist on #57323 but I have included that test case here as these changes do introduce new behavior to that case (any to unknown). I can remove if it feels irrelevant to these changes.
Breaking Changes
From the last PR, I have resolved to use the compiler option strictInstanceOfTypeParameters to gate these otherwise breaking changes. However, there was some discussion about the possibility of not hiding these changes behind a compiler option. I can test enabling these changes for all, similar to what I did last time.

@typescript-bot test it

Wow, it broke approximately everything 😅

Not surprising if you've seen #49863.
Notably, this new PR adds a strict mode setting. That's what made DT clean, as DT does not set strict=true, but rather enables specific strict mode options. (Been on my todo list to look into change that for a while.)

@jakebailey If you pack this I can make playground reproductions of some of these errors.
And let me know if you want to test turning it on by default 😅

@typescript-bot pack this

authors: fatcerberus jakebailey molisani


text:
Could not find SSL Certificate installation

I could not see the code installing the SSL certificate during the Agent configuration.
Is it possible to include the code to install the SSL certificate in this module?
We are looking to use this module for our requirement to install the agent..

Hi @jkjisha - curious what SSL certificate you're referring to here. Are you looking for the ssl client certificate functionality described here?

git doesn't use SChannel for verifying trusts. If you happen to have custom CA, well, git uses openssl. Fear not, git and azure agent foresaw this thing. Git CAN use SChannel, it is just not the default.
As for installing devops agent, there is a parameter --gitusesschannel - this project doesn't seem to support it.
All of this is documented, even if you want to feed trust into git manually: Git get sources fails with SSL certificate problem (Windows agent only)

authors: janis-veinbergs jkjisha jwittner