Post-EOL XP updates missing from Legacy Update

Microsoft issued post-EOL updates to combat two especially dangerous exploits in XP, but these were not added to Windows Update and required manual installation.
The updates are:

KB4012598 - patch for the "WannaCry" ransomware exploit
KB4500331 - patch for Remote Desktop RCE

If possible, it'd be great to have these added into the normal Windows Update flow.  If not, at least they could be placed on the "Commonly Downloaded" section of the Download Center so they aren't overlooked by visitors.

Actually, there are at least 11 "extra" updates that have been released for Windows XP after the end-of-life on 8 April 2014. Most of them were released on 13 June 2017, but the second one that you have mentioned was released on 14 May 2019.

https://support.microsoft.com/en-gb/topic/microsoft-security-advisory-4025685-guidance-related-to-june-2016-security-update-release-june-13-2017-031e5373-d12b-89f5-df66-83d59d2ddd72 (specific for Windows XP: https://support.microsoft.com/en-gb/topic/microsoft-security-advisory-4025685-guidance-for-older-platforms-june-13-2017-05151e8a-bd7f-f769-43df-38d2c24f96cd)

https://support.microsoft.com/en-gb/topic/customer-guidance-for-cve-2019-0708-remote-desktop-services-remote-code-execution-vulnerability-may-14-2019-0624e35b-5f5d-6da7-632c-27066a79262e (specific for Windows XP: https://support.microsoft.com/en-gb/kb/4500331)

As you may know, the 2017 extra updates will be installed automatically (along with approximately 140 other updates released between May 2014 and April 2019) on Windows XP (SP3) if you enable the "POSReady 2009" unofficial register change which makes the update service believe that your Windows XP machine is a cash register version of Windows XP (which is named "Windows Embedded POSReady 2009"). Please note that this change of the registry is NOT recommended officially since these updates are not created for the "normal" version of Windows XP. However, these two versions of Windows XP are almost the same, so there is a good chance that the POSReady updates will work as well in the normal Windows XP as if they actually were made for the normal Windows XP.
I don't know whether the automatic updates function will include the May 2019 extra update (while enabling the POSReady trick) since I always install the normal Windows XP updates before (sometimes) enabling the POSReady updates.
To sum up, you should definitely download and install the 11 mentioned updates from the links above (of which you already know two).

Please note that this change of the registry is NOT recommended officially since these updates are not created for the "normal" version of Windows XP.

I know that Legacy Update doesn't require to manually install a registry files editor but I wonder what method is being used because they both seem to work equally well
Windows Registry Editor Version 5.00
;Windows XP Embedded SP3 (Support ended 12/01/2016)
;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WindowsEmbedded\ProductVersion]
"FeaturePackVersion"="SP3"
;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WindowsEmbedded\ProductVersion]
"ProductVersion"="0x00000000"
;Windows Embedded for point of Service (Support ended 12/04/2016)
[HKEY_LOCAL_MACHINE\SYSTEM\WPA\WEPOS]
"Installed"=dword:00000000
;Windows Embedded Standard 2009 (Support ends 08/01/2019)
[HKEY_LOCAL_MACHINE\SYSTEM\WPA\WES]
"Installed"=dword:00000000
;Windows Embedded PosReady 2009 (Support ends 12/04/2019)
[HKEY_LOCAL_MACHINE\SYSTEM\WPA\PosReady]
"Installed"=dword:00000001

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\WPA\PosReady]
"Installed"=dword:00000001

I always install the normal Windows XP updates before (sometimes) enabling the POSReady updates.

this is the reason that got me opening this issue https://github.com/kirb/LegacyUpdate/issues/195 because I'm not sure what's the best method to update XP
if  I only enable the Legacy update checkbox I get 141 updates listed + Live Essentials / Security Essentials
if I enable Legacy update and Embedded 2009 checkboxes I get 137 updates listed + Live Essentials / Security Essentials + 111 embedded updates
so 4 normal updates are gone or probably replaced by the embedded ones.
111 is a variable number which will change according to the other installed updates but I have yet to perform more tests to see whether the end result is the same or some updates were lost along the way

I know that Legacy Update doesn't require to manually install a registry files editor but I wonder what method is being used because they both seem to work equally well

