WIP cull mode specialization

Objective
Fixes #3729
Solution
Add cull mode specialization
Caveats
I never got around to tidying this up, but I'm pushing it here for the sake of potential collaboration.
Something is slightly off with the lighting.
I'm also not sure whether it's more appropriate to use 2 bits to represent every possible cull mode, or just one to enable/disable culling.
Marking as a draft PR for now.

Fixed a stray unrelated modification

Okay, I've at least documented all the known concerns in the PR body.

Thanks for the feedback, explanation, and janitorial work.
Here's the potential issue I was seeing with lighting:
Top is a quad with a base_color and double_sided: true, bottom is the same quad with flipped: true.

Hmm. It looks like setting Quad flip: true is supposed to only change the UVs according to the documentation:

Flips the texture coords of the resulting vertices.

Flips how? Horizontally? Vertically? I don't know what is intended so that probably needs to be improved. :)
But anyway, what the code seems to do is swap the vertex positions horizontally, so the bottom-left and bottom-right get swapped, and the top-left and top-right get swapped. However, the indices remain the same. This results in the winding order being reversed. So flipping is not even just making the texture coordinates flip, it is practically rotating the quad 180 degrees about its y-axis.
Did you mean the bottom quad is with the same base colour, double-sided set to true, and flip set to true on the quad?

Ohhh, but even if the winding is changed, the normal isn't changed. So the normal points in the wrong direction. I think it looks like the intention is that flip: true should only flip the UVs horizontally, not also flip the vertex positions horizontally. I tried to look back through the git history and this flip property goes all the way back to June 2020 in a commit by @cart :
commit 75429f46398cee2ba624980e15e1efb5a049dfe0
Author: Carter Anderson<EMAIL_ADDRESS>Date:   Wed Jun 24 15:29:10 2020 -0700

    render: use left-handed coordinate system and y-up