I'm sorry, but I'm not really sure about what you're wondering. However, I'm trying to give an answer as well.
A registry files editor is not necessary for LegacyUpdate to work, that is correct.
I don't (technically) know the method that LegacyUpdate is using, but you can see the technical information on this LegacyUpdate GitHub website.
If those registry entries you are mentioning (not in my quote, though) are present in your "normal" Windows XP, this seems to mean that the embedded versions of Windows XP (except POSReady) are not installed or present (which is correct if you are using a "normal" Windows XP with "POSReady" activated or if you, really, are using Windows Embedded POSReady 2009, which can be downloaded officially on this Microsoft website: https://www.microsoft.com/en-gb/download/details.aspx?id=11196).
If you change the registry value in the DWORD "Installed" in [HKEY_LOCAL_MACHINE\SYSTEM\WPA\WEPOS] or [HKEY_LOCAL_MACHINE\SYSTEM\WPA\WES] or [HKEY_LOCAL_MACHINE\SYSTEM\WPA\PosReady] from 0 to 1, this means that Windows Update or Microsoft Update (nowadays through LegacyUpdate) starts believing that your Windows XP is any of these embedded Windows XP versions. Which one is the appropriate to choose (to get more updates for "normal" Windows XP)? Well, the POSReady version is the one that has the newest updates, as shown in your own comment, and probably the one that is corresponding best to "normal" Windows XP, as to be seen in the Microsoft Update Catalog (https://www.catalog.update.microsoft.com) when compairing the size of the updates for the different versions of Windows XP shown in the catalogue when searching for, for example, "3197835".

I always install the normal Windows XP updates before (sometimes) enabling the POSReady updates.

this is the reason that got me opening this issue #195 because I'm not sure what's the best method to update XP

I would highly recommend installing the official Windows XP updates before installing any unofficial updates, including enabling and installing POSReady updates on a "normal" Windows XP, especially since KB2686509 actually has a POSReady (or Embedded) version that differs from the normal Windows XP version and Windows Update or Microsoft Update (nowadays through LegacyUpdate) will try to install the POSReady version on the normal Windows XP if "POSReady" updates are "enabled" on normal Windows XP. See also #164.
There is, at least, one more example of differing updates: by compairing this website with this one, we see that the update KB3011780 is not to be used on "normal" Windows XP. The obvious question, the answer to which I don't know, is whether the POSReady updates that hace replaced KB3011780 (se the update catalogue as shown below) should be installed on "normal" Windows XP.

if I only enable the Legacy update checkbox I get 141 updates listed + Live Essentials / Security Essentials

Please note that Windows Live Essentials (which can be downloaded in your own language here) and Microsoft Security Essentials are not the same.

if I enable Legacy update and Embedded 2009 checkboxes I get 137 updates listed + Live Essentials / Security Essentials + 111 embedded updates
so 4 normal updates are gone or probably replaced by the embedded ones.

They are probably replaced by newer ones (which, naturally, are named "Embedded" since "normal" Windows XP didn't get updates anymore). But to be sure, I would advice you to install all the "normal" Windows XP updates before enabling "POSReady".
You can search for the unique number of the update (the KB number) in the Microsoft Update Catalog (https://www.catalog.update.microsoft.com) and then click on the name of the update (for the appropriate Windows version (-s)). Afterwards, in the pop-up window, you click the third column, "Package Details", and there you have information about replacing updates!

111 is a variable number which will change according to the other installed updates but I have yet to perform more tests to see whether the end result is the same or some updates were lost along the way

Well, let's see if there are any interesting results!
I have noticed, after enabling "POSReady" and when installing all the "POSReady" updates the first time the feature "Automatic updates" finds them, that there are errors with some updates. Having restarted the (virtual) computer, as prompted, I search for updates again, and then there are no more updates! (Except one update, KB4486463, that always returns for installation. I circumvent this by disabling "POSReady", which I do by denying "SYSTEM" reading access to the POSReady registry key using the built-in "regedit.exe".)

Legacy Update uses the POSReady Installed key, and there isn’t a need to use the other keys for what I’ve seen. Embedded Standard/POSReady 2009 is pretty much XP SP3 with a handful of features removed when installed “normally” with all components enabled (it’s possible to build a custom image with components removed), so that’s why the updates work on regular XP SP3, with the odd exception of KB2686509. In addition the majority if not all XP Embedded/WEPOS (original 2001 version) SP3 updates are identical to 2009 updates, I don’t know which ones/how many differ though. I have a feeling the post-EOL updates were simply never released through WU, and may have only been made available through WSUS.
As for how updates can differ between the two, I would want to see a diff of the actual patch payloads to be sure they even can differ at all. It’s not something I’ve really looked into, aside from identifying that the update installers for WES/POSReady seem to only differ by checking for presence of either the WES or POSReady Installed key, aborting with a “wrong OS” error if not present.

[…] that’s why the updates work on regular XP SP3, with the odd exception of KB2686509. [...]

The download link on the FAQ page does only contain the English version, but, as you know, I believe, Windows XP is language dependent, meaning that each language version of Windows XP has its own updates (presumably containing the same content). Therefore, I would kindly suggest that you put a link to the Microsoft Update Catalog (https://www.catalog.update.microsoft.com/Search.aspx?q=2686509) on the FAQ page so people can easily retrieve their own localized version of the update (since the catalogue and its updates are shown in the same language as the browser/computer uses (which means the English version of the updates on multilanguage versions of Windows XP)).
When speaking about the FAQ page, may I please draw your attention to the description of Windows Live Essentials on the FAQ page? The last version for Windows XP is the 2009 version, not the 2012 version as you have written on the FAQ page. In the same way, the last version for Windows Vista is the 2011 version. All of them, I believe, can be downloaded here, as I have mentioned before, but you may need some editing of the download URL's to get them working.
In addition, I wonder about the mentioned x64 definition update on the FAQ page. As for now, it's a "mpas-fe.exe" file. But according to this Microsoft web site, it should be "mpam-feX64.exe" for Microsoft Security Essentials and "mpas-fe.exe" for Windows Defender. Maybe it doesn't matter in practice?

[…] I have a feeling the post-EOL updates were simply never released through WU, and may have only been made available through WSUS.

I can't confirm that, since I haven't used the POSReady "trick" before August 2020, when the original Microsoft Update connection (SHA-1) was closed, but I can tell you that the post-EOL updates are shown in both "Automatic Updates" and on the LegacyUpdate website on "normal" Windows XP with "POSReady" enabled.

As for how updates can differ between the two, I would want to see a diff of the actual patch payloads to be sure they even can differ at all. It’s not something I’ve really looked into, aside from identifying that the update installers for WES/POSReady seem to only differ by checking for presence of either the WES or POSReady Installed key, aborting with a “wrong OS” error if not present.

It might be interesting, but I don't have the necessary knowledge for doing this.

In addition, I wonder about the mentioned x64 definition update on the FAQ page. As for now, it's a "mpas-fe.exe" file. But according to this Microsoft web site, it should be "mpam-feX64.exe" for Microsoft Security Essentials and "mpas-fe.exe" for Windows Defender. Maybe it doesn't matter in practice?

After evaluating the Wayback Machine, I have noticed that even the 64 bit version (x64) of the definition update for Microsoft Security Essentials is named "mpam-fe.exe" but stored in a link that differs from the 32 bit version (x86). (Se this link and this link.)
But I don't know if those links work on 64 bit Windows XP and/or 64 bit Windows Vista. I believe that you have evaluated this more than me before publishing the information on the FAQ page!

Please note that Windows Live Essentials (which can be downloaded in your own language here) and Microsoft Security Essentials are not the same.

I am aware it's not the same thing and both are absolote anyhow
I once got infected and MSE was unable to remove the malware from my computer and years later M$ recognized it was a bad AV that should be used as a complement of a good mainstream AV.
Avast is the best one to me that served me well over the years but I don't use any of them in real-time.
regarding WLE it fails to install because M$ servers have been shut off

Please note that Windows Live Essentials (which can be downloaded in your own language here) and Microsoft Security Essentials are not the same.

I am aware it's not the same thing and both are absolote anyhow
I once got infected and MSE was unable to remove the malware from my computer and years later M$ recognized it was a bad AV that should be used as a complement of a good mainstream AV.
Avast is the best one to me that served me well over the years but I don't use any of them in real-time.
regarding WLE it fails to install because M$ servers have been shut off
note, when using the alternate updating method https://github.com/kirb/LegacyUpdate/issues/195#issuecomment-1799382769 these two updates are not brought up to the list

MSE is decently competent, but definitely not as much as the later Windows 10/11 version of Defender is. Machine learning-based detections have made a massive difference, the malware world changes too quickly for old-style signatures to be as effective any more, and it seems Microsoft is leading the way on that. Of course, an AV can't possibly catch absolutely everything, but they're getting a lot closer than they were before.
@AntonFromSweden Thanks for the reminder that I was supposed to add other languages there, I added a link to the catalog now.
I was pretty sure WLE 2012 was the final version for all of XP - 7, but seems like I might be mistaken. Super quick research tells me you could still run WLE 2012 Mail, Messenger, Writer, and Photo Gallery on XP. At any rate I'll add a link to the offline download page because that pretty much solves the problem.
And to be honest, I'm not certain on the 64-bit side of MSE definitions. I'll test this on XP x64.

Ok, MSE x64 isn't offered as an optional installation on XP x64 as it is on x86, it needs to be downloaded from https://web.archive.org/web/20140329145947/http://www.microsoft.com/en-us/download/details.aspx?id=5201, specifically https://web.archive.org/web/20140329150023id_/http://download.microsoft.com/download/A/3/8/A38FFBF2-1122-48B4-AF60-E44F6DC28BD8/ENUS/amd64/MSEInstall.exe. Unfortunately the version currently on the live Microsoft download site, and the LU download center archive, doesn't support XP. I'll need to see if I can come up with a way to go back in time on the download center at some point.
Anyway, I was able to figure out that 1.265.826.0 from April 2018 was the last version to work on XP x64. Added that to the site now, and I've also rearranged it to correct the difference between the MSE and Defender updates. I do need to check how far the Vista MSE/Defender updates go, they should either reach as far as Jan 2020 when Server 2008/R2 ESU updates ended, or even quite a bit later, since I've heard some users confirm they're still getting MSE/Defender updates. (Possible that was only on 7 though, also possible that it stopped last month when Server 2012/R2 ESU ended.)
I also added the WLE download. Thanks for posting that link, @AntonFromSweden! A slightly earlier snapshot from 2014 was required because they deleted the WLE 2009/2011 downloads in early 2015, seemingly despite the page still linking to them for a while longer.

Ok, MSE x64 isn't offered as an optional installation on XP x64 as it is on x86,

who elaborated the Legacy Update list of updates ?
as I mentioned on another post https://github.com/kirb/LegacyUpdate/issues/195#issuecomment-1791062463  M$ Silverlight KB2977218 or IE7 KB940767 are offered with alternate updating methods however there's no sign of WLE or MSE.

The updates list is what the official Microsoft Windows Update servers provide, Legacy Update currently is just proxying your connection to Microsoft so it’s accessible by XP again. In future I want to replace it with my own implementation of the update server, where I would want to inject some extra updates including MSE for XP x64, but as of yet we don’t really have much ability to modify output due to the way the WU protocol works.

Please note that Windows Live Essentials (which can be downloaded in your own language here) and Microsoft Security Essentials are not the same.

regarding WLE it fails to install because M$ servers have been shut off

Yes, I know, but the download link provided above contains offline installers, meaning that there is no need to connect to the Microsoft servers (originally after having downloaded the appropriate offline installer).

@AntonFromSweden Thanks for the reminder that I was supposed to add other languages there, I added a link to the catalog now.

And to be honest, I'm not certain on the 64-bit side of MSE definitions. I'll test this on XP x64.

Anyway, I was able to figure out that 1.265.826.0 from April 2018 was the last version to work on XP x64. Added that to the site now, and I've also rearranged it to correct the difference between the MSE and Defender updates. I do need to check how far the Vista MSE/Defender updates go […]

I also added the WLE download.

Excellent!

Thanks for posting that link, @AntonFromSweden! A slightly earlier snapshot from 2014 was required because they deleted the WLE 2009/2011 downloads in early 2015, seemingly despite the page still linking to them for a while longer.

 However, I'm still facing the little (and annoying) problem with the download links. For example, when talking about the English version for Windows XP: hovering with the computer mouse over "English", it says "https://web.archive.org/web/20141213221931/http://g.live.com/1rewlive3/en/wlsetup-all.exe" which will lead you to the installer. But when you click the link, or copy it by right-clicking with the mouse, it immediately says "https://web.archive.org/web/20141213221931/http://g.live.com/1rewlive3/en/wlsetup-all.exe??WLXID=ca0368e1-c421-42cb-b059-467ebc69bb79&RID=001b013e81c&TID=1418509173757&lid=". This long version has not been saved in the Wayback Machine.
I do know how to circumvent this (by deleting all the redundant characters following ".exe" in the URL), but maybe there are some people not knowing this, hence believing that "their" language has not been preserved in the Wayback Machine? Maybe this circumstance warrants a short description on the FAQ page of the need of changing the URL manually?
Interestingly, those redundant characters don't appear when looking in the source of the download website (Ctrl+U).

another missing update or weird thing ?
((Embedded updates checkbox still disabled here))
I only installed the main series of recommended updates, I left out the optional updates and NET framework's.... for the next round.
I then restart the computer and notice that Windows Update brought out this update KB955759
Legacy Update or WU MiniTool don't display it however they display the KB2492386 which is the direct replacement.
how is this possible ?

another missing update or weird thing ? ((Embedded updates checkbox still disabled here)) I only installed the main series of recommended updates, I left out the optional updates and NET framework's.... for the next round. I then restart the computer and notice that Windows Update brought out this update KB955759 Legacy Update or WU MiniTool don't display it however they display the KB2492386 which is the direct replacement. how is this possible ?

Do you mean that KB955759 suddenly starts to appear, despite the fact that is has been (or should have been) superseded by KB2492386?
As you know, as stated in #195, when there is a newer update containing the same fixes as an old update, the old one will, usually, be invisible in the list of available updates in favour of the newer one.
But, as we have noticed, also in #195, the technology which offers us the updates is not perfect.

Do you mean that KB955759 suddenly starts to appear, despite the fact that is has been (or should have been) superseded by KB2492386?

Yes, but only Windows Update shows it off. I thought it should display the same updates as Legacy Update

As you know, as stated in #195, when there is a newer update containing the same fixes as an old update, the old one will, usually, be invisible in the list of available updates in favour of the newer one.

Legacy Update is not perfect, as some updates should not be displayed or should not fail to install.
as I have mentioned on the other topic the KB928416 (NET 3.0 language pack) fails to install however the KB829019 (NET 2.0 language pack) doesn't
when selecting and installing the KB951847 (NET 3.5 language pack) the two other will dissapear from the list

But, as we have noticed, also in #195, the technology which offers us the updates is not perfect.

so long as we understand why it's not being perfect it's fine to me
I enabled Embedded updates from the beginning but didn't install any of the listed updates till the end to figure out if the end result is the same
I have noticed that the KB2686509 is replaced by the embedded version one which fails to install.
it's in fact the same update that fixes the Security Essentials update bug because the MPAM-FE file is not enough https://legacyupdate.net/faq/issues
when Embedded checkbox is enabled 4 high priority updates get superseded, and 1 NET 4.0 update as well.
all other POSReady updates for NET framework's are not a direct replacement
Visual C++ and Office 2003 don't have any POSReady update available
aside from these minor issues, the result seems to be perfect so I won't recommend enabling Embedded updates from the get go

as I have mentioned on the other topic the KB928416 (NET 3.0 language pack) fails to install however the KB829019 (NET 2.0 language pack) doesn't

when selecting and installing the KB951847 (NET 3.5 language pack) the two other will dissapear from the list

Oh, really? To me, KB928416 (.NET Framework 3.0 Swedish and Spanish language packs on a Swedish version of Windows XP and a Spanish version of Windows XP, separately) remains available and fails to install (after having installed .NET Framework 3.5 by using KB951847 or the standalone installer) whatever I do. But, of course, I can manually hide it.

I have noticed that the KB2686509 is replaced by the embedded version one which fails to install.

Yes, that issue has been mentioned before in #195, in other threads on this Legacy Update GitHub community and on the Legacy Update FAQ page.

it's in fact the same update that fixes the Security Essentials update bug because the MPAM-FE file is not enough https://legacyupdate.net/faq/issues

I didn't know that KB2686509 fixes a Microsoft Security Essentials bug.

Visual C++ and Office 2003 don't have any POSReady update available

That seems to be true, but the Microsoft Office Compatibility Pack, which makes Office 2000, Office XP and Office 2003 able to read modern Word, Excel and PowerPoint documents (.docx .xlsx and .pptx file formats), does have some POSReady updates. Or at least you have to enable the "POSReady" trick to get these updates. Please note that you have to install all the Office 2000/XP/2003 updates before you install the compatibility pack.
(I've heard that Microsoft Office is not intended for being installed or used on Windows Embedded, so why are there some extra updates available only for Office Compatibility Pack on Windows Embedded POSReady 2009?)

[…] I won't recommend enabling Embedded updates from the get go

I agree!

I didn't know that KB2686509 fixes a Microsoft Security Essentials bug.

I'm trying to replicate this but the manual installer for MSE fails to install no matter what I do. @kirb

(I've heard that Microsoft Office is not intended for being installed or used on Windows Embedded, so why are there some extra updates available only for Office Compatibility Pack on Windows Embedded POSReady 2009?)

Note: To apply this security update, you must have the Office Compatibility Pack Service Pack 3 installed on a computer that is running Windows Embedded POSReady 2009.
https://support.microsoft.com/en-us/topic/description-of-the-security-update-for-microsoft-office-compatibility-pack-service-pack-3-february-12-2019-63dfdb75-484a-e109-ba71-6f6c73e044ce
is this a different compatibility pack or why is it meant for Office 2007 only ?
https://www.catalog.update.microsoft.com/Search.aspx?q=Microsoft Office Compatibility Pack

(I've heard that Microsoft Office is not intended for being installed or used on Windows Embedded, so why are there some extra updates available only for Office Compatibility Pack on Windows Embedded POSReady 2009?)

Note: To apply this security update, you must have the Office Compatibility Pack Service Pack 3 installed on a computer that is running Windows Embedded POSReady 2009. https://support.microsoft.com/en-us/topic/description-of-the-security-update-for-microsoft-office-compatibility-pack-service-pack-3-february-12-2019-63dfdb75-484a-e109-ba71-6f6c73e044ce

Yes, I know, but it doesn't make sense.

is this a different compatibility pack or why is it meant for Office 2007 only ? https://www.catalog.update.microsoft.com/Search.aspx?q=Microsoft Office Compatibility Pack

No, it's not meant for Office 2007, but it's part of it, technically, probably because Office 2007 is the first Office version that contains the new file formats. The compatibility pack is intended to be installed on your computer if you have Office 2000, Office XP and/or Office 2003 installed on your computer . As stated, you have to install all the updates for each Office version before you install the compatibility pack. When you have installed the compatibility pack, have a look in the list of installed programs in the Control Panel and you will see "Compatibility Pack for the Office 2007 system".
This is because the pack makes Office 2000/XP/2003 understand Office 2007 and newer.
The compatibility pack is necessary if you want to use modern Word, Excel or PowerPoint file formats in Office 2000/XP/2003.
The Microsoft update catalogue does only contain several updates for the compatibility pack. The compatibility pack itself has to be downloaded and installed from its download page. Of course I encourage you to change the URL to your own language. You may need to use Ctrl+U, or something similar, to get the .exe URL from the website.
There is also an older compatibility pack, for Office 2000/XP/2003, but that one doesn't affect the possibility to use modern file formats in Office 2000/XP/2003 (read more here).
Also this page might be interesting. Don't forget this download (for Office 2000/XP/2003/2007/2010/2013 – sources: this page and this one)!

The compatibility pack itself has to be downloaded and installed from its download page.
Of course I encourage you to change the URL to your own language.
You may need to use Ctrl+U, or something similar, to get the .exe URL from the website.

thanks for the tip but the alternative download links don't seem to work so I downloaded the english version from other sources
either installers come with the blue legacy icon
however the MU Catalog link contains an installer with a .msp extension that didn't serve me well
-compatibilitypacksp3-kb2526297-fullfile-en-us 12.0.6612.1000
-FileFormatConverters 12.0.6500.5000

Also this page might be interesting. Don't forget this download (for Office 2000/XP/2003/2007/2010/2013 – sources: this page and this one)!

oh wait...way too many links here.
I have the Office 2003 LIte and would like to keep it for the sake of nostalgia but will likley not use it too much as Libre Office is a good alternative apart from Softmaker Office 2016 or Kingsoft Office 2013

Also this page might be interesting. Don't forget this download (for Office 2000/XP/2003/2007/2010/2013 – sources: this page and this one)!

oh wait...way too many links here.
I have the Office 2003 LIte and would like to keep it for the sake of nostalgia but will likely not use it much as Libre Office is a good alternative aside from Softmaker Office 2016 or Kingsoft Office 2013

I know that Legacy Update doesn't require to manually install a registry files editor but I wonder what method is being used because they both seem to work equally well

I'm sorry, but I'm not really sure about what you're wondering. However, I'm trying to give an answer as well.
A registry files editor is not necessary for LegacyUpdate to work, that is correct.
I don't (technically) know the method that LegacyUpdate is using, but you can see the technical information on this LegacyUpdate GitHub website.
If those registry entries you are mentioning (not in my quote, though) are present in your "normal" Windows XP, this seems to mean that the embedded versions of Windows XP (except POSReady) are not installed or present (which is correct if you are using a "normal" Windows XP with "POSReady" activated or if you, really, are using Windows Embedded POSReady 2009, which can be downloaded officially on this Microsoft website: https://www.microsoft.com/en-gb/download/details.aspx?id=11196).
If you change the registry value in the DWORD "Installed" in [HKEY_LOCAL_MACHINE\SYSTEM\WPA\WEPOS] or [HKEY_LOCAL_MACHINE\SYSTEM\WPA\WES] or [HKEY_LOCAL_MACHINE\SYSTEM\WPA\PosReady] from 0 to 1, this means that Windows Update or Microsoft Update (nowadays through LegacyUpdate) starts believing that your Windows XP is any of these embedded Windows XP versions. Which one is the appropriate to choose (to get more updates for "normal" Windows XP)? Well, the POSReady version is the one that has the newest updates, as shown in your own comment, and probably the one that is corresponding best to "normal" Windows XP, as to be seen in the Microsoft Update Catalog (https://www.catalog.update.microsoft.com) when compairing the size of the updates for the different versions of Windows XP shown in the catalogue when searching for, for example, "3197835".

The POSReady hack only works on Windows XP 32-bit. Doesn't work at all on x64 version and/or Windows Server 2003.


Camera features - Flash, My QR Code and Browse

Fixes #1495

@JamesSmartCell This PR has all 3 buttons implementation. But there is an issue I am facing with Zxing library to decode bitmap we select from "Browse". I tried to fix an issue of Zxing library decode but not able to fix it. With this issue, after selecting image, we are getting "com.google.zxing.NotFoundException". I will check again to fix this issue.

@JamesSmartCell This PR has all 3 buttons implementation. But there is an issue I am facing with Zxing library to decode bitmap we select from "Browse". I tried to fix an issue of Zxing library decode but not able to fix it. With this issue, after selecting image, we are getting "com.google.zxing.NotFoundException". I will check again to fix this issue.

I expected that would be an issue. I wasn't sure if the decode library would accept an image directly or not.

I tried with different solutions like Resize, rotate and scaling. Yet not able to find the root cause.
2 observations,

Screenshots are decoded successfully
Camera pictures having exception

Can we lock the orientation while in this mode so we don't need to worry about it?

@JamesSmartCell QR code from photo library: if it's tedious/buggy, might be worth just skipping the feature? It doesn't seem like an incredibly useful feature. I only use it because I normally develop for iOS in the simulator (which doesn't have a camera).

I went through many Stackoverflow and blogs which states that Zxing library is built for scanning through preview and has no core functionality to decode captured image. Many people are facing same issue yet no solid solution I was able to find.
Ref.
https://github.com/journeyapps/zxing-android-embedded/issues/395

Removing the browse seems to be the best solution. Is the 'plumbing' for the browse still present or has it been removed too?

@ChintanRathod just a few formatting changes for some bad formatting that's crept in.
When handling the errors - can you check if these are handled by the activity/fragment that's calling this function? In most cases it should be handled there. So - if something is scanned and the QR code can't be classified and flow is passed back to the HomeActivity then the handling should be in there.

@JamesSmartCell Understood.


chore: release 2.0.5

:robot: I have created a release *beep* *boop*
2.0.5 (2024-07-20)
Performance Improvements

remove path-to-regexp and whatwg-url (c50d34e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/keq-request/keq-debug/releases/tag/v2.0.5 :sunflower:


Reworks SphereCast to use FHitResult out parameter

NOTE: We munge the BodyID of the hit object into FHitResult::MyItem as we do not have enough bit space to store the 64 bit BarrageKey without additional munging. We likely should add some utility to make getting a FBLet or other information out of an FHitResult Further munging would require using FHitResult::Item, which is next to MyItem in the structure and would give us the full 64 bits.

Exposes FWorldSimOwner::GenerateBarrageKeyFromBodyId through UBarrageDispatch::GenerateBarrageKeyFromBodyId
Reformats code to be more in line with other lib files

Long as you've tested that the resulting keebler can be used usefully, I'm good to merge

Have still managed to do damage to the test tank in the current scene. Current issue is that the cast origin is not lining up with the character view at first, though that appears to be more a character physics issue than a spherecast issue.


Increase memory limit for EaaS argocd controller

The default limit of 2Gi results in OOMKilled errors in production.

/lgmt
/approve

/lgtm
typo

/lgtm


Support more one option for selectable link or not

Thanks for this useful package.
But it will be nice if we have one more option that enable/disable link's selectable.

Hey @huynguyennovem I don't understand. Can you elaborate please?

Yes, for eg, the link is selectable as below image. I expect the package has one more option to enable/disable this selectable ability

Ah I see, yeah, should be easy to add. If you use this inside the Flutter Chat UI - it is already added there, isTextMessageTextSelectable

I guess this was resolved already.


[Functionality] Search option for event

Feature
Currently there is a label for search events but it doesn't work. We should add that.
solution
Firstly we will start with the name of the event.
Then we can add searches with location/ date etc

@LegendSumeet can you assign this issue to me?

Can i know on what basis it is been assigned as SWOC ..isn't all the issues have to be a part to be under swoc?

yes

Hi @LegendSumeet,
Can I work on this issue,
Please add the SWOC label on this


== implementation added in a macro is not considered when checking for Equatable conformance

Description

Writing a macro that outputs a == function is not considered when checking for Equatable conformance.
Steps to reproduce

Write a macro conforming to ConformanceMacro and MemberMacro. Add Hashable conformance via the expansion(of:providingConformancesOf:in:) function and a valid static func == implementation via expansion(of:providingMembersOf:in:).
Expected behavior

The compiler should use the == function produced by the macro.

Screenshots

Environment

swift-driver version: 1.82.2 Apple Swift version 5.9 (swiftlang-<IP_ADDRESS>.6 clang-15<IP_ADDRESS>)
Xcode 15.0 (Build version 15A5160n)
Deployment target:

.macOS(.v10_15)
.iOS(.v13)
.tvOS(.v13)
.watchOS(.v6)
.macCatalyst(.v13)

Additional context
As shown in the screenshots the generated code looks right. Copy/pasting the generated code results in an "Invalid redeclaration of ==" error, then removing the == from the macro output allows the code to compile and the associated tests to pass, so I'm concluding (I hope correctly) that my implementation is correct!
It's also possible to workaround this issue by conforming to a custom protocol that adds a == function via extension.
I have an example of the workaround being used in a repo: https://github.com/JosephDuffy/CustomHashable. The remove-customHashable branch can be used to demonstrate the bug.
A topic I created on the Swift Forums a few weeks back for this: https://forums.swift.org/t/creating-a-macro-for-hashable-equatable-conformance/64711

Also tracked by: rdar://113994346

I've tested this using Xcode 15 beta 6 and beta 7 and have found it works for me, thank you for getting this fixed!
I'm not sure if there's some extra process here but I'm happy to close this issue if you are :)

I've tested this using Xcode 15 beta 6 and beta 7 and have found it works for me, thank you for getting this fixed!
I'm not sure if there's some extra process here but I'm happy to close this issue if you are :)

I've tested this using Xcode 15 beta 6 and beta 7 and have found it works for me, thank you for getting this fixed!
I'm not sure if there's some extra process here but I'm happy to close this issue if you are :)

Probably related. I tried both solutions but when I tried to add the == function for a child of NSObject it did not work. It uses the default NSObject implementation as I understand. It properly shows synthesized code when I expand the macro. The same lines entered manually work.
Breakpoint never fired also

// main.swift
@MyEquatable
class MyClass: NSObject {
    let string: String = ""
}

let asd1 = MyClass()
let asd2 = MyClass()
print(asd1 == asd1) // true
print(asd1 == asd2) // false

// MyEquatableMacro.swift
public struct MyEquatable: MemberMacro {
    public static func expansion(
        of node: SwiftSyntax.AttributeSyntax,
        providingMembersOf declaration: some SwiftSyntax.DeclGroupSyntax,
        in context: some SwiftSyntaxMacros.MacroExpansionContext
    ) throws -> [SwiftSyntax.DeclSyntax] {
        guard let classDeclSyntax = declaration.as(ClassDeclSyntax.self) else {
            return []
        }

        let className = classDeclSyntax.name

        let memberList = classDeclSyntax.memberBlock.members
        let variableDecls = memberList.compactMap { $0.decl.as(VariableDeclSyntax.self) }
        let identifierPatterns = variableDecls.compactMap { $0.bindings.first?.pattern.as(IdentifierPatternSyntax.self) }
        let variableIdentifiers = identifierPatterns.map { $0.identifier }
        let leadingTrivia = variableDecls.first?.leadingTrivia ?? Trivia(pieces: [])

        let function = try FunctionDeclSyntax("static func ==(lhs: \(className), rhs: \(className)) -> Bool") {
            for (index, variableIdentifier) in variableIdentifiers.enumerated() {
                if index == 0 {
                    "lhs.\(variableIdentifier) == rhs.\(variableIdentifier)"
                } else {
                    "\(leadingTrivia)&& lhs.\(variableIdentifier) == rhs.\(variableIdentifier)"
                }
            }
        }

        return [DeclSyntax(function)]
    }
}

I made a workaround with the isEqual override but the visibility of the == is still a bug

Testing this in the Xcode 15.0.1 release I see the issue again, but in Xcode 15.1 beta 2 it looks to be fixed again.
I can't see a way to prevent a package from being used in Xcode 15.0.1 but allow it in Xcode 15.1 though. Both swift-tools-version: 5.9.2 and swiftVersions: [.version("5.9.2")] prevent the package being used in Xcode 15.1 beta 2.


Can I train the model using GPU

I attempted to train a model  using a 120MB training data (txt format), but my server didn't run the GPU and it went so slowly. So can I do training using GPU? Thanks ╰(´︶`)╯

You can yeap. Have a look at the tensorflow documentation how to use GPUs for training. The code doesn't change (but there are changes you may need to make at the script level to run the code).

@jhlau  I have managed to use a GPU, and it growed faster, thanks !


Pylance reports missing arguments for urllib.request examples

Environment data

Language Server version: 2021.9.4
OS and version: macOS 11.6
Python version (& distribution if applicable, e.g. Anaconda): 3.9.7

Expected behaviour
The examples shown in the Python documentation would work without error
Actual behaviour
Pylance reports:
Arguments missing for parameters "_p0", "_p1", "_p2",
This is likely due to the way the stdlib classes are defined with position arguments (https://github.com/python/cpython/blob/f4a7ce70f9e61b8594f0979ae0e5f39868d4ceb2/Lib/urllib/request.py#L837) while keyword arguments are used in the examples:
https://github.com/python/cpython/blob/f4a7ce70f9e61b8594f0979ae0e5f39868d4ceb2/Lib/urllib/request.py#L53
Code Snippet / Additional information

authinfo = urllib.request.HTTPBasicAuthHandler()
authinfo.add_password(
        realm="Service-now",
        uri=SERVICENOW_BASE_URL,
        user=SERVICENOW_USERNAME,
        passwd=SERVICENOW_PASSWORD,
    )
# Arguments missing for parameters "_p0", "_p1", "_p2", "_p3" Pylance reportGeneralTypeIssues

The add_password field in authinfo is annotated in the typeshed stub as follows:
    add_password: Callable[[str, str | Sequence[str], str, str], None]

That means it doesn't accept keyword arguments. You would need to pass the arguments by position instead.
If you think this is a bug in the type stub, please consider opening an issue (or creating a PR) with the typeshed repo. Pylance (and other Python type checkers) use the type information from typeshed, so any fixes that make their way into that repo will be reflected in pylance in short order.


React.PropTypes

React 15.5 wants PropTypes imported from "prop-types" now

Thanks for reminding me. I'll run the codemod when I get a chance. Happy to accept a PR for this also 😄

I tried the codemod on a project, it works for the most part but has some quirks. Definitely a good starting place. I noticed it is also great at finding bugs in my code

Fixed in https://github.com/rtsao/styletron/pull/116


Specs not the same in documentation and pricing home page

[There is a discrepancy between documentation and pricing homepage specs for E96 V5. Public pricing homepage says that E96 V5 has locally attached storage, and documentation says that no instance has locally attached storage in that family. I believe pricing page is incorrect.]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 88d7c5fb-3196-4bb8-1141-76f6b15a673c
Version Independent ID: 18571a8a-502b-22d0-6025-b32918a31af2
Content: Ev5 and Esv5-series - Azure Virtual Machines
Content Source: articles/virtual-machines/ev5-esv5-series.md
Service: virtual-machines
Sub-service: vm-sizes-memory
GitHub Login: @andysports8
Microsoft Alias: shuji

Hi, Ev5 or Esv5 does not have local attached SSD. Edv5 or Edsv5 has the local SSDs. I checked Azure pricing page and didn't see any errors there. Please let me know if you still see a discrepancy.

@tokyotexture
Thank you for your feedback. We will investigate and update the thread further.

Specifically E96 V5 shows 3600GB local storage, when the instance family states it has no local storage. I think the E96 row entry is incorrect.

@tokyotexture,
Thanks for highlighting the issue. I have reviewed this with content author @andysports8, he will get that corrected in the pricing document.

@tokyotexture,
The pricing document will be update, please check back in a day or 2 and if there are any further concerns please reach out to me. We will be more than happy to hear from you.
Once again, thank you very much for pointing this correction out. We appreciate it.


New version: Unity.Unity.6000.MacServer version 6000.0.11f1

Created by 🥟 Dumplings in workflow run #6684.

Log
Updated: 6000.0.10f1 → 6000.0.11f1
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000 version 6000.0.11f1 - https://github.com/microsoft/winget-pkgs/pull/163619
Handling Unity.Unity.6000.Android...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.Android version 6000.0.11f1 - https://github.com/microsoft/winget-pkgs/pull/163620
Handling Unity.Unity.6000.iOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.iOS version 6000.0.11f1 - https://github.com/microsoft/winget-pkgs/pull/163621
Handling Unity.Unity.6000.tvOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.tvOS version 6000.0.11f1 - https://github.com/microsoft/winget-pkgs/pull/163622
Handling Unity.Unity.6000.visionOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.visionOS version 6000.0.11f1 - https://github.com/microsoft/winget-pkgs/pull/163623
Handling Unity.Unity.6000.LinuxIL2CPP...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxIL2CPP version 6000.0.11f1 - https://github.com/microsoft/winget-pkgs/pull/163624
Handling Unity.Unity.6000.LinuxMono...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxMono version 6000.0.11f1 - https://github.com/microsoft/winget-pkgs/pull/163625
Handling Unity.Unity.6000.LinuxServer...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxServer version 6000.0.11f1 - https://github.com/microsoft/winget-pkgs/pull/163626
Handling Unity.Unity.6000.MacMono...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.MacMono version 6000.0.11f1 - https://github.com/microsoft/winget-pkgs/pull/163627
Handling Unity.Unity.6000.MacServer...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

Depends on https://github.com/microsoft/winget-pkgs/pull/163619

Automatic Validation ended with:

Installation failed with exit code -1978334960
2024-07-19 21:48:06.934 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\RepositorySource.cpp(757)\WindowsPackageManager.dll!00007FFF8B4CC11F: (caller: 00007FFF8B258D6F) LogHr(1) tid(890) 8A15005E     Msg:[D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Rest\Schema\HttpClientHelper.cpp(30)\WindowsPackageManager.dll!00007FFF8B3D2B08: (caller: 00007FFF8B47BC20) Exception(1) tid(890) 8A15005E ]
2024-07-19 21:48:16.566 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\RepositorySource.cpp(757)\WindowsPackageManager.dll!00007FFF701CC11F: (caller: 00007FFF6FF58D6F) LogHr(1) tid(15e4) 8A15005E     Msg:[D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Rest\Schema\HttpClientHelper.cpp(30)\WindowsPackageManager.dll!00007FFF700D2B08: (caller: 00007FFF7017BC20) Exception(1) tid(15e4) 8A15005E ]
2024-07-19 22:01:34.786 [CLI ] ShellExecute installer failed: 2

Automated error analysis suggests -1978334960 may mean Failed to install package dependencies.
(Automated response - build 887.)


Improve nvm_is_version_installed to check for a node executable instead of root dir

For some context, this was causing issues described in https://github.com/getsentry/sentry/pull/8623.
nvm_is_version_installed should not be checking for the presence of an installed node version by simply checking the presence of a directory in versions/node. It just isn't a strict enough check. One step would be to check for the presence of an executable bin/node, which is what this PR implements.
Even more strict would be to actually try and invoke bin/node itself afterwards, and comparing [ "$(node -v)" = "v${1}" ]. Please let me know if that sounds good, or if you have any questions.

oh also, could you add a test that would have failed without this change? Thanks!

Added a test in test/installation_node, let me know what you think. I also saw nvm_is_version_installed invoked in 2 files in test/installation_iojs, but have no idea what that is.

@ljharb The fast test suites have been failing across all my commits in this PR - does it look like a problem to you?

@JoshuaRLi hmm, yes it does :-/ it's possible that your change to make the check more strict, means that the mocks in tests need to fake node more thoroughly

lol, i must have added it in preparation for other branches and never used it. Good catch!
In that case, I think it should be two make_fake_node calls.

But mkdir "${NVM_DIR}/v0.1.3" is done as preparation for this test: nvm ls 0.1 | grep v0.1.3 || die '"nvm ls" did not list a version not in the versions/ directory'
make_fake_node is the appropriate substitute for mkdir -p "${NVM_DIR}/versions/node/v0.12.1", but not mkdir "${NVM_DIR}/v0.1.3". What's the difference between these two old mocks? I thought all nvm-installed nodes were placed in .../versions/?

All versions < 0.12 are placed in the top-level dir.

So would this be correct?
make_fake_node v0.12.1
mkdir "${NVM_DIR}/v0.1.3"

I would expect:
make_fake_node v0.12.1
make_fake_node v0.1.3

since https://github.com/creationix/nvm/commit/186eb8838dd43df3c3bf7b9d301101a9177398ca#diff-daaa154e22be44798ffcddf12a70e03eR33 will handle the right version path

Thanks, just wanted to make sure. You know nvm and test internals way, way better than I do, I'm just a passerby. Will be making changes soon.

I'm going to peel out the make_fake_node commit directly into master, and will rebase this PR once i do. Thanks!

@JoshuaRLi the make_fake_node commit is now in master (thanks!), and this PR is rebased. Tests are still failing, however.

Right, so there are some stray tests that looked out of the ordinary, so I didn't modify them with the previous commit (hence [Tests] update most mkdirs ...). For example:
#!/bin/sh

set -ex

cd ../..
mkdir v0.0.1
mkdir src/node-v0.0.1

. ./nvm.sh
nvm uninstall v0.0.1

[ ! -d 'v0.0.1' ] && [ ! -d 'src/node-v0.0.1/files' ]

What's the src/node-v0.0.1/...? This test, Running\ \"nvm\ uninstall\"\ should\ remove\ the\ appropriate\ directory., appears to have been written long ago. Can it be replaced by something like this?
#!/bin/sh

set -ex

. ../../nvm.sh
. ../common.sh

make_fake_node v0.0.1

nvm uninstall v0.0.1

[ ! -d 'v0.0.1' ]

In that case, it's the extracted source files for a to-be-compiled version of node v0.0.1 - it's not the same as make_fake_node, it's more like make_fake_source_cache, but I'm not sure if we need that.

Alright, down from 11 to 6 to 3 tests failed. Do you know what's going on here? I can't figure this out.
+mkdir src alias
    Aliases
    ✓ "nvm alias" should not accept aliases with slashes
    ✓ "nvm unalias" should not accept aliases with slashes
    ✗ Running "nvm alias <aliasname> <target>" again should change the target
! WARNING: Version '0.0.2' does not exist.
test-stable-1 -> 0.0.2 (-> N/A)
nvm alias test-stable-1 0.0.2 did not set test-stable-1 to 0.0.2: got 'test-stable-10 -> 0.0.10 (-> N/A)
test-stable-1 -> 0.0.2 (-> N/A)'
    ✓ Running "nvm alias <aliasname>" should list but one alias.
    ✓ Running "nvm alias" lists implicit aliases when they do not exist
    ✓ Running "nvm alias" lists manual aliases instead of implicit aliases when present
    ✗ Running "nvm alias" should list all aliases.
did not find test-stable-1 alias; got 'test-iojs-10 -> 0.2.10 (-> N/A)

The first test is doing these steps:

make an alias called "test-stable-1" pointing to "0.0.2"
retrieve the alias value for "test-stable-1", assert it's "0.0.2" (this is failing)
make an alias called "test-stable-2" pointing to "0.0.1"
retrieve the alias value for "test-stable-2", assert it's "0.0.1"

I think the setup file in that directory needs to convert some mkdirs into make_fake_nodes?

@ljharb Thanks, that helped. Everything's green now :)

No problem, thanks for being a big help.

nice @JoshuaRLi

hi max!!

Great stuff @joshuarli!

Hi @KevinHock. Have a look at https://github.com/volta-cli/volta lol

@joshuarli hi, please don't spam other projects here, that's pretty hostile.

@joshuarli hi, please don't spam other projects here, that's pretty hostile.

Hostile how? I also didn't spam, this is the only comment I've left in this repo linking to volta.
nvm works great - the only issue I had with it was how it affected shell startup time. That's not an issue at all with volta. If people have opinions about better tools I think it's responsible, not hostile, to share.

Looking back I don't remember what I was trying to imply with the trailing "lol" but I just meant to say that I use volta now and  I like it better, that's all.
Sorry if you took any offence.


Can the kit only used in macOS 12 or later?

Is your feature request related to a problem? Please describe.
I wonder if there is a compiled version that used on macos 11 or earlier
Describe the solution you'd like
I wonder if there is a compiled version that used on macos 11 or earlier
Describe alternatives you've considered
none
Additional context
none

Thanks for opening the issue. I don't understand what you mean by a "compiled version". This is a Swift package that can be used via the Swift Package Manager, read more in the docs.
Adding support for macOS 11 sounds like an interesting idea. Unfortunately, adding support for earlier versions of macOS is not possible as the settings scene this package is built around is available only in macOS 11 or later.
I'll add support for macOS 11 once I'm less busy. Thanks again for the request!


Fix #593, Add Category to Cppcheck Workflow

Checklist (Please check before submitting)

[x] I reviewed the Contributing Guide.
[ ] I signed and emailed the appropriate Contributor License Agreement to<EMAIL_ADDRESS>and copied<EMAIL_ADDRESS>
Describe the contribution
Fixes #593
Testing performed
Made changes to cFS fork and test on PSP fork.

Expected behavior changes
Same behavior. Added category so second SARIF file upload does not fail.
Additional context
Workflow may fail due to ubuntu being out of date. GitHub will now throw brownouts for out of date ubuntu versions.
Contributor Info - All information REQUIRED for consideration of pull request
Ariel Adams, MCSG Tech

CCB 20 October 2022: Approved pending confirmation Ubuntu workflow updates resolve failing checks.


July 26th 2023

Take a look at PulseInputDDM.jl (super high front end), base_model.jl (more important stuff for different types of models), choice_model.jl (choice model specific stuff), examples/choice_model.ipynb is a overall walkthrough of the data generation and modeling fitting.

Things to maybe think about at some point....

Lobotomized both codebases (e.g. remove adaptation from Brian's code, and collapsing bounds from Gary's)

New issue: look at load_choice_data in \choice_model\process_data.jl and make a new helper function that does pretty much the same thing, but for R files.

Use \sigma_i = 1e-3, lapse = 0 , bias = 0, \sigma_s = 1e-3, \phi = 1, \tau_phi = 1e-3, to lobotmize the model so we are only fitting \sigma_a, B and \lambda.
Ask Gary about why he's not using lapse rate.

above have been addressed/and or completed to best of ability. closing issue for record keeping sake, as new goals arise, new issues can be created :)


Implement transaction metrics query in new Rust backend

Purpose
The current transaction metrics query is broken. It times out when choosing the yearly period. We should fix this with the new backend.
Changes

Creates a new transactions_metrics module which will contain the logic for this query. This also serves as an example of how we can split up the logic in different modules more generally. Draft for now to show this.
Adds an index column to the transactions database table (renaming the previous one to block_index) which will be a globally unique index and serves as the new primary key.

Checklist

[x] My code follows the style of this project.
[x] The code compiles without warnings.
[x] I have performed a self-review of the changes.
[x] I have documented my code, in particular the intent of the
hard-to-understand areas.
[x] (If necessary) I have updated the CHANGELOG.

I implemented the transaction metrics query now. It should work and should be efficient, though I haven't tested with data in the database. EXPLAIN ANALYZE suggests that it is fast with the added slot_time index though.
The behavior is not exactly the same either. The old behavior put the buckets at certain times, which lead to the last bucket covering into the future, which is strange and means that the last bucket is actually almost always smaller than the rest. The new behavior has the last bucket covering just up until the current moment. This makes the buckets even.

The behavior is not exactly the same either. The old behavior put the buckets at certain times, which lead to the last bucket covering into the future, which is strange and means that the last bucket is actually almost always smaller than the rest. The new behavior has the last bucket covering just up until the current moment. This makes the buckets even.

This would mean that it behaves differently from the other metrics we have, and we would need to change those as well.
Not sure if this is better though, since the buckets shift in time, the graphs drawn from these metrics will probably start looking like waves as the count in each block shifts from one bucket to the next.

It's a fair point but I personally feel that's okay. Yes, every bucket would change depending on when you look, but at least the last bucket doesn't look weird. The current solution makes it seem like the last bucket almost always has less activity, which is inaccurate. I feel this is the most accurate way to portray the data, at least if we are talking about a bar chart with buckets. A finer-resolution line chart would not have the same problem to the same extent I think?
One way to fix it would be to fix the buckets in a similar manner as before, but only consider bucket that do not overlap with the future. But then you don't see the most up-to-date data. I feel the solution proposed here is better.


Cannot use pipe which has wrapped with double quotes ("|") for a table in spec file

Expected behavior
Should be able to use pipe which has wrapped with double quotes ("|") for a table in spec file
Actual behavior
Cannot use pipe which has wrapped with double quotes ("|") for a table in spec file
Steps to reproduce

Write a java method for a data driven test
In the spec table provide pipe symbol (|)
Ex:

And the JSON Path Assertions for the response should be equal to the following

JSON Path
Value

$.message
error.validation

$.description
null

$.fieldErrors[0].objectName

$.fieldErrors[0].field
question.media

$.fieldErrors[0].message
must match \"TEXT

Try to run
It will only take the string before the pipe symbol.

Gauge version
Gauge version: 0.9.
Commit Hash: 724e6d
Plugins
csharp (0.10.1)
flash (0.0.1)
html-report (4.0.2)
java (0.6.5)
ruby (0.4.2)
screenshot (0.0.1)
spectacle (0.1.2)
xml-report (0.2.0)

Can you try changing that line to
|$.fieldErrors[0].message |must match "TEXT \|HTML \|IMAGE \|VIDEO \|AUDIO"    |

Escape character will solve this problem. However formatting the spec removes the escape character - https://github.com/getgauge/gauge/issues/318. The problem will then re-occur.


Failed upgrade from kubernetes 1.9.1 to 1.9.3

Is this a request for help?:

Is this an ISSUE or FEATURE REQUEST? (choose one):
Issue
What version of acs-engine?:
v0.13.0

Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm)
1.9.1 -> 1.9.3
What happened:
FATA[0098] Error upgrading cluster: resources.DeploymentsClient#CreateOrUpdate: Failure sending request: StatusCode=200 -- Original Error: Long running operation terminated with status 'Failed': Code="DeploymentFailed" Message="At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details."
What you expected to happen:
Upgrade is completed
How to reproduce it (as minimally and precisely as possible):
"networkPolicy": "azure"
Anything else we need to know:
{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.","details":[{"code":"BadRequest","message":"{\r\n "error": {\r\n "code": "PrivateIPAddressIsAllocated",\r\n "message": "IP configuration /subscriptions/xx-x-x-x-x-x-x-x-x-/resourceGroups/xx-xxx-xx/providers/Microsoft.Network/networkInterfaces/k8s-master-30347309-nic-0/ipConfigurations/ipconfig1 is using the private IP address <IP_ADDRESS> which is already allocated to resource /subscriptions/xxx-xx-x-x-x-x-x-x-xx/resourceGroups/xx-xxx-xx/providers/Microsoft.Network/networkInterfaces/k8s-agentpool1-30347309-nic-0.",\r\n "details": []\r\n }\r\n}"}]}

I've destroyed my cluster because of this issue. It looks like acs-engine is unable to check if ip address is allocated or not and fails each time.

@IvanovOleg there is a known issue that the second upgrade will introduce problems like this. Just curious, has your cluster already been upgraded before this upgrade?

@JunSun17 It's the first upgrade since I've started using Azure network

@IvanovOleg can you attach your cluster definition here so we can investigate this issue further? Thanks!

{
  "apiVersion": "vlabs",
  "properties": {
    "orchestratorProfile": {
      "orchestratorType": "Kubernetes",
      "orchestratorVersion": "1.9.1",
      "kubernetesConfig": {
        "networkPolicy": "azure",
        "enableRbac": true,
        "apiServerConfig": {
          "--admission-control": "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,ResourceQuota,DenyEscalatingExec,AlwaysPullImages"
        }
      }
    },
    "masterProfile": {
      "count": 1,
      "dnsPrefix": "xx-xxx-xxx",
      "vmSize": "Standard_D2_v2",
      "storageProfile" : "ManagedDisks"
    },
    "agentPoolProfiles": [
      {
        "name": "agentpool1",
        "count": 3,
        "vmSize": "Standard_DS2_v2",
        "availabilityProfile": "AvailabilitySet",
        "storageProfile" : "ManagedDisks"
      }
    ],
    "linuxProfile": {
      "adminUsername": "xxxxx",
      "ssh": {
        "publicKeys": [
          {
            "keyData": ""
          }
        ]
      }
    },
    "servicePrincipalProfile": {
      "clientId": "",
      "secret": ""
    }
  }
}

@JunSun17 As far as I remember I used v0.12.2 for the original deployment. I think you should create ~ 30-40 dummy containers before upgrade to allocate a lot of ips.

I run into the same issue, when upgrading kubernetes from 1.8.7 to 1.8.8. Have also used acs-engine v.0.12.2 and upgraded to version v0.13.0 before trying to upgrade the cluster.

@IvanovOleg @mtgerb Thanks for reporting this issue. I suspect upgrade with v0.13.0 may introduce this issue if the original deployment is not using v0.13.0. I will do some further testing and update on this issue.

Yes, there is an issue if the original deployment is not using v0.13.0. v0.13.0 reserves static IPs for master nodes but these IPs might have been taken already by other nodes deployed with an early version. I am investigating on a solution for this.

@JunSun17 Thanks! Maybe it's a good idea to have some kind of command line parameter that handles the range of ips as a backup plan for situations like this.


Title bar icons are too small

Hi @bitsdojo, really nice package you have here. However, the minimize, maximize, and close buttons are too small on my PC. They are much smaller than those of the other windows. I'm certain I am not doing anything wrong that might mess with the size, but please help me out if I am.
I took a look at getTitleBarButtonSize() in window_caption.dart and noticed it uses the device-dependent pixel values returned by GetSystemMetrics(int). Shouldn't these be converted to logical pixels?
This is the code I used to render my title bar
class WindowTitleBarView extends StatelessWidget {
  final Widget body;
  WindowTitleBarView({this.body, Key key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Container(
      color: appColors.kcSweetsAppBarColor,
      child: Column(
        children: [
          WindowTitleBarBox(
            child: Row(
              children: [
                Expanded(child: MoveWindow()),
                Row(
                  children: [
                    MinimizeWindowButton(colors: _windowButtonColors),
                    MaximizeWindowButton(colors: _windowButtonColors),
                    CloseWindowButton(colors: _windowCloseButtonColors),
                  ],
                )
              ],
            ),
          ),
          Expanded(child: body),
        ],
      ),
    );
  }
}

And this is how small the buttons look in my window:

I can also reproduce this on Windows 10 with a screen resolution of 3440 x 1440:

Just pushed 0.0.3. Could you please try it and let me know how it goes?

Yeah, looks great now!

Great! Thanks!


Implement first pass of website design (fixes #107)

Proposed changes
This PR  implement the first pass on creating the CS Unplugged website.
Key areas changed are the:

Home Page
Topics Page
Programming Exercise Page
Navigation bar
Footer
Curriculum Integration Page

Fixes issue: #107
Checklist
Change the space in the box to an x for those you have completed. You can also fill these out after creating the pull request. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your change.

[x] I have read the contribution guidelines, because I wrote them
[x] I have linked any relevant existing issues/suggestions in the description above (include #??? in your description to reference an issue, where ??? is the issue number)
[x] The pull request is requesting a merge into the develop branch
[x] I have added necessary documentation (if appropriate)

Both the "Learn about CSU" and "Teaching with CSU" buttons to the About page - is this on purpose?

Yep (they may get clearer titles in the future):

Learn about CSU: Learn about the project and it's purpose
Teaching with CSU: Learn about how to teach with the CSU material

The first page would provide a link to the second.


Update developer guide to clearly define the expecations

Include e.g.:
We can't afford to manually verify all features before every release. The expectation going forward is to have automated test for each change.

s/manpower/resources/ please :)

Rephrased.

This is just an example.


Wazero 1.7.0 segfaults instantiating module

Describe the bug
A wasm module that was being compiled and instantiated with wazero 1.6.0 successfully now segfaults with version 1.7.0.
To Reproduce
I am building my own experimental tool that embeds wazero for supporting wasm. Here is a link to the wasm file I was testing with:
https://github.com/davidmdm/flights/releases/download/v0.0.0-yokecd-test/pg.wasm
This module is an executable that should output some JSON to stdout.
This is the code I use to intantiate it:
package wasi

import (
	"bytes"
	"context"
	"crypto/rand"
	"fmt"
	"io"

	"github.com/tetratelabs/wazero"
	"github.com/tetratelabs/wazero/imports/wasi_snapshot_preview1"

	"github.com/davidmdm/x/xerr"
)

func Execute(ctx context.Context, wasm []byte, release string, stdin io.Reader, args ...string) (output []byte, err error) {
	cfg := wazero.
		NewRuntimeConfig().
		WithCloseOnContextDone(true)

	// Create a new WebAssembly Runtime.
	wasi := wazero.NewRuntimeWithConfig(ctx, cfg)
	defer func() {
		err = xerr.MultiErrFrom("", err, wasi.Close(ctx))
	}()

	wasi_snapshot_preview1.MustInstantiate(ctx, wasi)

	// Because we are running a binary directly rather than embedding in an application,
	// we default to wiring up commonly used OS functionality.
	mod, err := wasi.CompileModule(ctx, wasm)
	if err != nil {
		return nil, fmt.Errorf("failed to compile module: %w", err)
	}

	var (
		stdout bytes.Buffer
		stderr bytes.Buffer
	)

	moduleCfg := wazero.
		NewModuleConfig().
		WithStdout(&stdout).
		WithStderr(&stderr).
		WithRandSource(rand.Reader).
		WithSysNanosleep().
		WithSysNanotime().
		WithSysWalltime().
		WithArgs(append([]string{release}, args...)...)

	if stdin != nil {
		moduleCfg = moduleCfg.WithStdin(stdin)
	}

	if _, err := wasi.InstantiateModule(ctx, mod, moduleCfg); err != nil {
		details := stderr.String()
		if details == "" {
			details = "(no output captured on stderr)"
		}
		return nil, fmt.Errorf("failed to instantiate module: %w: stderr: %s", err, details)
	}

	return stdout.Bytes(), nil
}

Expected behavior
I expect the wasm file to be executed without segfaults, and to produce the same output as wazero 1.6.0
Screenshots

Environment (please complete the relevant information):

go version go1.22.1 darwin/arm64
wazero Version: 1.7.0
Host architecture: arm64

Additional context
Add any other context about the problem here.

I've fixed this issue for myself by switching to using the interpreter which may in fact be more appropriate for my use-case overall since startup time is more important to me than execution time.
However will leave this up, and will answer any questions. I want to mention that I love wazero and think it is an understated contribution to the Go-Ecosystem. Well done team!

Hi, can you share the faulty module so we can inspect it?

for reference, just running through wazero run pg.wasm shows the same behavior (no need for the wrapping script).
Also, GOARCH=amd64 wazero run pg.wasm crashes just the same, which is likely to mean a bug in the front-end (i.e. it is not a bug in the machine-specific codegen)
finally, some experimental "fix" that I am working on for a different bug in the front-end (re: bound check elimination) causes the hard crash to turn into a wasm stack trace; it might not be related and just be a bug on top of another bug 😬

error instantiating wasm binary: module[] function[_start] failed: wasm error: out of bounds memory access
wasm stack trace:
	.k8s.io_api_apps_v1beta2.__DeploymentList_.DeepCopyInto(i32) i32
	.runtime.doInit1(i32) i32
	.runtime.main(i32) i32
	.wasm_pc_f_loop()
	._rt0_wasm_wasip1()

@evacchi
The binary was produced via the Go Toolchain:
GOOS=wasip1 GOARCH=wasm go build -o pg.wasm ./cmd/pg

I tried running wazero directly against an equivalent pg.wasm and got the same thing you did:
wazero run pg.wasm
error instantiating wasm binary: module[] function[_start] failed: wasm error: out of bounds memory access
wasm stack trace:
        .k8s.io_api_apps_v1beta2.__DeploymentList_.DeepCopyInto(i32) i32
        .runtime.doInit1(i32) i32
        .runtime.main(i32) i32
        .wasm_pc_f_loop()
        ._rt0_wasm_wasip1()

I then tried it on a "more manageable" hello-world version of a kubernetes resource but still compiling the kubernerte's client-go packages:
package main

import (
	"encoding/json"
	"flag"
	"fmt"
	"os"

	appsv1 "k8s.io/client-go/applyconfigurations/apps/v1"
	corev1 "k8s.io/client-go/applyconfigurations/core/v1"
	metav1 "k8s.io/client-go/applyconfigurations/meta/v1"
)

func main() {
	if err := run(); err != nil {
		fmt.Fprintln(os.Stderr, err)
		os.Exit(1)
	}
}

func run() error {
	name := os.Args[0] + "-sample-app"
	labels := map[string]string{"app": name}

	replicas := flag.Int("replicas", 2, "desired replica count for deployment")

	flag.Parse()

	dep := appsv1.Deployment(name, "").
		WithLabels(labels).
		WithSpec(
			appsv1.DeploymentSpec().
				WithReplicas(int32(*replicas)).
				WithSelector(metav1.LabelSelector().WithMatchLabels(labels)).
				WithTemplate(
					corev1.PodTemplateSpec().
						WithLabels(labels).
						WithSpec(
							corev1.PodSpec().WithContainers(
								corev1.Container().
									WithName(name).
									WithImage("alpine:latest").
									WithCommand("watch", "echo", "hello", "world"),
							)),
				),
		)

	return json.NewEncoder(os.Stdout).Encode(dep)
}

and although it didn't crash with a stack trace, no output is rendered with v1.7.0, but it works successfully with v1.6.0 using wazero run on the wasm outputted via GOOS=wasip1 GOARCH=wasm go build

hah, I thought pg had something to do with postgres, but even this smaller example produces a 69meg binary :D so it really has to do with instantiating these huge protos. See e.g.
package main

import (
	corev1 "k8s.io/client-go/applyconfigurations/core/v1"
)

func main() {
	c := corev1.Container().
		WithName("hello").
		WithImage("alpine:latest").
		WithCommand("watch", "echo", "hello", "world")

	println(c)
}

Pg does have something to do with postgres, but regardless of what I am deploying/generating, I am generating kubernetes manifests from K8 client libraries via the magic of wazero! I've switched to using the interpreter for now since its a good fit for my use-case, but it's good you've managed to find a more minimalistic way to reproduce the issue!

so just to give you some feedback, I've been looking into this. The bad news is that I am still figuring it out, the somewhat good news is that this bug is limited to arm64. With shorter examples; e.g.
	c := v1.ContainerPort()
	fmt.Printf("%v", c)

I can get a stack trace similar to the one you show:
error instantiating wasm binary: module[] function[_start] failed: wasm error: out of bounds memory access
wasm stack trace:
	.github.com_google_gnostic_models_openapiv2.__Any_.ProtoReflect(i32) i32
	.runtime.doInit1(i32) i32
	.runtime.main(i32) i32
	.wasm_pc_f_loop()
	._rt0_wasm_wasip1()

in general it looks like something funky is going on in the init() phase.
This won't happen either with the interpreter or GOARCH=amd64

@davidmdm in case you didn't see this yet, I have a WIP PR addressing your issue #2169


[Bug] PopenPool Worker Memory Leak Issue in Building

According to recent PRs #11094 #11074 , we found that multiple teams independently identified the same memory leak problem using PopenPool worker for tvm building during tuning.
Now the common workaround seems to be restarting the worker / Popen process pool after certain time of usage.
This issue is thus created to further investigate and track the root cause.
CC: @tqchen @junrushao1994 @shingjan @AndrewZhaoLuo @petersalas

Won't fix for now. Please feel free to reopen if this reproduces.


[Feat] Add Patient Feedback and Review System

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Propose adding a system where patients can submit feedback and reviews of their healthcare experience. The feature will include:
Feedback Form: Fields for name (optional), email (optional), rating (1–5 stars), and comments.
Review Display: Display approved reviews with ratings, with options for pagination or filtering by date/rating.
Moderation: Admin panel for review moderation (approve/reject) and spam prevention (CAPTCHA).
Security: Form validation and HTTPS for secure submissions.
Use Case
The Feedback and Review System will significantly enhance the user experience of the project by allowing patients to share their opinions on healthcare services, which in turn can lead to improvements in quality. For patients, this provides a platform to voice their satisfaction or concerns. For healthcare providers, it offers valuable insights into patient experiences, helping to identify areas for improvement.
This feature fosters transparency, builds trust with potential patients, and creates a positive feedback loop for the continuous enhancement of services.
Benefits
Enhances patient engagement.
Builds trust through public reviews.
Provides insights to improve services.
Priority
High
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

okay, make a simple yet elegant looking page, for that and add it's link in the footer

Thank you for assigning .

Made a pr request yesterday solving the above said problem. Please check @Luson045


Tutorial Update - Jurika Shani

Key changes:

Performed a complete redo of the introductory part, together with linking to the learning path that contains modules on this topic.
Ensured consistencies of subheadings
Edited text, e.g., fix typos, improve grammar and spelling wherever I saw some; Fixed some style guide incongruencies and minor markdown syntax errors
Deleted the azure monitor zone pivot part (Yael said it can be ignored)

#please-close


Added a working example for git submodule command

Overview
The  git submodule command was just a TODO, added information on how to actually do it.

Please preserve this line to notify @roll (lead of this repository)

Thanks!


[port downloadd failure] magnum-plugins

Missing hashes identified for port magnum-plugins
Build: missing

[!NOTE]
This list is updated by automation and may change as assets cycle out

a898a057b57ac64f6c0bf5fce0b599e23421ccdd015ea7bb668bce8b9292ef55b098f3d05854a2fb5363959932b75cd0a842664ae7d4f71f3537dc11301c1b32

To fix:

If the SHA is not valid or the port has build problems

Add to ignore-ports.txt or ignore-hashes.txt

Ensure that the port downlaods successful which might include...

Ensuring that a required triplet is present (easiest)
Building the port to download the asset (needs build infrastructure)
Ensure features are properly configured

Missing hashes identified for port magnum-plugins
Build: missing

[!NOTE]
This list is updated by automation and may change as assets cycle out

a898a057b57ac64f6c0bf5fce0b599e23421ccdd015ea7bb668bce8b9292ef55b098f3d05854a2fb5363959932b75cd0a842664ae7d4f71f3537dc11301c1b32

To fix:

If the SHA is not valid or the port has build problems

Add to ignore-ports.txt or ignore-hashes.txt

Ensure that the port downlaods successful which might include...

Ensuring that a required triplet is present (easiest)
Building the port to download the asset (needs build infrastructure)
Ensure features are properly configured

Missing hashes identified for port magnum-plugins
Build: missing

[!NOTE]
This list is updated by automation and may change as assets cycle out

a898a057b57ac64f6c0bf5fce0b599e23421ccdd015ea7bb668bce8b9292ef55b098f3d05854a2fb5363959932b75cd0a842664ae7d4f71f3537dc11301c1b32

To fix:

If the SHA is not valid or the port has build problems

Add to ignore-ports.txt or ignore-hashes.txt

Ensure that the port downlaods successful which might include...

Ensuring that a required triplet is present (easiest)
Building the port to download the asset (needs build infrastructure)
Ensure features are properly configured

Closing to let automation populate issues properly


refactor initial queries page

made changes in the front end logic in initial queries page to accommodate backend logic changes
refactor initial queries page to retrieve still needed list via API

created a new PR, closing this one


Have arc ignore certain files during deployment

If I get this right, it's currently not possible to exclude certain files from the deployment. It also wouldn't suffice to take the project's .gitignore into account, since there are files/directories that shouldn't end up in CVS while they should still be deployed.
So I thought about introducing an .arc-ignore file, that's either global and located in the project's root and/or local and located in each lambda folder.
What are the opinions on that? Does someone else — besides me — miss this feature?
Cheers.

Interesting! Nothing in root is deployed unless it’s in a deploy target folder (like public/).
Can you speak a bit more to your use cases for ignore?
Thanks!

I thought about e.g. *.ts-files when writing Typescript. One could ignore them with a global setting or per function.
But maybe that's size-wise not worth the effort. I'm not sure…

Hmm, I can imagine that could add up, but hard to know. We don't use Typescript internally so I don't have anything to compare it to within Architect projects, but maybe you can run du -ch ./**/*/*.ts and du -ch ./**/*/*.ts | grep total$, would love to see how much of an impact this is making!

So, I have 16 functions and end up with an overhead of 76K caused by the .ts-files. Guess that doesn't really justify any bigger optimization efforts…

This feels like something we are going to have to do eventually, but probably isn’t a priority right now. Once all commands are moved over to inventory from glob that might be a good moment for a PR!


Question: How come the .env.sample variables aren't really being used in the nextjs app router? Can I see the file where it is being used ?

Can't seem to find the location where these variables are used to initialize the app.

Can you navigate me the file that initializes new relic with the nextjs app?

The .env file is loaded via the start script:
https://github.com/newrelic/newrelic-node-examples/blob/9415503f3bd78fa5d87a7214596d51c946199474/nextjs/nextjs-app-router/package.json#L5

thanks, didn't notice that!


DHCPv4: use a Vec to store DNS server addresses instead of an array o…

…f options
This simplifies usage of this field, but does remove the Copy derive from that struct.
If the Copy derive on Dhcpv4Repr is not a requirement, I would like to replace it's internal Option<[Option<Ipv4Address>; 3]> with an Option<Vec<Ipv4Address; 3>> too.

I've swapped the array in DhcpRepr too, now. It makes doing const stuff a bit more difficult, but should work fine.

How does this affect the size of the resulting binary? Do the clone()s get optimized away?

Given that the underlying types are Copy, it shouldn't make a big difference. I haven't looked at it in detail though, I will try to do so on Thursday.

In my tests (quite specific) test, it seems like the size is somewhat decreased:

Branch
Size

master
29068

dhcp_vec
28736

It's a basic project with a smoltcp Interface, one TCP socket and one DHCP socket.
This is with opt-level = "s", lto = true, (find it here, the rtic-echo example with stm32f429). I also included bloat files that seem to indicate that the buffer_len calculation has decreased in size a bit, as well as parse_ack.

@datdenkikniet, very cool. Thank you for checking.


fix #3 add quick type defs

Added type definitions provided by @sublimator.
This library should ideally be written in ts and types generated. But this is a quick fix for ts imports of the library.

To test, create a .ts script and import MistralClient from '@mistralai/mistralai'; .. types are correctly recognized, e.g.

FYI, I opened a new PR with extended TypeScript defs at #20. Thanks for the work here!

Superceded by #20


AB#380 -  Feature/textfield options

Describe pull-request
Describe what the pull-request is about
Textfield component

[x] Helper text
[x] Error text
[x] Error states
[x] Disabled states
[x] Label inside transition
[x] Text counter
[x] Suffix symbol
[x] Prefix symbol
[x] Icon Sufix
[x] icon Prefix
[x] Added comments for the web-component
[x] Cleaned up the npm scripts a bit
[x] Minor bug fixes
[x] Focus on textfield when clicking the whole element

Solving issue
Add which issue this pull-request solves by adding # plus the number of the issue (for example #123)
Fixes: #75
How to test
Add description how to test if possible

Run storybook or look at netlify
Check textfield options
Compare to figma examples

The text fields top left and right corners should have a 4px corner radius. Currently it is 0px (Chrome, Firefox & Safari)

The text fields top left and right corners should have a 4px corner radius. Currently it is 0px (Chrome, Firefox & Safari)

Fix for Border-radius
Temp icon size
Grey-400 on placeholder

The disabled states text has the wrong colour. Should be $grey-200. I think this might have been updated by accident, when we updated the new Placeholder text colour.

I can't input any text in any text fields (Safari, Chrome & Firefox).

I can't input any text in any text fields (Safari, Chrome & Firefox).

Added maxlength by default, that is now removed
Reverted the disabled color for placeholder
Added grey-400 for default placeholder


Introduce an animation to show slideup is possible

Problem

Some user testing with a Japanese user.
The user tried to slide up the card instead of tapping it, and gave up because we both believed the gesture was not available

Proposed solution

Introduce an immediate animation to show slideup is possible

Additional context

https://github.com/openfoodfacts/smooth-app/issues/1004

Part of

#526

It's already here, as mentioned by @M123-dev (see Context)

True, but it's a merged PR


Optimize builds & responsive image generation

Category

[x] Theme fix

Related issues

fixes #144

Contents of the Pull Request
This PR doubles as an optimization of build time & addressing multiple issues related to how responsive images are generated. Details below in the TL;DR.
Build optimization improvements addressed in two areas:

Heavily leverage Hugo's partialCached over partial for elements that are global & not unique to a page such as the sidebar (including categories, tags, and recent posts), footer, CSS, JS, etc. Before, Hugo had to regen these elements for every single page. But if they don't change, just gen them once, cache it, and let Hugo reuse the same element on every page.

Rationalize responsive image generation. The theme was generating images that were never used on the site. In general, only two sizes are used: mobile & desktop. Rationalized it down from 4 (including 800w, 1200w & 1500w that were never being used) to usually 2.

NOTE on "usually": While this slashed ~47% of the image processing, many content pages weren't resizing content images. For example, images referenced as images/file.png would get responsively resized, but if referenced as ./images/file.png wouldn't. Fixing this gap resulted in adding tasks back to image processing. Regardless... appears net reduction still ~29%.

For local build/testing of the site, the first build can take a while (up to 5-10 minutes) to gen all the images involved in image processing (these are created in ./resources/_gen/images), but subsequent builds are MUCH faster (sub 30s).
👉 Important note about build times... the way the current site updates are configured, it seems like a build can take a long time. Note that BUILDING the site is completely different from DEPLOYING the site. This PR only addresses the BUILD. I believe further optimizations can be made on both the BUILD & DEPLOYMENT aspects, but that's not part of the site content or Hugo theme (what this PR addresses).
Subsequent PR's will address process optimizations around builds & deployments. I need to see this working reliably first before moving onto those.
TL;DR
Address poor build performance and image responsiveness, including:

theme image processing issues addressed:

was processing images 4x yet 3 of which were never used because the resolution of the generated images is always greater than the max width of the content area... IOW, these 3 images were garbage tasks
was processing images 4x but without consideration of original image width - for instance, if the source image was 900px, it still resized it UP to 1200px & 1500px which is 100% unnecessary. Only resize down for responsive experiences
now images are ONLY resized down if source image width > desired image site for scenario
instead of 4x images generated for content pages, now max 3x

2x images resized with optimal compression (*.webp)
1x fallback image resized to handle caveman browsers (*.jpeg)

switch theme partials that are global to all pages to build only once rather than for every page (ie: switch from partial to partialCache
fix issue where content pages referencing images as ./images/file.ext wouldn't get picked up by the image resizer & this potentially result in very large web-unfriendly images on page (image rendering hook now respects ./images/file.ext & images/file.ext

I believe this is ready to go... but with one big caveat: deployment is a HUGE part time. The site heavily leverages image processing to create various formats of content images used throughout the site in the interest of responsiveness. SEE THE PR DESCRIPTION ABOVE FOR MORE DETAIL.
I have some ideas on cutting the build times down even more, but I need to see this get rolled out.
Cutting down the DEPLOYMENT time is a totally different animal. I'd like to ensure we have a good baseline before proceeding.

Awesome work 🚀

@LuiseFreese said:

This will bring as a very very big step forward.

Well... let's see it work first :)

Do you guys want me to merge this, or do you want to do it?
Feel free to squash & merge so all the commits don't dirty up the commit history.

#notAGuy but will hit the magic button 😍

My bad :) I use "guys" as gender neutral... sort of like "you people" :)


Another attempt at fixing the Fedora 35 problem

On Fedora rawhide we get the following error
In file included from /usr/include/signal.h:315,
                 from /usr/include/sys/param.h:28,
                 from /builddir/build/BUILD/hpx-1.6.0/libs/core/coroutines/include/hpx/coroutines/detail/posix_utility.hpp:55,
                 from /builddir/build/BUILD/hpx-1.6.0/libs/core/coroutines/include/hpx/coroutines/detail/context_posix.hpp:164,
                 from /builddir/build/BUILD/hpx-1.6.0/libs/core/coroutines/include/hpx/coroutines/detail/context_impl.hpp:129,
                 from /builddir/build/BUILD/hpx-1.6.0/libs/core/coroutines/include/hpx/coroutines/detail/context_base.hpp:44,
                 from /builddir/build/BUILD/hpx-1.6.0/libs/core/coroutines/src/detail/context_base.cpp:12:
/builddir/build/BUILD/hpx-1.6.0/libs/core/coroutines/include/hpx/coroutines/detail/context_posix.hpp:224:62: error: call to non-'constexpr' function 'long int sysconf(int)'
  224 |             static std::ptrdiff_t const default_stack_size = SIGSTKSZ;

More details
https://koji.fedoraproject.org/koji/watchlogs?taskID=62453133

@hkaiser This change fixes the error.


Order of table of contents should same as markdown file.

hi @lvht , I think in the tagbar buffer, the order of items should same as it in markdown file.

yes, it is.

But noe it has different order, you can have a try with
https://github.com/SpaceVim/SpaceVim/blob/dev/README.md

the readme's phpcd link to https://github.com/rayburgemeestre/phpfolding.vim, not my phpcd.vim

Readme need to update, but there is no phpcd in it.

i mean phpfold.vim

Will update link, thanks.


[BEAM-2772] Ensure that each triggered load generates a different job id

R: @jkff

Coverage remained the same at 69.963% when pulling 6d60c2d978ae4042d643bc090ba3b18f0c139e2b on reuvenlax:fix_load_jobs_in_streaming into 724eda37ea1e54aac089d89c711ca3cee14a4603 on apache:master.

retest this please.

Coverage remained the same at 69.963% when pulling 6d60c2d978ae4042d643bc090ba3b18f0c139e2b on reuvenlax:fix_load_jobs_in_streaming into 724eda37ea1e54aac089d89c711ca3cee14a4603 on apache:master.

retest this please.

Seems like this only failed in Python tests which are unaffected by your change. You can merge this.


C++ API  advanced mode JSON load doesn't actually apply settings

Required Info

Camera Model
D415

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win 10

Platform
PC

SDK Version
{  2.20}

Language
{ C++ }

Segment
{Robot}

Issue Description
Related to the question and comments/code examples shown in issue #4046 and also basically the exact same code/question/problems on this Stack Exchange question https://stackoverflow.com/questions/53520301/how-to-load-json-file-to-realsense-d435-camera-using-c-and-intel-api
This is a snippet of what i'm doing, and i'll describe what happens and the relevant parts of the JSON.
			rs400::advanced_mode advanced_mode_dev = dev->as<rs400::advanced_mode>();
			// Check if advanced-mode is enabled
			if (!advanced_mode_dev.is_enabled()) {
				// Enable advanced-mode
				advanced_mode_dev.toggle_advanced_mode(true);
				TB_LOG_INFO("Turned on advanced mode!");
			}
//read JSON from disk
			try {
				std::ifstream inputFile(JSONFilePath.c_str());
				std::string contents((std::istreambuf_iterator<char>(inputFile)), std::istreambuf_iterator<char>());
				advanced_mode_dev.load_json(contents);
			} catch (const rs2::error & e) {
				std::cerr << "RealSense error calling " << e.get_failed_function() << "(" << e.get_failed_args() << "):\n    " << e.what() << std::endl;
				TB_LOG_ERROR("REALSENSE ERROR - JSON file was NOT loaded successfully!");
			} catch (...) {
				TB_LOG_ERROR("OTHER ERROR - JSON file was NOT loaded successfully!");
			}

			TB_LOG_INFO("JSON file was loaded successfully!");
			STDepthTableControl depthTableGroup = advanced_mode_dev.get_depth_table(0); //get the struct full of current  values for depth control table settings
			depthTableGroup.disparityShift = 150;
			depthTableGroup.depthClampMin = 50;
			depthTableGroup.depthClampMax = 300;
			advanced_mode_dev.set_depth_table(depthTableGroup);

			depthTableGroup = advanced_mode_dev.get_depth_table(0); //get the struct full of current  values for depth control table settings
			TB_LOG_INFO("Confirming parameters, disparity shift: %d, min clamp %d, max clamp %d", depthTableGroup.disparityShift, depthTableGroup.depthClampMin, depthTableGroup.depthClampMax);

I can successfully save a JSON of the current camera's settings to disk, but i can't seem to successfully load one. It 'fails' silently, where the line advanced_mode_dev.load_json(contents); appears to execute successfully (with string contents which look good to me). If I then interrogate the depth control table where I have modified the disparity shift and min/max clamp distance values, they are NOT modified in the device after loading the JSON. I can, however, set the values myself in the struct and use the set_depth_table() function to set them. This is verified to work.
But why won't the JSON load actually affect the camera, and not give any errors if it couldn't apply the settings?
here's the first 17 lines of the JSON i'm loading which shows the relevant parameters which should be set when loaded:
{
    "aux-param-autoexposure-setpoint": "400",
    "aux-param-colorcorrection1": "0.461914",
    "aux-param-colorcorrection10": "-0.553711",
    "aux-param-colorcorrection11": "-0.553711",
    "aux-param-colorcorrection12": "0.0458984",
    "aux-param-colorcorrection2": "0.540039",
    "aux-param-colorcorrection3": "0.540039",
    "aux-param-colorcorrection4": "0.208008",
    "aux-param-colorcorrection5": "-0.332031",
    "aux-param-colorcorrection6": "-0.212891",
    "aux-param-colorcorrection7": "-0.212891",
    "aux-param-colorcorrection8": "0.68457",
    "aux-param-colorcorrection9": "0.930664",
    "aux-param-depthclampmax": "350",
    "aux-param-depthclampmin": "100",
    "aux-param-disparityshift": "150",
    "controls-autoexposure-auto": "False",
    "controls-autoexposure-manual": "8000",

So the depthClampMin should be 100 after I load the JSON and get the depth table. but it looks like it actually doesn't do anything. Here's a screenshot of the data after loading was 'successful', and i grab the devices' depth control table.

It only works properly after I manually set the parameters and write them back into the device with the set_depth_table() function as mentioned earlier.
It would save me a lot of time if this worked, because if it doesn't work, i have to add all these parameters to my application's config structures and do a lot of extra boilerplate code to support this simple process with each parameter I need to use rather than just loading a neat JSON with all desired settings in one go.

Settings loaded by load_json will be applied on next start.
If I recall correctly, this is done because some of JSON supported values can be speculative dependent on the resolution, that we don't know ahead of time before start.
When camera is streaming, load_json should behave as you'd expect. When the camera is not streaming, there is really no impact to any of these parameters.

I will test this situation, but before I was verifying/setting the depth control table, the actual streaming results didn't show the changes once the streams were started either.  So it might not show up due to what you are saying there, but ultimately it still failed to apply the changes when starting up.  But by setting them manually they DO work.

I may be mistaken, but this is strange.
I'm sure that setting value to RS2_OPTION_VISUAL_PRESET is delayed until start.
What JSON are you using? Did you try the ones from here? Does it behave the same when loading JSON from the Viewer?

Hi @kyranf,
Do you try realsense-viewer to load the json file and see how it works?

Hi @kyranf,
I don't observe this issue per my test with your preset on D415 + librealsense 2.28.0. If no other concern, I will close this ticket.

I will close it for now, until I have further tested.