Different times. I think the code should not be this:
        let north_west = vec2(-extent_x, extent_y);
        let north_east = vec2(extent_x, extent_y);
        let south_west = vec2(-extent_x, -extent_y);
        let south_east = vec2(extent_x, -extent_y);
        let vertices = if quad.flip {
            [
                (
                    [south_east.x, south_east.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [1.0, 1.0],
                ),
                (
                    [north_east.x, north_east.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [1.0, 0.0],
                ),
                (
                    [north_west.x, north_west.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [0.0, 0.0],
                ),
                (
                    [south_west.x, south_west.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [0.0, 1.0],
                ),
            ]
        } else {
            [
                (
                    [south_west.x, south_west.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [0.0, 1.0],
                ),
                (
                    [north_west.x, north_west.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [0.0, 0.0],
                ),
                (
                    [north_east.x, north_east.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [1.0, 0.0],
                ),
                (
                    [south_east.x, south_east.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [1.0, 1.0],
                ),
            ]
        };

but should instead be this:
        let north_west = vec2(-extent_x, extent_y);
        let north_east = vec2(extent_x, extent_y);
        let south_west = vec2(-extent_x, -extent_y);
        let south_east = vec2(extent_x, -extent_y);
        let vertices = if quad.flip {
            [
                (
                    [south_west.x, south_west.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [1.0, 1.0],
                ),
                (
                    [north_west.x, north_west.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [1.0, 0.0],
                ),
                (
                    [north_east.x, north_east.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [0.0, 0.0],
                ),
                (
                    [south_east.x, south_east.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [0.0, 1.0],
                ),
             ]
        } else {
            [
                (
                    [south_west.x, south_west.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [0.0, 1.0],
                ),
                (
                    [north_west.x, north_west.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [0.0, 0.0],
                ),
                (
                    [north_east.x, north_east.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [1.0, 0.0],
                ),
                (
                    [south_east.x, south_east.y, 0.0],
                    [0.0, 0.0, 1.0],
                    [1.0, 1.0],
                ),
            ]
        };

That is, quad.flip only flips the UV coordinates in x. As the vertex positions and normals are identical, it doesn't affect the lighting at all.

Closing in favor of #3982


treewide: Fix broken desktop files and mark packages as broken

This fixes all packages that are failed nixpkgs-review in #91790.
Packages that were broken prior to that PR were marked as broken.
Packages that failed because of #75729 were fixed.
Affected packages:

Package
Broken reason
Fix
Maintainer ping

frogatto
Build failure
Mark as broken
@astro

ipmiview
Desktop file broken
Disable validation Fixed in #100534
@vlaci

ostinato
Desktop file broken
Disable validation
@rick68

python37Packages.spyder
Build failure
Mark as broken
@gebner

react-native-debugger
Desktop file broken
Disable validation Fixed on master
No maintainers!

sage
Python tests fail
Mark as broken
@timokau

sageWithDoc
Python tests fail
Mark as broken
@timokau

softmaker-office
Hash mismatch in fixed output derivation
Mark as broken Fixed on master
@danieldk

tdm
Desktop file broken
Disable validation
@cizra

termius
Download URL 403
Mark as broken
@Br1ght0ne

toggldesktop
libtoggl build failure
Mark as broken
@yegortimoshenko

tome2
Desktop file broken
Disable validation
@cizra

ut2004demo
Download URL 404
Mark as broken Fixed in #100424
@abbradar

Motivation for this change
Less build failures!
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review 100532"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

ut2004demo should be after #100424

:+1: on sage, it has unfortunately been broken for a while and its better to be honest.

Please don't mark spyder as broken, this used to work just a few days ago.

It seems that using an older branch is biting me. I'll have a look on how things look on master.

Update: cq-editor (which uses spyder) builds and works fine on master.

https://github.com/NixOS/nixpkgs/pull/92053 is a better fix for ipmiview.

I've now rebased onto master and re-checked all applications. I am sorry for the false positives and I hope that they are all removed by now.

Result of nixpkgs-review pr 100532 run on x86_64-linux 1

3 packages built:

ostinato
tdm
tome2


Blocking on stderr is locking up for significant time

Seems to be a new regression, maybe a std lib regression?

See TODO on line 77 in src/build/mod.rs

See TODO on line 77 in src/build/mod.rs


Auto-update go-utils to latest version

:robot: Beep boop I am a bot
This is an automatically created PR to change keptn/go-utils to version 0501cfdf16aec4a734df3ccf7516a37a420c4ca7.
Please consult https://github.com/keptn/go-utils/actions?query=workflow%3A"Auto+PR+to+keptn%2Fkeptn" for more information.

Codecov Report

Merging #2851 (2e203ad) into master (265eef7) will increase coverage by 2.71%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2851      +/-   ##
==========================================
+ Coverage   36.08%   38.79%   +2.71%
==========================================
  Files         104       33      -71
  Lines        6460     4173    -2287
  Branches      197        0     -197
==========================================
- Hits         2331     1619     -712
+ Misses       3821     2315    -1506
+ Partials      308      239      -69

Flag
Coverage Δ

moduleA
?

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

Impacted Files
Coverage Δ

bridge/client/app/_models/result-types.ts

...ice/pkg/configurationchanger/values_manipulator.go

helm-service/controller/onboarder.go

...ient/app/_interceptors/http-loading-interceptor.ts

...ponents/ktb-event-item/ktb-event-item.component.ts

...root-events-list/ktb-root-events-list.component.ts

bridge/client/app/_models/notification.ts

...notification-bar/ktb-notification-bar.component.ts

bridge/client/app/_models/stage.ts

bridge/client/app/_services/data.service.ts

... and 61 more

Continue to review full report at Codecov.

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


Apache Directory Studio refuses connection Docker

Hi there,
first of all thanks for your work. I have a problem, when running the jar i can connect to localhost:10389 with Apache Directory Studio, but when running the docker container it says:

ERR_04110_CANNOT_CONNECT_TO_SERVER Cannot connect to the server: Connection refused: no further information
org.apache.directory.ldap.client.api.exception.InvalidConnectionException: ERR_04110_CANNOT_CONNECT_TO_SERVER Cannot connect to the server: Connection refused: no further information
at org.apache.directory.ldap.client.api.LdapNetworkConnection.close(LdapNetworkConnection.java:756)
at org.apache.directory.ldap.client.api.LdapNetworkConnection.connect(LdapNetworkConnection.java:951)
at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper$1.run(DirectoryApiConnectionWrapper.java:234)
at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.runAndMonitor(DirectoryApiConnectionWrapper.java:1277)
at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.doConnect(DirectoryApiConnectionWrapper.java:268)
at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.connect(DirectoryApiConnectionWrapper.java:159)
at org.apache.directory.studio.connection.core.jobs.OpenConnectionsRunnable.run(OpenConnectionsRunnable.java:111)
at org.apache.directory.studio.connection.core.jobs.StudioConnectionJob.run(StudioConnectionJob.java:109)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.net.ConnectException: Connection refused: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
at org.apache.mina.transport.socket.nio.NioSocketConnector.finishConnect(NioSocketConnector.java:223)
at org.apache.mina.transport.socket.nio.NioSocketConnector.finishConnect(NioSocketConnector.java:47)
at org.apache.mina.core.polling.AbstractPollingIoConnector$Connector.processConnections(AbstractPollingIoConnector.java:571)
at org.apache.mina.core.polling.AbstractPollingIoConnector$Connector.run(AbstractPollingIoConnector.java:456)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

ERR_04110_CANNOT_CONNECT_TO_SERVER Cannot connect to the server: Connection refused: no further information
Do you have suggestion how to fix it?

okay nvm.

I forgot to publish the port of this container. Just add -p flag when starting the container.
Have a look at: https://docs.docker.com/config/containers/container-networking/#published-ports


KeyMaps - "C" Key not working

Buttons that use Windows "C" do not register. Keycodes 0-255 were tried and did not work.
Recent game I've tried was Megaman X Engine. All other buttons I've mapped out work on PC version other than "C".
keys-cfg.zip
yyl.log

Same for the game: JackQuest: The Tale of The Sword, It's impossible to do the spin attack. Only normal is possible

Yes, Jack Quest and Luigi's Mansion 2d also have this issue.

Fixed with https://github.com/Rinnegatamante/yoyoloader_vita/commit/1881696151b4c92033596b506f64238fca0f1a85

Fixed for JackQuest and MMXE, but not for Luigi's Mansion 2D. I don't think this should be re-opened tho.


cmd/go: go clean doesn’t remove the binary whose name is defined in go.mod

Hi, go clean doesn't remove the built binary, the filename of binary is the same as the module directive in go.mod.
What version of Go are you using (go version)?

$ go version
go version go1.15 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="auto"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/zhangjie/Library/Caches/go-build"
GOENV="/Users/zhangjie/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/zhangjie/go/pkg/mod"
GONOPROXY="git.code.oa.com/*"
GONOSUMDB="git.code.oa.com/*"
GOOS="darwin"
GOPATH="/Users/zhangjie/go"
GOPRIVATE="git.code.oa.com/*"
GOPROXY="mirrors.tencent.com,direct"
GOROOT="/usr/local/go"
GOSUMDB="off"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/zhangjie/gotest/goclean/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/0j/mvtnlhyj5j9cyqqq1b27bgg40000gn/T/go-build498757503=/tmp/go-build -gno-record-gcc-switches -fno-common"
GOROOT/bin/go version: go version go1.15 darwin/amd64
GOROOT/bin/go tool compile -V: compile version go1.15
uname -v: Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64
ProductName:	Mac OS X
ProductVersion:	10.15.7
BuildVersion:	19H2
lldb --version: lldb-1<IP_ADDRESS>
Apple Swift version 5.3 (swiftlang-1<IP_ADDRESS> clang-1<IP_ADDRESS>)

What did you do?
file: goclean/main.go
file: goclean/go.mod, it defines the module a.b.c
After run cd goclean; go build, we get a binary goclean/a.b.c, then I run cd goclean; go clean -x, it says only the following list will be removed main main.exe goclean goclean.exe ...test ...test.exe.  No a.b.c, a.b.c.exe, a.b.c.test, a.b.c.test.exe is listed.
I want to know if it's a bug, or it is designed like that.
What did you expect to see?
I want to see a.b.c, a.b.c.exe, a.b.c.test and a.b.c.test.exe are cleaned, too.
What did you see instead?
The files, a.b.c, a.b.c.exe, a.b.c.test and a.b.c.test.exe are kept.

@bcmills @jayconrod @matloob

$ go version
go version devel +9a7a981a Tue Sep 29 08:21:48 2020 +0000 linux/amd64

$ (cd goclean; go build)

$ ls goclean/
a.b.c  go.mod  main.go

$ (cd goclean; go clean -x)
cd /tmp/tmp.WYzmKl7fkG/goclean
rm -f goclean goclean.exe goclean.test goclean.test.exe main main.exe

-- goclean/go.mod --
module a.b.c

go 1.16
-- goclean/main.go --
package main

func main() {}

I'll work on this. OK?

@bcmills @andybons @nasjp
Hi, I create a PR https://github.com/golang/go/pull/41999, please take a look :)

This issue has been fixed now, I'll close it.


..of(KVKVKV) generated tests

Codecov Report

Merging #2026 into master will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #2026      +/-   ##
============================================
+ Coverage     97.52%   97.54%   +0.02%
- Complexity     5184     5187       +3
============================================
  Files            91       91
  Lines         11906    11906
  Branches       1574     1574
============================================
+ Hits          11611    11614       +3
+ Misses          147      144       -3
  Partials        148      148

Impacted Files
Coverage Δ
Complexity Δ

...src/main/java/io/vavr/collection/TreeMultimap.java
91.01% <0%> (+1.12%)
11% <0%> (+1%)
:arrow_up:

...in/java/io/vavr/collection/LinkedHashMultimap.java
96.55% <0%> (+1.72%)
10% <0%> (+1%)
:arrow_up:

...src/main/java/io/vavr/collection/HashMultimap.java
96.49% <0%> (+1.75%)
9% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

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


Add device_class in entity #20542

Property device_class added. (so can use with HomeKit)
Description:
Related issue (if applicable): fixes #20542

Duplicate of https://github.com/home-assistant/home-assistant/pull/20293.


storage: no way to fetch object's content & size in one HTTP request

Migrating Camlistore to the official google.golang.org/cloud/storage package (away from our own old package), we found that there's no way to get a Reader of the contents of an object and its metadata (specifically its size, but also content-type) in one HTTP request.
I think instead of returning an interface here:
https://godoc.org/google.golang.org/cloud/storage#ObjectHandle.NewReader
... it should return a *Reader which is a ReadCloser itself, but also is a struct where we can attach metadata from the server's HTTP response headers.
/cc @mpl @okdave

/cc @broady

For now we'll put our own implementation of NewReader in https://godoc.org/go4.org/cloud/google/gcsutil for now, until the official package can do it.

https://code-review.googlesource.com/3977


MSVS_2017 and 2019 failures on 2 windows machines

ref https://github.com/adoptium/temurin-build/pull/2693#issuecomment-918463457
Errors when trying to install the 2017 and 2019 compilers on to test-azure-win2012r2-x64-1  and test-packet-win2012r2-x64-1
test-azure-win2012r2-x64-1
TASK [MSVS_2017 : Register Visual Studio Community 2017 DIA SDK shared libraries] ***
failed: [test-azure-win2012r2-x64-1] (item=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\DIA SDK\bin\msdia140.dll) => {"ansible_loop_var": "item", "changed": true, "cmd": "regsvr32 /s \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\DIA SDK\\bin\\msdia140.dll\"", "delta": "0:00:00.056998", "end": "2021-09-14 11:51:46.972891", "item": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\DIA SDK\\bin\\msdia140.dll", "msg": "non-zero return code", "rc": 3, "start": "2021-09-14 11:51:46.915892", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
failed: [test-azure-win2012r2-x64-1] (item=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\DIA SDK\bin\amd64\msdia140.dll) => {"ansible_loop_var": "item", "changed": true, "cmd": "regsvr32 /s \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\DIA SDK\\bin\\amd64\\msdia140.dll\"", "delta": "0:00:00.047000", "end": "2021-09-14 11:51:48.316016", "item": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\DIA SDK\\bin\\amd64\\msdia140.dll", "msg": "non-zero return code", "rc": 3, "start": "2021-09-14 11:51:48.269016", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}

test-packet-win2012r2-x64-1
TASK [MSVS_2019 : Register Visual Studio Community 2019 DIA SDK shared libraries] ***
failed: [test-packet-win2012r2-x64-1] (item=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\DIA SDK\bin\msdia140.dll) => {"ansible_loop_var": "item", "changed": true, "cmd": "regsvr32 /s \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\DIA SDK\\bin\\msdia140.dll\"", "delta": "0:00:00.159196", "end": "2021-09-13 06:14:09.241804", "item": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\DIA SDK\\bin\\msdia140.dll", "msg": "non-zero return code", "rc": 3, "start": "2021-09-13 06:14:09.082608", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
failed: [test-packet-win2012r2-x64-1] (item=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\DIA SDK\bin\amd64\msdia140.dll) => {"ansible_loop_var": "item", "changed": true, "cmd": "regsvr32 /s \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\DIA SDK\\bin\\amd64\\msdia140.dll\"", "delta": "0:00:00.148142", "end": "2021-09-13 06:14:12.750131", "item": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\DIA SDK\\bin\\amd64\\msdia140.dll", "msg": "non-zero return code", "rc": 3, "start": "2021-09-13 06:14:12.601989", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}

test-packet-win2012r2-x64-1 looks good. Had to install some extra components using the MSVS 2019 community edition installer, found in the control panel. OpenSSL 2019 was installed fine onto the machine.
The same solution sort of worked with test-azure-win2012r2-x64-1, using the MSVS 2017 community edition installer, but OpenSSL 2017 still hit an error when installing

OpenSSL 2017 still hit an error when installing

Installing as opposed to the compilation phase? What was the error?

{
    "start": "2021-09-28 11:17:41.910735",
    "stdout": "**********************************************************************\r\n** Visual Studio 2017 Developer Command Prompt v15.9.39\r\n** Copyright (c) 2017 Microsoft Corporation\r\n**********************************************************************\r\n[vcvarsall.bat] Environment initialized for: 'x64'\r\nConfiguring OpenSSL version 1.1.1l (0x101010cfL) for VC-WIN64A\r\nUsing os-specific seed configuration\r\nCreating configdata.pm\r\nCreating makefile\r\n\r\n**********************************************************************\r\n***                                                                ***\r\n***   OpenSSL has been successfully configured                     ***\r\n***                                                                ***\r\n***   If you encounter a problem while building, please open an    ***\r\n***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***\r\n***   and include the output from the following command:           ***\r\n***                                                                ***\r\n***       perl configdata.pm --dump                                ***\r\n***                                                                ***\r\n***   (If you are new to OpenSSL, you might want to consult the    ***\r\n***   'Troubleshooting' section in the INSTALL file first)         ***\r\n***                                                                ***\r\n**********************************************************************\r\n",
    "cmd": "set PATH=C:\\Strawberry\\perl\\bin;C:\\openjdk\\nasm-2.13.03;%PATH% && .\\vcvarsall.bat AMD64 && cd C:\\temp\\OpenSSL-1.1.1l && perl C:\\temp\\OpenSSL-1.1.1l\\Configure VC-WIN64A --prefix=C:\\openjdk\\OpenSSL-1.1.1l-x86_64-VS2017 && nmake install > C:\\temp\\openssl64-VS2017.log && nmake -f makefile clean",
    "msg": "non-zero return code",
    "stderr": "\r\nMicrosoft (R) Program Maintenance Utility Version 14.16.27045.0\r\nCopyright (C) Microsoft Corporation.  All rights reserved.\r\n\r\n\r\nMicrosoft (R) Program Maintenance Utility Version 14.16.27045.0\r\nCopyright (C) Microsoft Corporation.  All rights reserved.\r\n\r\n\r\nMicrosoft (R) Program Maintenance Utility Version 14.16.27045.0\r\nCopyright (C) Microsoft Corporation.  All rights reserved.\r\n\r\nNMAKE : fatal error U1077: '\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX64\\x64\\cl.EXE\"' : return code '0x2'\r\nStop.\r\nNMAKE : fatal error U1077: '\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX64\\x64\\nmake.exe\"' : return code '0x2'\r\nStop.\r\n",
    "changed": true,
    "rc": 2,
    "delta": "0:00:04.361455",
    "end": "2021-09-28 11:17:46.272191",
    "stdout_lines": [
        "**********************************************************************",
        "** Visual Studio 2017 Developer Command Prompt v15.9.39",
        "** Copyright (c) 2017 Microsoft Corporation",
        "**********************************************************************",
        "[vcvarsall.bat] Environment initialized for: 'x64'",
        "Configuring OpenSSL version 1.1.1l (0x101010cfL) for VC-WIN64A",
        "Using os-specific seed configuration",
        "Creating configdata.pm",
        "Creating makefile",
        "",
        "**********************************************************************",
        "***                                                                ***",
        "***   OpenSSL has been successfully configured                     ***",
        "***                                                                ***",
        "***   If you encounter a problem while building, please open an    ***",
        "***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***",
        "***   and include the output from the following command:           ***",
        "***                                                                ***",
        "***       perl configdata.pm --dump                                ***",
        "***                                                                ***",
        "***   (If you are new to OpenSSL, you might want to consult the    ***",
        "***   'Troubleshooting' section in the INSTALL file first)         ***",
        "***                                                                ***",
        "**********************************************************************"
    ],
    "stderr_lines": [
        "",
        "Microsoft (R) Program Maintenance Utility Version 14.16.27045.0",
        "Copyright (C) Microsoft Corporation.  All rights reserved.",
        "",
        "",
        "Microsoft (R) Program Maintenance Utility Version 14.16.27045.0",
        "Copyright (C) Microsoft Corporation.  All rights reserved.",
        "",
        "",
        "Microsoft (R) Program Maintenance Utility Version 14.16.27045.0",
        "Copyright (C) Microsoft Corporation.  All rights reserved.",
        "",
        "NMAKE : fatal error U1077: '\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX64\\x64\\cl.EXE\"' : return code '0x2'",
        "Stop.",
        "NMAKE : fatal error U1077: '\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX64\\x64\\nmake.exe\"' : return code '0x2'",
        "Stop."
    ],
    "_ansible_no_log": false

Hmmm not much info there- I'd  suggest going onto the machine and runing the commands in the openssl step manually and seeing if you can get anything more out of it, particularly if you can figure out the full cl command used.

I think I've fixed it. The 2017 compile was missing some tools, which I installed through the community installer. This seems to be a common error with the installation of our windows compilers, a absence of some of the necessary tools which need to be installed manually. I'll look for a way to automate this.
In any case, OpenSSL 2017 installed without error. Ive hit a hurdle with the 2019 OpenSSL installation which I hope can be resolved in the same way

Fixed the issues with the 2019 installer on test-azure-win2012r2-x64-1 and installed OpenSSL 2019 onto it without error


Fix miq_formatters_spec to not rely on UTC

Changes all new Date invocations in the spec to local date/time.
@matthewd, @bdunne could you test please?

@himdel :+1: LGTM  I ran it on my machine and the tests now pass.


Intro email to people who star?

Eg this one I got a few hours after starring Onsen UI:

maybe for meteor too @theadactyl

Pretty cool idea!

This is complete!


Support PEP 593 Annotated for specifying dependencies and parameters

First check

[x] I added a very descriptive title to this issue.
[x] I used the GitHub search to find a similar issue and didn't find it.
[x] I searched the FastAPI documentation, with the integrated search.
[x] I already searched in Google "How to X in FastAPI" and didn't find any information.
[x] I already read and followed all the tutorial in the docs and didn't find an answer.
[x] I already checked if it is not related to FastAPI but to Pydantic.
[x] I already checked if it is not related to FastAPI but to Swagger UI.
[x] I already checked if it is not related to FastAPI but to ReDoc.
[x] After submitting this, I commit to:

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
Or, I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

Example
I propse to allow transforming:

from typing import Optional

from fastapi import Depends, FastAPI

app = FastAPI()

async def common_parameters(q: Optional[str] = None, skip: int = 0, limit: int = 100):
    return {"q": q, "skip": skip, "limit": limit}

@app.get("/items/")
async def read_items(commons: dict = Depends(common_parameters)):
    return commons

to
from typing import Annotated, Optional

from fastapi import Depends, FastAPI

app = FastAPI()

async def common_parameters(q: Optional[str] = None, skip: int = 0, limit: int = 100):
    return {"q": q, "skip": skip, "limit": limit}

@app.get("/items/")
async def read_items(commons: Annotated[dict, Depends(common_parameters)]):
    return commons

Discussion
PEP 593 Added Annotated for adding additional annotations beyond type annotations. I think FastAPI's Depends, Query, Body and the likes fit well with the kind of additional annotations this supports.
This would also make default values less awkward:
@app.get("/items/")
async def read_items(q: Optional[str] = Query(None, max_length=50)):
    pass

Could become
@app.get("/items/")
async def read_items(q: Annotated[Optional[str], Query(max_length=50)] = None):
    pass

This will also solve the issue mentioned in the docs of parameter ordering.
Finally, it is sometimes convenient to use the same function as both a FastAPI dependency and a regular function. In these cases, because = Depends(...) is a default parameter value, if you forget to pass a parameter the error is not caught by your IDE. Worse, it is not caught at runtime because Python will just pass along the Depends object. This will probably cause an error down the road, but may silently succeed in some cases.
I'm willing to implement this if you think it's a good idea.

Another use case, which I think is even more important:
If I have a module that defines a dependency, I could define a type alias like
async def foo() -> Foo:
	...

FooDep = Annotated[Foo, Depends(foo)]

Then whenever someone uses the dependency they could just write
@app.get("/stuff")
def get_stuff(foo_dep: FooDep):
	...

instead of
@app.get("/stuff")
def get_stuff(foo_dep: Foo = Depends(foo)):
	...

Which saves typing and the duplication of writing both the type annotation and the function name (and prevents an error of using the wrong type for the function). All editors and static type checkers should still understand that foo_dep is a Foo.
I've started to work on implementing this.

If anyone is following this, I've opened a PR.


Adapt backend to custom zhinst.comms package

This commit replaces the dependency to pycapnp with zhinst.comms. This
fixes the stability issues we had before and also allows us to simplify
the python code.

Codecov Report
Attention: Patch coverage is 88.64353% with 36 lines in your changes missing coverage. Please review.

Project coverage is 95.81%. Comparing base (7cf3492) to head (c3a2d54).

Files
Patch %
Lines

src/labone/core/subscription.py
64.10%
12 Missing and 2 partials :warning:

src/labone/core/session.py
88.88%
7 Missing and 1 partial :warning:

src/labone/server/server.py
83.78%
4 Missing and 2 partials :warning:

src/labone/core/value.py
88.88%
3 Missing and 2 partials :warning:

src/labone/core/kernel_session.py
88.23%
1 Missing and 1 partial :warning:

src/labone/server/session.py
98.14%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #63      +/-   ##
==========================================
- Coverage   99.26%   95.81%   -3.46%
==========================================
  Files          34       26       -8
  Lines        1915     1432     -483
  Branches      295      230      -65
==========================================
- Hits         1901     1372     -529
- Misses         14       48      +34
- Partials        0       12      +12

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[ENH] Handle partial nodes success

Closes #38

Changes proposed in this pull request:

New response model for federated response that includes node-specific errors and successful query results, as well as an overall nodes response status
When >=1 nodes fail, use a custom 207 HTTP success code for overall response from API
Print any encountered node errors to the console, as well as summary statement about # nodes successfully queried

Will switch to using a logger as part of #53

When querying individual nodes, gracefully handle any network/node connection errors related to the request (i.e., if node API is unreachable)
Switch to async process for sending out individual node requests

Checklist

[ ] PR has an interpretable title with a prefix ([ENH], [FIX], [REF], [TST], [CI], [MNT], [INF], [MODEL], [DOC]) (see https://neurobagel.org/contributing/pull_requests for more info)
[ ] PR links to GitHub issue with mention Closes #XXXX
[ ] Tests pass
[ ] Checks pass

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.6%

Covered Lines:
579

Relevant Lines:
583

💛  - Coveralls

:rocket: PR was released in v0.1.0 :rocket:


Consider handling all numeric and quantity values as ranges

relates to #257
https://chat.fhir.org/#narrow/stream/179166-implementers/topic/Search.20for.20Decimals.20respecting.20Ranges

I think we based our original implementation on https://chat.fhir.org/#narrow/stream/179166-implementers/topic/Searching.20against.20numbers/near/153944645
However, IMHO the case for handling all target values as ranges (even when the search is used for comparison prefixes).


Command Line Interface and DSPy Implementation

@jmanhype - thanks! @mbrunel will review this

Hi @jmanhype - thanks for your PR!
We took inspiration from your PR and have released a CLI but built on it to add some different features:

We decided to have two commands: 'build' and 'launch' - build will create a Python file with the generated automation code, whereas Launch launches the interactive Gradio
The CLI takes two config files - the first one includes the URL and instructions, while the second one has the configuration needed to specify the model and any additional parameters

As for integrating dspy, we might add it once we have a good dataset to improve performance

All good


Formatting proposition

formatting change that is sure to spark discussion.

Some feedback mainly on braces:

I like the 2 space indenting for code visibility, especially for nested stuff.
The codegen done in Nss2CSharp for NWNX plugins is quite dependent on the formatting of the *.nss file, and in here braces are defined on new lines.
I don't like the idea of enforcing a formatting step as the converter should do it automatically (not everyone has Rider/ReSharper). The other option is to petition the change in NWNX, but I think it would be a hard sell to them.


fix: data race in Any

Close a data race possible in Any due to the use of values after the function exits.

Thanks for the PR @stevenh! 🌟
However, it seems that I'm missing something - could you describe in what scenario the data race will occur? In the current implementation, every partition writes to the results channel once when they complete, so N times for N partitions, and the coordinator collects N results from the channel, making sure that all partitions have completed, i.e. there's only an early return within a partition. I'm not sure I understand in what case a partition goroutine would be left running?
This means that the performance characteristics of the current implementation could be described as "rarely useful", use cases being such as data validation, where you expect the predicate to return the same result for each value.
Moreover, the proposed implementation has a few issues of its own:

There's a race condition that could cause a panic upon attempting to close the channel. AFAIK go has no way to guarantee that the channel has not been closed already. You can get close by selecting on it right before, but there's still a window between the select and close in which another goroutine can close the channel. In our case, the window is even longer because we call the predicate in between, and that's expected to be potentially computation-heavy. In a synchronization sequence such as the proposed implementation, context.Context would be the preferred synchronization primitive as you can cancel the context multiple times without issues.
As mentioned, due to the performance characteristics, the current implementation could be described as "rarely useful", however adding synchronization on each loop revolution brings Any, All, and None down to the level of "always slower than doing it in a single thread".

The race occurs because of the short circuit evaluation in:
	for p := 0; p < partitions; p++ {
		found = found || <-results
	}

This means that not all goroutines have exited when Any returns and as such the call could write to the passed in slice or data captured in the predicate function, as in the case of your tests. If you run go test -race you'll see the issue.
With regards to your second point, which I believe refers to the sync on read from done this could well slow things down but does it reduce it that much, as you still gain the parallel processing of predicate and the early exit on first result found? Maybe a benchmark to validate the behaviour?
Unfortunately due to the possibility of a data race it needs to ensure all goroutines have exited and without an early exit there is no gain at all.

In a synchronization sequence such as the proposed implementation, context.Context would be the preferred synchronization primitive as you can cancel the context multiple times without issues.

The use of the done channel could be replaced with a context.Context as mentioned but I believe in this use case it's actually heavier than a the current implementation as it uses a channel underneath with a lazy created channel that requires both an atomic and a lock interaction.

The race occurs because of the short circuit evaluation in:

Oh, that's true! :facepalm: Really nice catch! But I think the correct fix for the issue is to pull the channel read out of the conditional so that it's always evaluated, like so:
	for p := 0; p < partitions; p++ {
		next := <-results
		found = found || next
	}

That way it just fixes the mismatch between how it was intended to work and how it was implemented without introducing additional synchronization. WDYT?

Oh, that's true! 🤦 Really nice catch! But I think the correct fix for the issue is to pull the channel read out of the conditional so that it's always evaluated, like so:
	for p := 0; p < partitions; p++ {
		next := <-results
		found = found || next
	}

That way it just fixes the mismatch between how it was intended to work and how it was implemented without introducing additional synchronization. WDYT?

The problem with that is all goroutines need to complete a full pass, so you're not achieving the stated goal and it evaluates predicate for every value in the worst case scenario even if the very first call is successful.
// A partition will terminate upon the first encountered value for which the
// predicate returns true, and as such, the predicate may not be called for
// every value.

I just spotted the benchmarks aren't working as expected and are really just testing the setup code, moving it out even with the sync there is still a significant benefit to the parallelisation.
The performance varies based on the location of result but that's expected.
go test -run=x -bench=Any -benchtime=10s
goos: linux
goarch: amd64
pkg: github.com/jussi-kalliokoski/par
cpu: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
BenchmarkAny/serial-8<PHONE_NUMBER>1 ns/op
BenchmarkAny/parallel-8<PHONE_NUMBER>7 ns/op
PASS
ok      github.com/jussi-kalliokoski/par        34.135s

I just spotted the benchmarks aren't working as expected and are really just testing the setup code, moving it out even with the sync there is still a significant benefit to the parallelisation.

Yup! Sorry, I didn't notice you also fixed them, so I made #3 to improve them to get more representative results.

The problem with that is all goroutines need to complete a full pass, so you're not achieving the stated goal and it evaluates predicate for every value in the worst case scenario even if the very first call is successful.

Yeah, my assumption about the synchronization overhead being more significant than early exits was based on the previous (flawed) benchmarks, and with the fixed benchmarks, you're correct that my assumption was incorrect. In fact, this implementation is faster in the worst, average and best case scenarios. :+1:


Data Input/Storage Recommendation

Reading through some of the Cog documentation, Cog was apparently meant to interface with WordSurv. WordSurv to Cog is certainly one obvious data path. If I'm reading the documentation correctly, there is also speculation that Cog data might be stored in WordSurv at some future date.
There are two or three issues with this: 1) I am a linguist working with a recording that is a dozen years old. I didn't start with WordSurv. I started with Cog. I'm not sure, but I get the feeling others might take the same route. 2) The phonetic transcription UX in both Cog and WordSurv is less than optimal, particularly if you compare them with software such as ELAN. 3) If I remember correctly, WordSurv stores data in MS Access, a proprietary data format.
I recommend taking the approach that the SayMore team took to address these issues. SayMore stores data in ELAN's .eaf format. This allows users to transcribe data using SayMore or ELAN. That is, the same data can be edited using ELAN or SayMore as a front end.
I can even right-click on the data file in SayMore, and this will pop up a menu offering me to "Open in Program Associated with this File..." This defaults to ELAN, but I get the impression that I could change it to something else if I preferred. So, for example, if a user prefers Praat for some reason, he could use that instead of ELAN.
If Cog used this approach, it would: 1) Give users a refined, open source input method for audio or video phonetic transcription, if desired; 2) Store Cog data in an established, open format that is already used in software data exchange. This should be better than storing data in a unique format that no one else yet knows about.
I recognize that this would require some reworking of Cog's word input UX and data storage mechanisms. I don't have the code, and so I don't know how extensive such a rework would take (even if I have suspicions). Even so, I expect the payoff would be significant enough to justify the expense.

As you have found, Cog was never intended to be used for phonetic transcription. Cog was designed to specifically focus on comparison and analysis of word lists. The assumption is that the word lists have been captured and transcribed in another application and then imported into Cog. Cog was not intended to replace or duplicate the functionality of tools like WordSurv, Excel, or ELAN.
As you mentioned, one possible future direction for Cog is to access WordSurv data directly. WordSurv is specifically designed for capturing word lists, so it seems like a complementary fit for Cog and WordSurv to interact in this way. ELAN is designed for a different purpose, which is annotating audio and video data. Although it can be used to transcribe word lists, it is not specifically designed to do so. It is more of a general-purpose tool. The same is true of ELAN's XML format. It is a format for capturing annotations of video and audio data and not word lists. In this regard, it would probably be an inappropriate format for Cog to use natively to store word lists. Having said that, I do think it makes sense to add EAF import to Cog. No one has requested this feature before, so I'm not sure how much ELAN is used by surveyors, but I could certainly see a surveyor using ELAN for word list transcription. Are you using ELAN to do phonetic transcription of word lists? The tricky thing with implementing EAF import is the generic nature of ELAN. There is probably no standard way of formatting the ELAN annotations when capturing word list transcriptions. Each user could do it differently. The EAF import would need to be flexible enough to be able to deal with the various ways that a user could have setup their annotations.

I have indeed used ELAN together with SayMore for phonetic transcription of a word list. As a user, I didn't have to worry about the proper .eaf format. SayMore opened up the file for me with the proper format in ELAN with a click or two.
I doubt I would have thought of using ELAN's .eaf format as a data store on my own. I'm just following behind JohnH, who used it in SayMore, and used it quite well. The philosophy is: "SayMore borrows ELAN’s file format, so that you can do the basics in SayMore (transcription and translation) and then just double-click on the file to do further work in ELAN" if you wish. (http://saymore.palaso.org/news-about-saymore/) Since I've effectively used SayMore + ELAN to transcribe a word list, and since Cog, like Saymore, does not intend to have its own data store, I thought ELAN would be a natural fit for Cog.
In my mind, this is not just fitting WordSurv together with Cog. This is looking at the larger "ecosystem" (to use a buzzword) already established between SayMore, ELAN, and FLEx. I would think having a workflow from WordSurv/Cog all the way into FLEx would be of interest to SIL. I know it's of interest to me. I once wrote about this once to Beth, but I found today that Ryan Pennington already wrote up and published a paper on it: https://www.academia.edu/6474779/Producing_time-aligned_interlinear_texts_Towards_a_SayMore_FLEx_ELAN_workflow. (This was tough for me to get to, even with an Academia account, so you might have to work at it.)
While storing word list transcriptions natively in a specific .eaf format seems like the most elegant solution to me, and entirely appropriate given everything SayMore has done, an .eaf import is my second choice.

FWIW, this is what SayMore says about the .eaf structure it expects, copied from the help file:

ELAN allows a richly nested and flexible set of tiers, which may be different for each media file. When SayMore uses an ELAN file as the basis for a creating media file's annotation file, it expects certain tiers to exist in that ELAN file. Others may be present, but they will be ignored by SayMore.
If you have an existing ELAN file and would like to associate it with a media file in SayMore, the following must be true:
--There is a Transcription tier which has a type for which Time-alignable is selected ().
--If you already have a tier for translation of those phrases, it must be:
----a child of Transcription
----named Phrase Free Translation
----have a type for which the stereotype is Symbolic Association.
To use an existing ELAN file as the basis for a SayMore annotation file, select Copy an existing ELAN file on the Start Annotating tab. Then you can work with oral translation annotations and careful speech annotations, and transcription and free translation annotations.
If necessary, open the file in ELAN and work with transcription and free translations there. Be careful not to remove or rename the 'Transcription' and 'Free Translation' tiers, or add any additional tiers.

This information is definitely helpful. Cog could follow the same tier format as SayMore. The "Transcription" tier would be used for the IPA transcription and the "Phrase Free Translation" tier would be used for the meaning. Does that make sense? Obviously, SayMore is used to for any kind of recorded sessions, not just word lists, so Cog would have to have the additional requirement that each word is in a separate annotation and that each meaning in the "Phrase Free Translation" tier is unique. Importing this format wouldn't be hard. I would have to think a lot more about how to use the  EAF file directly instead of importing. Cog would still need its own project file, since there is lots of other information in it other than the word lists.

Yes, when I used SayMore/ELAN to transcribe the word list, the phonetic transcription went into the Transcription tier of ELAN, and the meaning/gloss went into the Phrase Free Translation tier.
If I know JohnH, he separated the data tier from the UX tier. SayMore is a Palasao project, isn't it? One suggestion is to use as much of that code as you can.
I nearly emailed you the word list audio recording I annotated and the SayMore project file yesterday. The mb size stopped me. (I pay by the mb here, plus I'm not sure if there's a size restriction.) I think what I will do instead is transcribe a one-word "word list" in SayMore/ELAN. If I can do it quickly, I'll either attach it in another comment here or email it to you. Then you can see it for yourself, without trying to figure out how to do it.
I emailed you a message a few minutes ago about a surveyor's perspective of the interaction between WordSurv and Cog. In short, the idea never crossed their minds until I asked them about it. It was a surprise to me, too, when I found it in Cog's help file. As far as I can see now, I don't think anyone will use WordSurv for a data store, nor do I expect people to use Cog and WordSurv together.

Incidentally, SayMore can read an Audacity file. I started there in Audacity, chopping up the word list into individual sound recordings. Really useful. Something more to think about.

Okay, so we're in luck. I found a recording that has three words in it. It's not a true word list, but it gives you the idea. I annotated this really quickly and gave it some glosses/meanings.
I zipped everything up into a .zip file. It has the .wav file, the SayMore project file, the ELAN .eaf file, and a couple of other files of note. If you install SayMore, you should be able to unzip this under the SayMore directory. Unfortunately, Git choked on it, so I'll email it to you.


libcontainers-common: introduce patch to address CVE-2024-37298

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] If you are adding/removing a .spec file that has multiple-versions supported, please add @microsoft/cbl-mariner-multi-package-reviewers team as reviewer (Eg. golang has 2 versions 1.18, 1.21+)
[x] Ready to merge

Summary

What does the PR accomplish, why was it needed?
Introduce patch to address CVE-2021-44716
Change Log

Introduce patch to address CVE-2021-44716

Does this affect the toolchain?

NO
Associated issues

#9737

Links to CVEs

https://nvd.nist.gov/vuln/detail/CVE-2024-37298

Test Methodology

Local Build with RUN_CHECK=y
Pipeline build id: PR-9917

Auto cherry-pick results:

main :white_check_mark: -> https://github.com/microsoft/azurelinux/pull/9948

Auto cherry-pick pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=613469&view=results


Setting the style text-align: center; on a  element has no effect.

It is suggested that this is one of the CSS properties that should apply to all widgets:
https://doc.qt.io/qt-5/stylesheet-reference.html#list-of-properties
Using quotes, i.e. text-align: 'center'; (see https://github.com/shirakaba/svelte-nodegui/issues/1), does not improve things, either.
Note that QLabel does support an alignment attribute, though React NodeGUI does not implement this prop for .

Duplicate of #7 (can't style elements) and #4 (CSS values need to be quoted). We'll continue the discussions there.


Update README.md

Issue No.: https://github.com/Its-Aman-Yadav/Community-Site/issues/294
As mentioned in the issue no. 294, I have changed the text links into icon links for Discord and LinkedIn.
Please consider my PR.
@Its-Aman-Yadav.

Hey @princyym this issue is assigned to @Sibam-Paul

Subject: Pull Request Created for Issue #294,
Hi @Its-Aman-Yadav ,
I hope you're doing well.
I noticed that issue #294 was assigned to @Sibam-Paul, but I wanted to contribute and didn't want to experience any delay with this issue. Therefore, I have created a pull request (PR) "https://github.com/Its-Aman-Yadav/Community-Site/pull/299#issue-2304032008" that addresses this issue.
Key Points of the PR:
Updated the Readme. md for icon links

I would greatly appreciate it if you could review the PR at your earliest convenience, otherwise, I would appreciate your time and understanding.
Best regards,
Princy

Sure, I am closing this PR now
Thank you for your contributions