cmake error with libaom test file

I managed to set everything up as far as I can see, but after downloading the sources for all libraries the script tries to compile some test file from libaom with gmake, which fails. But to me the error looks strange as it seems to do something with a file that's not existing and it doesn't really look like it's supposed to exist.
Building the component: libaom
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: /home/user/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
-- Check for working C compiler: /home/user/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - broken
CMake Error at /home/user/Android/Sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake:69 (message):
  The C compiler

    "/home/user/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/clang"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /home/user/ffmpeg-android-maker/sources/libaom/v3.6.0/aom_build_arm64-v8a/CMakeFiles/CMakeTmp

    Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_3a441/fast && /usr/bin/gmake  -f CMakeFiles/cmTC_3a441.dir/build.make CMakeFiles/cmTC_3a441.dir/build
    gmake[1]: entering directory „/home/user/ffmpeg-android-maker/sources/libaom/v3.6.0/aom_build_arm64-v8a/CMakeFiles/CMakeTmp“
    Building C object CMakeFiles/cmTC_3a441.dir/testCCompiler.c.o
    /home/user/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/clang   -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security   -o CMakeFiles/cmTC_3a441.dir/testCCompiler.c.o -c /home/user/ffmpeg-android-maker/sources/libaom/v3.6.0/aom_build_arm64-v8a/CMakeFiles/CMakeTmp/testCCompiler.c
    /home/user/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/clang: 1: Syntax error: word unexpected (expecting ")")
    gmake[1]: *** [CMakeFiles/cmTC_3a441.dir/build.make:78: CMakeFiles/cmTC_3a441.dir/testCCompiler.c.o] Fehler 2
    gmake[1]: exiting directory „/home/user/ffmpeg-android-maker/sources/libaom/v3.6.0/aom_build_arm64-v8a/CMakeFiles/CMakeTmp“
    gmake: *** [Makefile:127: cmTC_3a441/fast] Error 2

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:28 (project)

-- Configuring incomplete, errors occurred!
See also "/home/user/ffmpeg-android-maker/sources/libaom/v3.6.0/aom_build_arm64-v8a/CMakeFiles/CMakeOutput.log".
See also "/home/user/ffmpeg-android-maker/sources/libaom/v3.6.0/aom_build_arm64-v8a/CMakeFiles/CMakeError.log".
make: *** No destinations given and no „make“-control file found.  End.
make: *** No rule to create „install“ .  End.

Ok, so it's going into the (empty) directory sources/libaom/v3.6.0/aom_build_arm64-v8a/CMakeFiles/CMakeTmp and tries to apply gmake to the file Makefile...this doesn't make much sense. Something's missing, either something that creates that Makefile or the directory of the Makefile is missing.
I just cloned this Git today and I already emptied the sources directory, but without any success either. What's going wrong?
I'm running on Debian testing, SDK v34 and NDK v25 have been installed via Android Studio

I've just executed the script as ./ffmpeg-android-maker.sh -abis=arm -aom at current master branch and the very beginning of libaom assembling looks like this:
Building the component: libaom
-- The C compiler identification is Clang 14.0.7
-- The CXX compiler identification is Clang 14.0.7
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done

So my guess is that you didn't set the environment variables properly. Are you able to successfully execute a
cd /home/user/Android/Sdk/ndk/25.2.9519653
command?

doesn't seem to be a problem:
find Android -name "make"
Android/Sdk/ndk/25.2.9519653/prebuilt/linux-x86_64/bin/make

find Android -name "cmake"
Android/Sdk/cmake
Android/Sdk/cmake/3.22.1/bin/cmake
Android/Sdk/cmake/3.22.1/share/bash-completion/completions/cmake
Android/Sdk/emulator/lib/cmake
Android/Sdk/ndk/25.2.9519653/build/cmake
Android/Sdk/ndk/25.2.9519653/sources/cxx-stl/llvm-libc++abi/cmake
Android/Sdk/ndk/25.2.9519653/sources/third_party/googletest/cmake

echo $ANDROID_NDK_HOME
/home/user/Android/Sdk/ndk/25.2.9519653

echo $ANDROID_SDK_HOME
/home/user/Android/Sdk

cd ${ANDROID_NDK_HOME}
~/Android/Sdk/ndk/25.2.9519653

I'm also getting the same error when trying to compile just with aom enabled, like in your example.

What exact OS and its version do you use?

Like I said, Debian Testing. That means I'm currently running what will be Debian 12 by mid-year.

So, I've just tested the Debian 11.6, available through WSL2 on Windows 11. I doubt the Testing version can be cause, but who knows. Long story short: everything works.
After the fresh installation I executed just a handful of commands very similar to how Dockerfile sets the environment. The only significant excepiton: I installed openjdk 11 instead of 8.
If you really set the env variables correctly, then maybe installing the same software will do the thing for you. This is my first experience with Debian specifically, but it is a successful experience.
Despite I download the Android SDK not via the Android Studio, your approach should also work. On my macos machine I use the SDK installed exactly via the Android Studio.
If it still doesn't work, then please look for some log files in libaom directory that can cast some light here.

Just to check. Do you use x86 or arm version of Debian?

Just to check. Do you use x86 or arm version of Debian?

x86 in WSL (1) on Windows 10.
I actually have openjdk-11 and 17 jre installed. Additionally the cmake version from the SDK is 3.22.1-g37088a8 (3.25.1 is installed system wide), meson 1.0.0 (1.0.1 like in the Docker file is only available in sid, so it's questionable if it will even be included in Debian 12, openjdk-17-jdk-headless (no lower version is available), python3 3.11.1. The rest is installed as usual too.
Output of the CMakeError.log and CMakeOutput.log of libaom is attached, but it just looks like more of what I already posted.
CMakeOutput.log
CMakeError.log
I did previously try to install SDK and NDK in different manners to waste less storage, but I couldn't figure out how to add cmake to those installations. Debian has packages for both that basically just download them from Googles repositories and install them, but it almost looks like Google removed cmake from them and they have not been adapted to them. At least I can't make out any additional packages that adds it.

I tried setting WSL version to 1 and the script still does work (on Windows 11 though).
JDK version is relevant for Android SDK’s sdkmanager program to work properly. With it you can install the NDK and CMake. The ffmpeg-android-maker relies on CMake inside the Android SDK. Meson and Python are irrelevant for libaom as I remember.
Your logs indeed show only a single error:

Syntax error: word unexpected (expecting ")")

I have never faced such an error on any OS. The Internet says it could happen because of some characters in your PATH variable. I’m not sure if this is a good lead.
The --enable-libfdk-aac flag is ignored. The ffmpeg-android-maker supports only a subset of FFmpeg’s supported libraries and not libfdk-aac at the moment.
Windows was never my primary OS for development. I consider its support for ffmpeg-android-maker as a pet project for a pet project. From my point of view the script does work on Windows with WSL both 1 and 2 in both Ubuntu and Debian. I just followed the same environment setup as in the Dockerfile (which itself configures the Ubuntu env and Ubuntu is based on Debian if my memory serves).
I’m afraid I can’t devote enough time for solving the problem I can’t even reproduce.
I would suggest using the Docker that would eliminate all env setup problems for you. Except for Docker setup itself.

If you want to use fdk-aac, u can try my fork. but I can't help for the libaom issue

If you want to use fdk-aac, u can try my fork. but I can't help for the libaom issue

Thanks, I already added it as expanded in the wiki myself, even through I haven't tested it yet as libaom is the first thing compiling. As long as the default stuff isn't compiling it doesn't make much sense to care about that.
BTW: anybody can explain, why exactly the cmake version from the Android SDK must be used and not the default one of the distribution? There must be the reason, otherwise trying to figure out what's wrong with the sdk/ndk setup would be a waste of time.

why exactly the cmake version from the Android SDK must be used

Not really 'must', but 'preferably'.
I just try to eliminate installing all software the world has on a machine that just wants to compile the FFmpeg. If it is in SDK/NDK already, then why installing it additionally? CMake can be installed via Android SDK, then this is the option I go with. The less dependencies to install (and live with after FFmpeg comilation) - the better.

why exactly the cmake version from the Android SDK must be used

Not really 'must', but 'preferably'.
I just try to eliminate installing all software the world has on a machine that just wants to compile the FFmpeg. If it is in SDK/NDK already, then why installing it additionally? CMake can be installed via Android SDK, then this is the option I go with. The less dependencies to install (and live with after FFmpeg comilation) - the better.

good to know. So I just replaced CMAKE_EXECUTABLE and MAKE_EXECUTABLE with the paths of the system-wide counterparts, same result. So not a problem with that. I'll try on another system, but it seems strange...

Compiling in docker worked now. Although strangely building the docker image from scratch didn't work, as a Java Runtime v55 was used, but something else was compiled with v52 and couldn't handle anything above.
@null4n your fork didn't work, not with the prebuilt docker image and building it from source. But also you don't accept issues in your git and I don't see any way to contact you.
@Javernaut I did read that this script does also create a ffmpeg binary that can be executed from the android terminal. What do I have to copy to my device? Just copying build/ffmpeg/arm64-v8a/bin/ffmpeg doesn't do the trick. Is that even the right binary or is ther another static binary?

@Artim96 sorry, I have enabled issue in my fork

@Artim96
You can, but you don't need to build the image from scratch. The Docker Hub already has the prebuilt image that you can use.
Java v52/v55 thing relates to JDK 8 and 11 issue which I discovered only recently and didn't dive much into it. I presume the sdkmanager doesn't support JDK 8 anymore, so JDK 11 should be used. Again, didn't have time for it yet.
As for the ffmpeg binary, the script just prepares proper parameters for the FFmpeg's build process, that can produce the ffmpeg binary. So technically it is possible to produce that binary, yes.
And such a binary does work while being on Android device. Once I made an experiment placing the binary with related shared libraries somewhere in Android device or emulator and could successfully convert a video file to another container and codec. However, this was a pure experiment. So far I have no solid instructions about how to make it conveniently usable via java api for Android app.
I have quite a backlog in jira for this project. Yet I lack time.

@Javernaut good to know.

to build a static binary, just change scripts/ffmpeg/build.sh.
just disable shared and enable static below ./configure \
then you'll get a static ffmpeg binary that can run on any android newer than api21 without any library file

to build a static binary, just change scripts/ffmpeg/build.sh. just disable shared and enable static below ./configure \ then you'll get a static ffmpeg binary that can run on any android newer than api21 without any library file

Nope, that just leads to the errors your fork is throwing.

to build a static binary, just change scripts/ffmpeg/build.sh. just disable shared and enable static below ./configure \ then you'll get a static ffmpeg binary that can run on any android newer than api21 without any library file

Nope, that just leads to the errors your fork is throwing.

logs? you can create new issue in my fork.
I test on my pc and github actions both success


Human throw by Titan

if titan grab human with right hand and if PT press any key before eat the human, the human will be throwed by titan !
In the past this fun feature was really liked by community I was made for AOTTG 1, let's add this to second game.

ready to merge it


Temporarily remove building mac-catalyst targets to enable pipelines

Due to upstream bug in cc-rs, mac catalyst rust targets are failing to build. This PR removes the building of these targets until fix is in.

Codecov Report
Base: 69.77% // Head: 18.45% // Decreases project coverage by -51.31% :warning:

Coverage data is based on head (e856db5) compared to base (aed88a3).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@              Coverage Diff              @@
##               main     #563       +/-   ##
=============================================
- Coverage     69.77%   18.45%   -51.32%
- Complexity        0       32       +32
=============================================
  Files             9       63       +54
  Lines           268    13722    +13454
  Branches          0     2035     +2035
=============================================
+ Hits            187     2533     +2346
- Misses           67    10900    +10833
- Partials         14      289      +275

Impacted Files
Coverage Δ

go/okapi/native.go
59.09% <100.00%> (-13.86%)
:arrow_down:

go/okapi/native_call_windows.go

python/trinsicokapi/wrapper.py
87.06% <0.00%> (ø)

ruby/lib/okapi/proofs/v1/proofs_pb.rb
100.00% <0.00%> (ø)

java/src/main/java/trinsic/okapi/LdProofs.java
85.71% <0.00%> (ø)

.../src/main/java/trinsic/okapi/proofs/v1/Proofs.java
10.01% <0.00%> (ø)

python/trinsicokapi/hashing.py
100.00% <0.00%> (ø)

...ain/java/trinsic/okapi/transport/v1/Transport.java
0.00% <0.00%> (ø)

java/src/main/java/trinsic/okapi/Examples.java
0.00% <0.00%> (ø)

... and 48 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Checks for payload count do not account for overrides in metric definition

Description
In the metrics generator we are evaluating the payload count of the first metric in the list to check if the current payload count is equal so we can stop data generation.
Expected Behavior
We allow overriding individual payload counts for each metric. This check should consider that.
Actual Behavior
The metrics generator will stop data generation based on the payload count of first metric.
Affected Version
23.1.0
Other notes
Will have to be backported to internal facade version.

Not an issue. Each metric generator thread is already grouped by payload count, i.e. all the metrics in a thread group have the same payload count and therefore this is not an issue. See - https://github.com/cisco-open/test-telemetry-generator/blob/master/src/main/java/io/opentelemetry/contrib/generator/telemetry/metrics/MetricsGenerator.java#L96


WebGPU compilation error: multiple variables use the same resource binding

What happened?
I'm trying to compile mobilebertsquad.tflite.mlir from our benchmark suites for WebGPU and see this error:
error: entry point 'd0' references multiple variables that use the same resource binding @group(0), @binding(1)

Here are the relevant .mlir and .spvasm files: https://gist.github.com/ScottTodd/6af59563826719340f659dd0554edd40
Steps to reproduce your issue

Download mobilebertsquad.tflite.mlir from our benchmark infra. I downloaded files from Oct 28, so maybe around https://buildkite.com/iree/iree-benchmark-android/builds/4621
Run iree-compile mobilebertsquad.tflite.mlir --iree-hal-target-backends=webgpu --iree-input-type=tosa
Observe the error

What component(s) does this issue relate to?
Compiler
Version information
webgpu branch, https://github.com/iree-org/iree/commit/4116d5aa57452fc9b5f1695f62188cd054af4cf1
Additional context
I was able to compile this using an older version of IREE's compiler, so this might be a regression? With the version that I compiled, I saw this runtime error: Tint WGSL reader failure: :44:211 error: value cannot be represented as 'f32'  x__resource_var_0_1_.field0[(x_83 + select(x_131,<PHONE_NUMBER>u - x_131), x_128))] = select(select(select(select(select(vec4<f32>(1.17549435e-38f, 1.17549435e-38f, 1.17549435e-38f, 1.17549435e-38f), vec4<f32>(0x1p+128f, 0x1p+128f, 0x1p+128f, 0x1p+128f), (x_99 > vec4<f32>(0.0f, 0.0f, 0.0f, 0.0f))), (fma(fma(vec4<f32>(0.0131435f, 0.0131435f, 0.0131435f, 0.0131435f), x_104, vec4<f32>(0.03668965f, 0.03668965f, 0.03668965f, 0.03668965f)), (x_105 * x_105), fma(fma(vec4<f32>(0.168738902f, 0.168738902f, 0.168738902f, 0.168738902f), x_104, vec4<f32>(0.499705136f, 0.499705136f, 0.499705136f, 0.499705136f)), x_105, fma(vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f), x_104, vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f)))) * bitcast<vec4<f32>>(((x_112 + vec4<u32>(127u, 127u, 127u, 127u)) << vec4<u32>(23u, 23u, 23u, 23u)))), ((bitcast<vec4<i32>>(x_112) <= bitcast<vec4<i32>>(vec4<u32>(127u, 127u, 127u, 127u))) & (bitcast<vec4<i32>>(x_112) >= bitcast<vec4<i32>>(vec4<u32>(4294967169u,<PHONE_NUMBER>u,<PHONE_NUMBER>u,<PHONE_NUMBER>u))))), vec4<f32>(0x1p+128f, 0x1p+128f, 0x1p+128f, 0x1p+128f), (x_99 == vec4<f32>(0x1p+128f, 0x1p+128f, 0x1p+128f, 0x1p+128f))), vec4<f32>(0.0f, 0.0f, 0.0f, 0.0f), (x_99 == vec4<f32>(-0x1p+128f, -0x1p+128f, -0x1p+128f, -0x1p+128f))), x_99, vec4<bool>(false, false, false, false));

This may be the pass @antiagainst enabled on all but apple the other day? (may need to add a && !webgpu)

Ha, okay, this is hitting the same aliased resources issue that we have been fighting when targeting Apple platforms via MoltenVK.
SPIR-V spec allows multiple resources bound to the same (set, binding) slot; real GPU drivers are all fine with that AFAICT. However SPIRV-Cross does not support aliased resources too. So I wrote a UnifyAliasedResourcePass (code and test) to try to do various type casting and re-indexing to eliminate those aliased resources. However as recently I found there is a correctness issue with that pass so I limited it to only Apple platforms for now. I will spend some time later to figure that out and fix it so we can reuse here.
Better, it would be nice if Tint can support such cases. @dneto0 as FYI.

WGSL does not allow aliasing (group,binding). https://gpuweb.github.io/gpuweb/wgsl/#resource-interface
It does allow the same subresource (buffer or texture layer) to be bound to different (group,binding) points. But it's a "dynamic error" if at least one of them is writable.  There's no way to synchronize those within the same shader, not even in Vulkan. (You would need a "domain" operation but that only occurs with API-side actions, and there is no way to invoke one inside the shader).

#11302 enables the UnifyAliasedResource pass for WebGPU so various model should compile now I believe. As said in the previous comment that there is a bug in the pass that I still need to figure out. Though that should only affect non-32 bit cases I believe; as 32-bit float cases are already used by various models running on Vulkan via MoltenVK.

Confirmed, this fixes compiling mobilebertsquad.tflite.mlir 🎉
(there is still an issue with push constant emulation and Uniform storage, but this aliasing issue is fixed)

From running a bisect, it looks like that test program regressed with https://github.com/openxla/iree/commit/3459833ae9c3f0fefe33ff08df7b99359d0c26b4 (https://github.com/openxla/iree/pull/13711). I'll dig in further... maybe the workaround for this issue doesn't apply for small/scalar computations after that change.
// multiple_results.mlir
func.func @multiple_results(
    %input_0 : tensor<f32>,
    %input_1 : tensor<f32>
) -> (tensor<f32>, tensor<f32>) {
  %result_0 = math.absf %input_0 : tensor<f32>
  %result_1 = math.absf %input_1 : tensor<f32>
  return %result_0, %result_1 : tensor<f32>, tensor<f32>
}

../iree-build/tools/iree-compile \
    multiple_results.mlir \
    --iree-hal-target-backends=webgpu \
    --iree-codegen-gpu-native-math-precision=true \
    --iree-stream-resource-alias-mutable-bindings=true \
    -o /dev/null


Add capability to run non tagged version of k8s

Any way to run master on this awesome piece of software??

@chrislovecnm it does have master services and node ones as well

Let me see if I can ask this question better... Can I run the latest source code off of the master branch on k8s github repo?  Bleeding edge 😄
git clone https://github.com/kubernetes/kubernetes
hack/build-go.sh

Run those binaries

I see, any prebuilt version from https://github.com/kubernetes/kubernetes/releases can be installed via 'Updates->Change Kubernetes version'
So basically you want to use locally built binaries, hmm it should be possible to automate, just need to find a time for that.
As a work around for now you can built binaries, copy OS X kubectl to /kube-solo/kube and update /kube-solo/kube/kube.tgz' with your freely built linux binaries, then via Setup->Destroy Kube-Solo VMand on nextUp` the new VM will be created with kubernetes version in kube.tgz file

@rimusz WOOP!!

FREE COOKIE FOR YOU!!

that hack/build-go.sh takes ages on my mac mini to run

@chrislovecnm take a look to https://github.com/TheNewNormal/kube-solo-osx/blob/master/src/functions.sh#L270-L338 and if you have time to hack a new function to build form source the git gist will be very welcome, I will do the rest to include it to the App

fixed by #61


Improve contrast of PNG images.

The contrast of the raw and primary beam corrected PNG images output by the pipeline was set to the default value of 0.02 from the zscale algorithm in katsdpimageutils. This results in vmin and vmax values that are too far from the mean, and the resulting PNGs are too dark to see many features.
This updates the contrast to 0.5 for the raw MFImage output and to 0.3 for the PB corrected image. The mean and rms images are fine with the default value and I've left them unchanged.
The modified contrast makes it easier to see features in the images that make them more useful for QA appraisal.
Some examples of the effect of these changes are shown in JIRA ticket SPR1-1296

Thanks a lot Tom. This will save quite a bit of time downloading fits files.
On Thu, Oct 14, 2021 at 3:42 PM KimMcAlpine @.***>
wrote:

@.**** approved this pull request.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ska-sa/katsdpcontim/pull/44#pullrequestreview-779784440,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB4RE6XOJDLFW2YPF6UCP43UG3M3RANCNFSM5F7D2WZQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--
Benjamin Hugo
PhD. student,
Centre for Radio Astronomy Techniques and Technologies
Department of Physics and Electronics
Rhodes University
Junior software developer
Radio Astronomy Research Group
South African Radio Astronomy Observatory
Black River Business Park
Observatory
Cape Town


Bounty cards don't show .degen or .ens name

Now that we have names displayed for bounty creators and contributors, we need to also display names if they are available for bounty claim card issuers:

This needs to be done on both bounty detail pages (like this one: https://degen.poidh.xyz/bounty/209) AND under the "NFTs" and "Submitted Claims" section of profile pages like this one: https://degen.poidh.xyz/account/0xBeD82560c39c133A3d64516ecdA82C71b72f3Cd7

Check this out
https://github.com/picsoritdidnthappen/poidh-app/pull/102


feat: add tests

:tada: This PR is included in version 1.0.5 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Stream segment index

It would be great to start a stream segment index, highlighting some of the more useful stream segments that are out there.  Is there an awesome streams that already exists?  Would that work well?  Would an editorialised version work better?

Derp, at the bottom


Add SECURITY.md

GitHub recently rolled out first-class support for this document: https://help.github.com/en/articles/adding-a-security-policy-to-your-repository

We still need to do this.


Update Shopper.php

Return value of Shopper\Framework\Shopper::prefix() must be of the type string, null returned

This issue are already fix here #54


Change Password Page created

This change resolves #141 by creating a change password page.

@srushtiss ui is completly wrong but dont worry i will merge it. And move the elements into more of an app layout over weekend.


fix issue '{count}gt command not jumping to correct tab #670'

Fixes #670
The fix uses VSCode workbench.action.openEditorAtIndex# where # stands for tab number.
It's normally used for CMD+# switching among tabs so I don't know if it works beyond 9, but even if limited to 9 it's more accurate than current behavior.
It's my first time contributing to this amazing project so pardon me if I did something wrong. Please let me know if there is anything else that I can do for this PR.

Thanks for the PR! Accidentally pushed to master instead of merging :(


External IP in document doesn't match the ip in screenshot.

[Enter feedback here]
External IP(100.x.y.z/24) in document doesn't match the ip (10.100.x.y/24) in screenshot. The ip in screenshot makes more sense.

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

ID: 1130e194-0e0f-d7e9-1f5f-2101a173f9ff
Version Independent ID: 1f8e045c-4c83-f414-08aa-d68352e6abec
Content: Configure NAT on Azure VPN Gateway - Azure VPN Gateway
Content Source: articles/vpn-gateway/nat-howto.md
Service: vpn-gateway
GitHub Login: @yushwang
Microsoft Alias: yushwang

@henryxu69 , thank you for your feedback. We have assigned this to the content owner/author for correction.
@yushwang , could you please correct the External IP address spaces in the screenshots provided in the below 2 sections as they do not match the doc:
Step 2 under Create NAT rules

Step 5 under Associate NAT rules with the connections

Thank you for you dedication to our documentation.
Unfortunately, we have been unable to review this issue in a timely manner. We sincerely apologize for the delayed response. We are closing this issue. If you feel that the problem persists, please respond to this issue with additional information.
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


[content collections] linking to examples for generating routes

Description (required)
Although we have examples for generating dynamic routes, and we have examples of querying with getCollection(), we don't (yet?) show some basic examples of e.g. blog index, tags pages etc. outside of the tutorial code.
This adds a tip to check out that code on GitHub or StackBlitz so that people can use the basic example code as a model.
Note: Must first merge https://github.com/withastro/blog-tutorial-demo/pull/31 which updates the version of Astro so that it plays nicely when opening on StackBlitz

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

en
guides/content-collections.mdx
Source changed, localizations will be marked as outdated.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Add side-by-side grouped chart type

Currently our stacked bar series demonstrates a single form of 'grouped' series. We should also consider adding side-by-side grouped charts ...

@ColinEberhardt  can you provide a bit more detail on this one? Not sure what you mean.

@ColinEberhardt can you provide a bit more detail on this one? Not sure what you mean.

Done :-)

I've made a couple of changes that should make it possible to display 100% stacked bars. I'm just looking at adding a visual test before I push up a pull request. Adding stacked area / line is as simple as duplicating the stackedBar series and changing wrapped series as appropriate (this does incur quite a bit of code repetition, so we can discuss a better design.)

Thanks @janakerman, it would be good to see those changes: maybe you could link to a diff or create a WIP PR?
It sounds like now might be the appropriate time to see if we can adopt the indicator pattern for stacked bars. I think in this case the d3.layout.stacked would play the part of both the calculator and algorithm, and the existing series (and the new ones) would become renderers?
As far as code repetition, the merge algorithm and the moving average use of it are good examples of how we've dealt with code repetition so far. I wonder if that might be an appropriate choice in this case?

Also @janakerman, I think #391 might be a more appropriate issue for the specific changes your making? I'm going to change this issue to be specifically side-by-side bars.

@ColinEberhardt - Just to confirm.. something like?

(I'll copy the styling exactly - of course!)

Might be worth playing with the Kibana charts for some inspriation.

Done


Issue #70 Add Disabled attribute

Should function the same as protected and others. Made the issue, but decided to add myself.

Tested locally on my machine, works great.

Thank you!


Backups location

Where do the backups go?
Daijisho insists on google drive access permissions in order to set them up, but then doesn't actually back anything up to google drive.
The restores are compatible across devices.
Is the data going to some other server owned by daijisho? In which case, can we get some details, and why does it need access to google drive?
I tried having a look at the code, only to note that the repo is just assets, not the actual code for the APK

This is not an issue with Daijisho, please use our discord server for questions about the app.  Here: https://discord.com/channels/965270127312535592/965286290813759488


Use requireNotNull for arguments checking

Codecov Report

Merging #2336 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #2336   +/-   ##
=========================================
  Coverage     81.87%   81.87%
  Complexity     2119     2119
=========================================
  Files           348      348
  Lines          6047     6047
  Branches       1108     1108
=========================================
  Hits           4951     4951
  Misses          512      512
  Partials        584      584

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 f5fd080...3ad3beb. Read the comment docs.


FileWriteError when loading on Pharo 8

And on Pharo 7 I get "Pharo quit unexpectedly"

That's the fault of Roassal

It was an external problem and it is solved now


how to change background?

No way to change background color from white to something else?

setting background tint to transparent works to not use a white background, but the ripple effect is lost. I think better background support would be very helpful.


Package request:  FNA3D

Project description
FNA3D - 3D Graphics Library for FNA
Kind of a niche library, but I discovered it when trying to run GameMaker on Linux. There's this AUR package for reference: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=fna3d-git
Metadata

homepage URL: http://fna-xna.github.io
source URL: https://github.com/FNA-XNA/FNA3D
license: zlib
platforms: unix, linux, darwin

Priorities
Add a :+1: reaction to issues you find important.

Never mind, this library is actually provided by steam-run.


[help wanted]difference between "public ByteArrayWrapper(byte[] data)" and "public ByteArrayWrapper(String name, byte[] data)"

I noticed that ByteArrayWrapper has three constructors, two of which take "name" as the first argument, so what does "name" mean from IPFS business point of view? In other words, before calling ipfs.add, what's the difference between "public ByteArrayWrapper(byte[] data)" and "public ByteArrayWrapper(String name, byte[] data)"? Thanks very much!

This constructor allows you to construct a NamedStreamable that looks like a file (complete with a file name) without accessing the file system. If this "file" gets added into IPFS as part of a DirWrapper (which doesn't have to correspond to a real directory either), its name will be stored in the data block.


CO-OPS SOS service only allows 4 day current requests

at present when performing a get observation request (like this) the user recieves an error Max 4 days of data can be requested. 10.04 days were requested.
meaning that only 4 days of currents can be requested, this makes obtaining long time series difficult via SOS

@mchaouchi, who should we contact at CO-OPS for thredds issues now that you have changed jobs?

For THREDDS' requests, please contact Dave at<EMAIL_ADDRESS>For SOS Web Services inquiries, please contact Xiaoyan at
<EMAIL_ADDRESS>Thank you.

Thanks @mchaouchi!


Including the parse transform seems to export all functions

When using the include file like so:
-ifdef(TEST).
-include_lib("doctest/include/doctest.hrl").
-endif.

it seems that the header file exports all functions in the current module. I'm running xref on my code in the test profile (to include the test usage of the code in the analysis) and it complains about all private functions being exported but not used (which is true).
Is there a way the include file could avoid exporting all private functions in the module?

Yeah, that behavior should be changed. All functions are exported to test all docs, but unexported functions are unavailable to users, so testing them does not make sense. I wanted to change that some time ago, but I'm giving open-source a lower priority, but I can take a look at this in the next few days.

Don't stress it if you don't have the time or energy 🙏


Bug in input focus on mobile

Hello,
when I click the input and then open the keyboard the view is pulled all the way up, then the view does not return to normal on blur. This event makes to lose the submit button on the header.
is possible to see in the following images.
image 1
image 2
image 3
What can I do to fix this problem ?

If you use capacitor or cordova the plugin ionic keyboard would stop pushing the content up

@eduboxgithub Please describe platform/browser/device

Hello @BerkeAras and @roman-rr.
I'm using Capacitor (latest version) and I'm testing on a Android device.
Already tested on a OnePlus 5T with Android 10, a Wiko with Android 7 and a Xiaomi A2 with custom ROM (LineageOS).
In all of them when a pane is rendered with an ion-input, when the native keyboard shows up (ion-input focus) the pane scrolling breaks and cant be restored...
This only happens on a device... because of the native keyboard.
If I try to block the content to be pushed up... probably I will be writing things in the input, but not seeing what is being written...

@eduboxgithub Is the bug happening when you dont use ion-input?

@eduboxgithub please share your code and i will find optimal solution for this case.

@eduboxgithub Reproduced in my environment, looking for solution.

@eduboxgithub
Quick solution
if (this.platform.is('android')) {
  const pane = <HTMLElement>document.querySelector('.pane');
    window.addEventListener('keyboardWillHide', () =>
    window.requestAnimationFrame(() => (pane.style.display = 'none',
    window.requestAnimationFrame(() => pane.style.display = 'block'))));
}

I wonder if this can be achieved in a browser as well?
I currently have an input in the drawer and the virtual keyboard is hiding it -/

@nbaleli-w please describe your issue here https://github.com/roman-rr/cupertino-pane/issues/73
Seems like it's match.

Borried looking for a solution, i did this and works 100% on any device:
On .html:

Días disponibles

On .ts:
async changeDiasDisponible() {
const alert = await this.alertController.create({
header: 'Nº días disponibles',
inputs: [
{
name: 'numdias',
type: 'number',
value: this.form.get('dias').value
}
],
buttons: [
{
text: 'Cancel',
role: 'cancel',
cssClass: 'secondary'
}, {
text: 'Ok',
handler: (data: any) => {
this.form.get('dias').patchValue(data.numdias);
}
}
]
});
await alert.present();
}

Hello, when I focus in an input on android, style="overflow: hidden" is injected into my pages html tag. This prevents me from scrolling the page.
How do I fix this.


Write single line strings by default

Codecov Report

Merging #3 (947c3ab) into master (497acd7) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master        #3   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines           88        92    +4
  Branches        26        26
=========================================
+ Hits            88        92    +4

Impacted Files
Coverage Δ

tomli_w/_writer.py
100.00% <100.00%> (ø)

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 497acd7...947c3ab. Read the comment docs.


chore(test/*): add test_sorry axiom in tests to make them less noisy

This PR adds axiom test_sorry for the sorrys in tests, in order to remove the noisy output of sorry.
In test/rewrites.lean and test/IsCompact.lean some of the #guard_msgs are #guard_msgs(warning), due to further messages.
Affected files:
test/apply_fun.lean
test/cancel_denoms.lean
test/Change.lean
test/congr.lean
test/congrm.lean
test/convert.lean
test/DefEqTransformations.lean
test/FBinop.lean
test/GCongr/inequalities.lean
test/GeneralizeProofs.lean
test/ImplicitUniverses.lean
test/InstanceTransparency.lean
test/LibrarySearch/IsCompact.lean
test/LiftLets.lean
test/linarith.lean
test/MfldSetTac.lean
test/mod_cases.lean
test/Monotonicity.lean
test/nontriviality.lean
test/norm_num.lean
test/push_neg.lean
test/Real.lean
test/rewrites.lean
test/ring.lean
test/Zify.lean

Zulip discussion

Thanks @kmill: I like your suggestions and I applied them!

bors d+

bors r+


Raise a Wallaby Error if an Error in execute_(phantom)_script occurs

Pulled from #173
As shown in this comment we don't seem to raise Wallaby errors every time a JS error is produced here (example stolen from the comment):
IO.inspect execute_script(session, "boom")

%{"class" => "org.openqa.selenium.WebDriverException",
  "message" => "{\"errorMessage\":\"Can't find variable: boom\",\"request\":{\"headers\":{\"Content-Length\":\"27\",\"Content-Type\":\"text/json, text/json\",\"Host\":\"localhost:51992\",\"User-Agent\":\"hackney/1.6.6\"},\"httpVersion\":\"1.1\",\"method\":\"POST\",\"post\":\"{\\\"script\\\":\\\"boom\\\",\\\"args\\\":[]}\",\"url\":\"/execute\",\"urlParsed\":{\"anchor\":\"\",\"query\":\"\",\"file\":\"execute\",\"directory\":\"/\",\"path\":\"/execute\",\"relative\":\"/execute\",\"port\":\"\",\"host\":\"\",\"password\":\"\",\"user\":\"\",\"userInfo\":\"\",\"authority\":\"\",\"protocol\":\"\",\"source\":\"/execute\",\"queryKey\":{},\"chunks\":[\"execute\"]},\"urlOriginal\":\"/session/5cb946a0-19c4-11e7-aef6-3973bb41a47b/execute\"}}",
  "screen" => "<Large Base64 encoded string ...>"}

Raising an exception here is what we wanna do instead. check_logs! is already used in those functions though.

We need to check if this also affects WebDriver. There's a plan to deprecate PhantomJS backend altogether (see #437)


Coding style

-Implemented Babel 6's coding style into our project for a uniform coding style

Something went wrong during the conflict resolving.


[BUG] Reinstallation of models does not work as expected

Describe the bug
Previous attempts #223 & #249 have not resulted in expected behaviour.
How To Reproduce
First, install a model from scivision catalog, where model_repo is the link to. the pip installable GitHub repo.
load_pretrained_model(model_repo)

Then, modify the code in the model_repo,  push changes to GitHub and reinstall in scivision:
load_pretrained_model(model_repo, allow_install="force")

Expected behaviour
Changes made to the model code should be present when the model is used after reinstallation.
Currently, you have to manually do pip uninstall model_package_name and then re-run load_pretrained_model for changes to be picked up.

@ots22 I noticed our previous solution still doesn't quite have the desired effect, I can have a look at this a bit later

Participants in a workshop where the aim was to add a model package to the scivision catalog found that when they were editing (new commits) the model package, then using load_pretrained_model <- it didn't automatically reinstall when there were newer commits of the model package (github repo). We should probably make this the case to help developers. Ideally, we probably don't want to force them to remember to have to set the allow_install flag.
Can we make it so the behaviour of load_pretained_model is:

Checks if the package exists in the python environment and installs if not
If is package already exists, checks the url for new commits and installs if so

Perhaps the only way to make the above work is if the model developer is careful to increment their package version with each new commit (or PR, feature, bug fix etc) - then this might be easier to get pip to make sure it installs the latest version (if installing the latest GH commit is not a feature pip supports), but we could then ensure the model developer docs are clear that this is what you should do

Is the problem that the PRs were buggy, or that we now want different behaviour?
Actually, is load_pretrained_model without allow_install ever useful?  The distinction between alllow_install=True and "force" is also not so clear to me now. The explicit opt-in to a regular python function messing with your installation does seem like a good idea, but maybe the whole function could be renamed to make this clearer.
Can the desired behaviour be achieved just with the various arguments to pip?  This seems preferable to doing any kind of version checking and reinstallation of packages ourselves.

In fact, if you don't provide the allow_install flag and the package isn't already installed, we raise this exception - so perhaps this should be the way to install a model?

^ could even have a function like
get_install_code('https://github.com/alan-turing-institute/scivision_classifier')
which simply prints out:
Copy the following line of code into a new notebook cell (or remove the "!" and run in a terminal window:
!pip install -e git+https://github.com/alan-turing-institute/scivision_classifier@main#egg=scivision_classifier

The "force" option means that the package will be re-installed, even if it already exists (as will dependencies) - what I think I found previously (testing this now) was that this didn't result in any newer version of the package being installed if it existed, despite the fact we're giving pip these args: pip_install_args=["--force-reinstall", "--no-cache-dir"] - Also it really slows the process down
Instead, perhaps we could simply do pip install <package_name> --upgrade behind the scenes when calling load_pretrained_model (and get rid of allow_install completely)

The "force" way definitely seems like a kludge. I wonder why: we didn't think of --upgrade before, and why the various pip arguments don't get result in the latest version.

Agree with your thoughts, I'll work on a PR for this and can see what people think

Did https://github.com/alan-turing-institute/scivision/pull/533 fix this?

I haven't tested it, but I wouldn't expect removing force reinstall to mean that model updates are installed correctly


Read hero text in shop

This is half working and there' no easy/good way to improve this right now.


Add crossguard 2.0 blost post

This blog post was requested by @spara. It covers 2.0 features for PaC. Please let me know if I missed anything or if there are any changes I should make by Thursday evening at the latest.

i'd actually like to make sure we keep the crossguard mentions ...
post looks good!
On Tue, Apr 28, 2020 at 3:56 PM Justin Van Patten<EMAIL_ADDRESS>wrote:

@justinvp approved this pull request.
Some comments, but looks good otherwise!
In content/blog/crossguard-2-0/index.md
https://github.com/pulumi/docs/pull/3119#discussion_r416944495:

@@ -0,0 +1,186 @@

+---
+title: "What's new with CrossGuard?"
I was originally under the impression that "CrossGuard" was going to be
the brand for this feature, but I believe Joe was actually thinking of it
more as a code name.
@joeduffy https://github.com/joeduffy, @spara https://github.com/spara,
should we just say "Policy as Code" here instead of "CrossGuard"? (And
separately also deemphasize use of "CrossGuard" throughout the rest of the
site?)
In content/blog/crossguard-2-0/index.md
https://github.com/pulumi/docs/pull/3119#discussion_r416946934:

@@ -0,0 +1,186 @@

+---
+title: "What's new with CrossGuard?"
+date: 2020-05-05
+meta_desc: "New CrossGuard features part of Pulumi's 2.0 release"
+meta_image: config.png
+authors:

erin-krengel

+tags:

"Policy as Code"

"CrossGuard"

+---

+In a [previous blog post]({{< relref "/blog/announcing-crossguard-preview" >}}), I introduced CrossGuard, Pulumi's Policy as Code solution. As part of our [2.0 release]({{< relref "/blog/crossguard-2-0" >}}), CrossGuard is now generally available and has some awesome new features to improve the user experience around managing Policy Packs.
2.0 release
Two questions:

The link is linking to this page. Is this typical in blog posts?
We decided to use "1.0" as the actual version of the Policy SDK
(actually, technically @pulumi/policy v1.1.0 is what we released
alongside @pulumi/pulumi v2.0.0). Should we rename this blog post dir
from crossguard-2-0 to crossguard-1-0 and update this paragraph to
mention this being released as part of the overall Pulumi 2.0 release?

In content/blog/crossguard-2-0/index.md
https://github.com/pulumi/docs/pull/3119#discussion_r416947253:

+---

+In a [previous blog post]({{< relref "/blog/announcing-crossguard-preview" >}}), I introduced CrossGuard, Pulumi's Policy as Code solution. As part of our [2.0 release]({{< relref "/blog/crossguard-2-0" >}}), CrossGuard is now generally available and has some awesome new features to improve the user experience around managing Policy Packs.

+

+## General Availability

+CrossGuard is now enabled for all enterprise organizations in the Pulumi Console and as always the open source offering is available for all to use.

+### Improved CLI support

+We have added richer CLI support for CrossGuard. Organization administrators can now manage their Policy Packs from the CLI. In additional to being able to publish Policy Packs, you may now enable a Policy Pack by simply running:

+```bash
+pulumi policy enable /
⬇ Suggested change
-pulumi policy enable /
+$ pulumi policy enable /

In content/blog/crossguard-2-0/index.md
https://github.com/pulumi/docs/pull/3119#discussion_r416947325:

+CrossGuard is now enabled for all enterprise organizations in the Pulumi Console and as always the open source offering is available for all to use.

+### Improved CLI support

+We have added richer CLI support for CrossGuard. Organization administrators can now manage their Policy Packs from the CLI. In additional to being able to publish Policy Packs, you may now enable a Policy Pack by simply running:

+```bash
+pulumi policy enable /
+```

+This same command can be used upgrade an already enabled Policy Pack.

+Organization administrators may also disable a Policy Pack by running:

+```bash
+pulumi policy disable  /
⬇ Suggested change
-pulumi policy disable  /
+$ pulumi policy disable /

In content/blog/crossguard-2-0/index.md
https://github.com/pulumi/docs/pull/3119#discussion_r416948454:

+Organization administrators may also disable a Policy Pack by running:

+```bash
+pulumi policy disable  /
+```

+By default, the enable and disable commands use an organization's default Policy Group. Using the --policy-group flag, you can specify another Policy Group. You can also specify latest instead of a specific Policy Pack version to enable the latest version of that Policy Pack.

+### Options, Parent, and Dependencies

+Policies now have access to more information about the resources under review. With access to the options, parent and dependencies of a resource, you can now write even more thorough policies.

+You may access a [resource's options]({{< relref "/docs/intro/concepts/programming-model#resourceoptions" >}}) via the ResourceValidationArgs parameter. In the below example, we enforce that all DynamoDB tables be protected to prevent data loss.

+```TypeScript
Nit:
⬇ Suggested change
-```TypeScript
+```typescript

In content/blog/crossguard-2-0/index.md
https://github.com/pulumi/docs/pull/3119#discussion_r416948731:

       name: "dyanmodb-table-protected",

       description: "DynamoDB tables must be protected.",

       enforcementLevel: "mandatory",

       validateResource: validateResourceOfType(aws.dynamodb.Table, (_, args, reportViolation) => {

           if (!args.opts.protect) {

               reportViolation(`DynamoDB tables must be protected to prevent data loss.`);

           }

       }),

   },

],

+});
+```

+Access to the parent and dependencies of a resource allow you to author policies about the relationship between resources. For example, you may want to make sure that each DynamoDB table in a stack has an attached scaling policy.

+```TypeScript
Nit:
⬇ Suggested change
-```TypeScript
+```typescript

In content/blog/crossguard-2-0/index.md
https://github.com/pulumi/docs/pull/3119#discussion_r416949645:

                   reportViolation(`DynamoDB table ${table.name} is missing a scaling policy.`);

               }

           }

       }

   },

],

+});
+```

+## Python Support

+As of our 2.0 launch, you can now author Policy Pack in Python. Our multi-language approach allows you to author a Policy Pack using our NodeJS or Python SDK and enforce the pack on a stack written in any language.

+The Python-based Policy Pack prohibits public permission of Azure Storage Blob Containers.

+```Python
Nit:
⬇ Suggested change
-```Python
+```python

In content/blog/crossguard-2-0/index.md
https://github.com/pulumi/docs/pull/3119#discussion_r416949835:

+PolicyPack(

name="azure-python",

enforcement_level=EnforcementLevel.MANDATORY,

policies=[

   storage_container_no_public_read,

],

+)
+```

+## Configuration

+And lastly, the feature I am most excited to share with you all is Configurable Policy Packs. Using configuration, you can author Policy Packs that are reusable and flexible for your organization's various needs.

+For example, you may have a policy that restricts the allowed EC2 instance types. This set of instance may vary between your non-production stack and production stacks.

+```TypeScript
Nit:
⬇ Suggested change
-```TypeScript
+```typescript

In content/blog/crossguard-2-0/index.md
https://github.com/pulumi/docs/pull/3119#discussion_r416967083:

               reportViolation(`No EC2 instance types have been approved.`);

               return;

           }

           if (!config.allowedTypes.includes(instance.instanceType)) {

               reportViolation(`EC2 type must be an allowed instance type: ${config.allowedTypes}. ` +

                   `${instance.instanceType} is not allowed type.`);

           }

       }),

   },

],

+});
+```

+Using configuration, you can make this deviation, allowing larger, more costly instances only in production. We can enable this configurable Policy Pack for our Policy Group prod-stacks using configuration that allows for other instance types.

+```JSON
Nit:
⬇ Suggested change
-```JSON
+```json

In content/blog/crossguard-2-0/index.md
https://github.com/pulumi/docs/pull/3119#discussion_r416968080:

+```bash
+pulumi policy enable aws-policies latest --policy-group prod-stacks --config prod-policy-config.json
+```

+Alternatively, we can enable the Policy Pack from the Pulumi Console, as shown below.

+

+Configuration allows organization administrators to quickly and easily tweak Policy Packs to meet a variety of use cases.

+## Wrapping Up

+We've invested in improving the user experience for authoring and managing policy. Whether you're an enterprise customer or an open source user, you can get started by taking CrossGuard for a spin.

+* Getting Started with Pulumi
⬇ Suggested change
-* Getting Started with Pulumi
+* [Getting Started with Pulumi]({{< relref "/docs/get-started" >}})

In content/blog/crossguard-2-0/index.md
https://github.com/pulumi/docs/pull/3119#discussion_r416968410:

+```bash

+pulumi policy enable aws-policies latest --policy-group prod-stacks --config prod-policy-config.json
+```

+Alternatively, we can enable the Policy Pack from the Pulumi Console, as shown below.

+

+Configuration allows organization administrators to quickly and easily tweak Policy Packs to meet a variety of use cases.

+## Wrapping Up

+We've invested in improving the user experience for authoring and managing policy. Whether you're an enterprise customer or an open source user, you can get started by taking CrossGuard for a spin.

+* Getting Started with Pulumi
+* Getting Started with CrossGuard
⬇ Suggested change
-* Getting Started with CrossGuard
+* [Getting Started with CrossGuard]({{< relref "/docs/get-started/crossguard" >}})
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pulumi/docs/pull/3119#pullrequestreview-402236979,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB77TQXGTEZOSU6NCAOPBILRO5NITANCNFSM4MTGBWEQ
.


This worked once, but never again.

It should not be this hard to use these CLI tools. If I register a AzArtifacts source without specifying credentials (per the first screenshot) I get prompted for UserName and Password when trying to push. I can give it the correct credentials, but it just asks me again for the credentials.
If i add the source using the PAT (that has permissions to "Packaging (Read & write)"), it reports 403 error because I dont have "Add Package" permission.  This worked once a few weeks ago and I havent changed the nuget config at all since then.

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

ID: ab0a3735-a9b0-2ed7-f08f-5321f55f8c90
Version Independent ID: 2153f6c0-def7-eed1-286d-5e61c9fcbec4
Content: Use NuGet with Azure DevOps Services feeds
Content Source: docs/artifacts/nuget/nuget-exe.md
Product: devops
Technology: devops-artifacts
GitHub Login: @elbatk
Microsoft Alias: elbatk

I ran into this problem too, but was able to solve it by downloading the credential provider, and then putting the NuGet.exe and CredentialProvider.Vss.exe files in the same directory (where that directory is in your windows %PATH%).

@StingyJack Thanks for the feedback. I believe @gburghardt.
There is going to be a revamp of the connect to feed experience and documentation soon. I'm closing this issue for now but feel free to open a new issue in the updated documentation if you are still having issues.


React to WriteAttribute \ AddHtmlAttribute API changes

Reaction to https://github.com/aspnet/Razor/pull/554

For a page with 4 Home links over 3000 requests. The number of allocations increases linearly with the number of conditional attributes the page has
Before

After

Waiting for reaction to Razor PR comments.

:clap: - what's the total allocations for your sample?

@rynowak it's pretty insignificant in this application. Let me try out a more realistic page and get back to you on it.

I still wouldn't call 1mb insignificant - for the kinds of samples I've been investigating, it's approaching 1% of the total bytes.
The questions I'm asking are:

Is the fix yucky? (would we want this change without any perf improvement)
If it is yucky, is the yuckiness balanced with the benefit?

:watch:

@rynowak, yeah the API surface at the consumption end is much nicer and requires fewer data types to grock. We'd want it regardless of the API change.
That said, for the BasicVIew application (with the addition 4 anchor links to the Index view) from https://github.com/rynowak/mvc-sandbox, we're looking at 0.68% reduced allocations.

Updated

:shipit:


csi: add ${CLUSTER_ID} to placeholders

Some CSI Drivers need to be given a cluster ID so that they can tag volumes and snapshots they create.
This is done so that the installer can filter those resources out and delete them on cluster deletion.
CC @openshift/storage

/lgtm

/assign @deads2k @sttts

/approve
lgtm.
@jsafrane please take a final look.

/lgtm


Remove proprietary fonts

https://github.com/paphonb/AndroidP-ify/tree/master/app/src/main/assets/fonts contains fonts that should be only used by Google.
Please use https://rtyley.github.io/bfg-repo-cleaner/ to remove them.

Doesn't belong the use of copyrighted fonts in own work under definition of fair use?
https://en.m.wikipedia.org/wiki/Fair_use

Also, according to GitHub's DMCA takedown page:
"A particular use may be fair if it only uses a small amount of copyrighted content, uses that content in a transformative way, uses it for educational purposes, or some combination of the above. Because code naturally lends itself to such uses, each use case is different and must be considered separately."


Thumbnail support

Adds support for generating thumbnails in addition to the primary image:
{
  maxWidth: 1024,
  maxHeight: 1024,
  thumbnail: {
    maxWidth: 128,
    maxHeight: 128,
    cover: true
  }
}

This is a cool PR, but it's kind of overkill for my goals with this library. User could always just specify maxWidth/maxHeight normally if they ONLY want a thumbnail. If they want both, there's nothing stopping the user from generating the thumbnail client side after the fact anyway.

My main concern with generating thumbnails client side is that the base64 + string serialization is incredibly slow (a 1024x1024 image takes a good 200ms just to serialize to JS in the simulator on my MBP; let alone an actual device).
Doing the image processing in js is equally cumbersome


fix markdown summary if there are pending tests; run [amo youtube]

closes https://github.com/badges/shields/issues/8987
Not 100% sure why I wrote this to exit if there are pending tests, but this fixes it. Included services are just so we can view an example output, not because those services are affected by this change.

:rocket: Updated review app: https://pr-9068-badges-shields.fly.dev/

Not strictly related to this PR - I'm just using this to test another thing. PR incoming for that soon. Its all coming together...

rocket Updated review app: https://pr-9068-badges-shields.fly.dev

Just want to re-confirm that this came from you manually re-running the deploy workflow after an update right?

Yes. There is a tradeoff here between adding information and generating noise. Given we need to manually trigger updating the review app, I figure it is useful to post in the PR each time we update the review app so its easier to keep track of whether commits have been made since the review app was updated.


Picker's Initial Value:  It's automatically selects first value

I'm storing a value on my local memory and when user changes picker's value it's directly storing local memory, replace the older.
And when user opens app again I want to show stored value as picker's inital value, but it's directly selects it's initial value on  <Picker.Item> list.
I can't chagne item list because it's fetching on API directly.
Problem example:
picker values: [ 1, 2, 3, 4 ]
inital value 1

-> user selects 3, and it's stored on local data
-> re-open app

picker values: [ 1, 2, 3, 4 ]
inital value 1 (it has to be 3)

Any solution about it?
"react-native": "0.60.4"

When you're initializing the state do it like this:
state = {
    isLoading: false,
    pickerValue: valueFromLocalStorage || []
  }

I'm having this issue as well. It's quite a staggering UI experience when this happens.
So this is kinda my 'slap a bandaid on it and call it a day' method to fixing it..
`<Picker
selectedValue={this.state.plan_number}
style={{ color: EStyleSheet.value('$textColor') }}
onValueChange={(itemValue) =>{
        if(did_load === 0){
          did_load += 1;
          return;
        }

        this.setState({plan_number: itemValue})
        this.onRefresh(itemValue);
      }
      }>`

did_load is a global variable that will stop the picker from initializing as the first component.
I have a websocket that retrieves the currently selected item, and sets the state for the selectedValue. I added a console.log in the render method to see what the state actually is for selected value, and its correct all but the last time. When it's finally done rendering, the picker calls its own onValueChange method with the itemValue of 0. Is there a reason it needs to default to 0? Why can't i set the default value?
When i select different values, i have to query my websocket again and retrieve the data they have selected. When this happens, the picker will flash to the initial value, then switch to user selected value. It's a pretty unfavorable UX.


Read path: Use Ebook::GetByIdentifier() to read ebooks in ebook.php

I'm kind of amazed that this works, but it does. Still lots to do, but ebook.php was easier than expected.

Great!


fix: avoid npe when evaluating cpu load average

Issue
https://gravitee.atlassian.net/browse/APIM-1566
Description
Avoid NPE if CPU load average is null (which can happen on Windows)

Gravitee.io Automatic Deployment
🚀 A prerelease version of this package has been published on Gravitee's private artifactory, you can:

use it directly by updating your project with version: 1.24.9-apim1566-npe-in-monitoring-1-24-SNAPSHOT
download it from Artifactory here

:tada: This PR is included in version 1.24.9 :tada:
The release is available on:

1.24.9
GitHub release

Your semantic-release bot :package::rocket:


Non-interactive cli

Hi,
I'm working on the non-interactive cli. I still have to handle the '--out'/'-o' flag. I was wondering if you could do a "60% percent" review of the PR?

Coverage decreased (-1.1%) to 96.97% when pulling 4a4efaeba2b6dc2ab61049e1574d70505dec3c8e on simbas:non-interactive-cli into 9755a0020caa225dc80bf4e5696b1237bec448cf on bkimminich:develop.

👍 Will look at it tomorrow and give feedback! Thanks a lot!

Hi @simbas! Good idea with the Dockerfile. Will configure the repo to be auto-built on DockerHub before I merge. Could you add usage instructions for CLI and Docker for the new file-based mode to the Readme before merge?

Okay, https://hub.docker.com/r/bkimminich/juice-shop-ctf created.

@bkimminich,
I added the documentation as requested, and the --output flag.
To sum up , the PR:

adds a Dockerfile
documentation on how to use the docker image for generating challenges (+ how to run mutation tests with the docker build in contributing.md)
adds file-based mode
documentation on how to use the file-based mode
adds the possibility to change the output file with the --output flag
documentation on how to use the --output flag

Can you review the PR please?
Can you double-check the Joi schema in the readConfigSchema.js please?
I am not sure it is 100% equivalent with the what someone can provide with inquirer.
⚠  I made some changes in the history of the branch (rebase, etc.).

Totally awesome, sir! :+1: ... I think the mutation test option for Docker can be removed, though. This is something developers occasionally run locally to see if they missed some functionality in their tests, nothing needed to verify if the tools actually works. Otherwise :100: points! :+1:

@bkimminich I removed the build argument.


Unable to enable fog of war on v11

I just upgraded to Foundry v11, and I'm unable to enable fog of war. It looks enabled, but I'm unable to hide anything.

@jasonxbergman it isn't supporting V11 yet.
I'd love to hear the Dev's idea on when support for V11 will be issued.  Simple Fog is the one feature I rely upon more than anything in Foundry, and I cannot upgrade to new versions of Foundry without SF being implemented.
It is sad that this far into the dev cycle of Foundry, that they still rely upon independent devs to do something as fundamental as simple fog.

I had a look into this and after some digging around I found that the Pixi.js version has been updated with Foundry v11, leading to an update of the canvas.app.renderer.render function. I updated the composite function in MaskLayer.ts to reflect the changes and pass in the options in the expected way.

Thank you! I'm standing by eagerly for that release.

This is an amazing tool and I hope it gets updated!

we really need it back

I uploaded the a temporary release to my repository that can be downloaded and manually installed.
https://github.com/macskay/simplefog/releases/tag/v11-fix
Beware that I will delete this release as soon as the PR I opened for this fix is merged back to the main repository.

Can confirm that this manual installation works! Thanks so much for the quick fix!

I followed the instructions that were provided in the v11-fix link above, but now I can't seem to move any tokens on my map if the fog is enabled. If I disable the fog, tokens can be dragged around appropriately. I tried resetting the fog on the level as well, but no dice.
There's no conflict with other mods as I've tested this with simplefog being the only mod active. I'm also not getting any errors in the console either.

Can confirm, I'm seeing the same issue. Hopefully it's an easy fix. We're so close!

Same issue

Get random screen flickering when enabled in v11.

I had a few mins to play around with the fix from @macskay on a new 11.302 install with a new DND5e 2.2.1 world and scene, and also had the problem as described by @Moonshaft .  As best as I can tell, this is a canvas group and/or zindex problem.  A temp way to see this is go to Simplefog settings (Game Settings -> Configure Settings -> Simplefog) and change the value for Simplefog Z-index to 99 (below the tokens layer of 100)

However, it's been so long since I've dug into the code that I don't fully remember what the consequences are for setting the Z-index so low.  Since both the TokenLayer and the SimplefogLayer are in the InterfaceCanvasGroup, setting the Z-index to 99 should be making the tokens appear on top of Simplefog, but this doesn't seem to be the case.  I don't know/remember why and need to dig in further to figure out why...  One consequence is that the token HUD (name, resource bars, controls when right-clicking on token) are appearing over the simplefog...

To add to that: While I can select and move tokens, when I change the Simplefog Z-Index to 99, that doesn't seem to work with drawings, even when I set their Z-Index to higher values.

Any updates?

@macskay I've opened a PR that updates some interaction settings that the new PixiJS version needs to allow for proper selection of tokens. If you can merge that PR into yours, I think we'll be good to go for v11. /cc @UranusBytes

I tested both fixes and it's working well. I didn't test all the settings but all the tools are working and you can select token and move them.

I uploaded the a temporary release to my repository that can be downloaded and manually installed. https://github.com/macskay/simplefog/releases/tag/v11-fix
Beware that I will delete this release as soon as the PR I opened for this fix is merged back to the main repository.

Is it possible to install it on Forge?

This is working for me! Thanks for everyone who helped get it here. Here is what I did:

Remove or replace your the latest Simplefog module with: https://github.com/macskay/simplefog/releases/tag/v11-fix
Re-activated the Simplefog module
Change the z-index setting on Simplefog from 220 to 99
Reload Foundry <- You won't see it take affect until you reload Foundry

@bryancasler Did you try selecting anything?   I did a manual merge of the branch you mentioned and the additions like @dmizrahi, and I found everything working.  Now to just get the repo owner to accept all the merges...

I installed the fix and can use (mostly) everything normally, including moving tokens, but I still can't select drawings (like circles etc) or have them shown above the fog layer.

I only tried selecting tokens, which worked. I don't have any scenes with drawings.

I installed the fix and can use (mostly) everything normally, including moving tokens, but I still can't select drawings (like circles etc) or have them shown above the fog layer.

I have the same problem, using this fix https://github.com/macskay/simplefog/releases/tag/v11-fix.  I can select and move tokens but not select or move drawings.

I uploaded the a temporary release to my repository that can be downloaded and manually installed. https://github.com/macskay/simplefog/releases/tag/v11-fix

How would one install this version when using The Forge?

v0.3.4 with fixes has been posted.  Extra special thanks to @macskay and @mattd for making this happen.  If ANYTHING isn't working as expected, please let me know ASAP...

@UranusBytes Just checked over on the Foundry packages page, and Simple Fog is still showing latest as version 0.3.0 for v10 ???

A request is in to League to update the package page, though it can
sometimes take them a couple of days to respond.  You can install by using
the manifest URL from the release
On Sun, Jul 30, 2023 at 10:14 AM Steve Culshaw @.***>
wrote:

@UranusBytes https://github.com/UranusBytes Just checked over on the
Foundry packages page, and Simple Fog is still showing latest as version
0.3.0 for v10 ???
—
Reply to this email directly, view it on GitHub
https://github.com/League-of-Foundry-Developers/simplefog/issues/107#issuecomment-1657184963,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACVXHX63Y4APY2TYLRWAZZLXSZT45ANCNFSM6AAAAAAYRND3TI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Many thanks ... downloaded and manually installed Ok


Update scala-library to 2.13.7

Updates org.scala-lang:scala-library from 2.13.6 to 2.13.7.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.13.6).
You might want to review and update them manually.
.github/workflows/ci.yaml
.github/workflows/release.yaml

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala-library" } ]

labels: library-update, early-semver-patch, semver-spec-patch, old-version-remains

@amir I'll leave this with you - I think you still need to sort out what's going on in the PRs and whether you can address the problem in the first place.
When you merge this please also check the branch conditions (exclude 2.13.6 and include 2.13.7)


[stable/falco] Upgrade Falco to 0.18.0 and revamp auditLog feature

Is this a new chart

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

What this PR does / why we need it:
This PR updates Falco Chart to its latest release. It also syncs with https://github.com/falcosecurity/falco/blob/0.18.0/integrations/k8s-using-daemonset/k8s-with-rbac/falco-daemonset-configmap.yaml and revamps the auditLog feature to be more similar to stable/sysdig one.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @bencer

@nestorsalceda I need to talk with you :), are you in the k8s slack?

@nestorsalceda I need to talk with you :), are you in the k8s slack?

Yes! I will reach you!

@nestorsalceda im in the sysdig slack now, made a post in falco :)


[sc-29548] Support parent id and child tags for governed tags

🤔 Why?

Governed tags have hierarchies, the CLI tool needs to handle this behavior.
🤓 What?

add command input now supports parent_id option.
Renamed get to list
Added get command to get a governed tag with an ID
Added get-child-tags command to get child tags of a governed tag.

🧪 Tested?

List tags:

Get tag:

Get child tags:

Adding a tag with parent:

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

Project coverage is 59.26%. Comparing base (2837b14) to head (f87fa8b).

Files with missing lines
Patch %
Lines

...mmands/aspects/user_defined_resources/tags/tags.py
55.10%
22 Missing :warning:

...mmands/aspects/user_defined_resources/tags/node.py
92.85%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #34      +/-   ##
==========================================
- Coverage   59.66%   59.26%   -0.41%
==========================================
  Files          32       31       -1
  Lines         905      950      +45
==========================================
+ Hits          540      563      +23
- Misses        365      387      +22

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


Nethernet support for joining worlds

Majority work for Nethernet support. Supports listening and joining over LAN, signalling via the franchise WebSocket and creating/joining an Xbox session.
To do

[x] LAN discovery
[x] Xbox session lookup/creation
[x] Signalling channel for remote connections
[ ] Move Nethernet protocol to it's own repo?
[ ] Move Session handling to pauth or another repo?
[ ] Merge https://github.com/PrismarineJS/prismarine-auth/pull/107
[ ] Handle CONNECTERROR messages received from signalling channel
[ ] Updating docs and index.d.ts
[ ] Tests

Thanks for working on this, please advise when it's ready for review

Most the work is done apart from some bits but would probably be good to start moving parts of this out of here into other areas. Mainly moving the contents of ./nethernet, I'd think it'd make sense to have this in a prismarine-nethernet repo maybe?
Same with the Xbox Session API, I think we could get away with putting this in pauth unless you think we should separate an Xbox API to another repo?


Using derived metric sets leads to unusable data due to no data separation when using the flatten parameter

Describe the bug
This is a tracker bug related to upstream PCP bug https://github.com/performancecopilot/pcp/issues/1950
When using derived metric sets such as :vmstat or :sar and the flatten parameter of the plugin, the underlying tools do not correctly separate the data, leading to unusable data sets in both CSV and JSON formats.
To reproduce
Simply run the plugin using a built-in derived metric set such as :vmstat

Per feedback from upstream, we can set the delimiter explicitly. I tested that doing this always does not break current use cases of explicit metrics lists (eg kernel.all.running kernel.all.blocked swap.used), derived metrics (eg :vmstat), or lists of derived metrics (eg :vmstat :sar).


Receive color scheme changed does not work

The function
https://github.com/bilelmoussaoui/ashpd/blob/471bae1fb9376ae92f572e0c91c428149ec89190/src/desktop/settings.rs#L161
does not seem to work. The following program never returns.
# Cargo.toml
[dependencies]
ashpd = "0.4.0"

// src/main.rs
use ashpd::{desktop::settings, zbus::block_on};

fn main() {
    block_on(async {
        let settings = settings::Settings::new().await.unwrap();
        let s = settings.receive_color_scheme_changed().await.unwrap();
        dbg!(s);
    });
}

I'm using Ubuntu 22.04.2 LTS (GNOME 42.9)
The loop in receive_color_scheme_changed waits for a changed setting, checks if it matches it's filters and if it doeesn't, checks again for a changed setting. I suspect that there are settings that are not matching the filter criteria and while the checks are being made, the desired setting changed message arrives. But they are gone by the time that the loop will check for changed settings again.
I also don't quite understand the concept of hiding away the Stream interface of the signals, see https://github.com/bilelmoussaoui/ashpd/blob/471bae1fb9376ae92f572e0c91c428149ec89190/src/proxy.rs#L157 Why isn't the stream returned directly? The user can then call next().await and discard the stream to achieve the current behaviour of receive_setting_changed and receive_color_scheme_changed. I also tried to find any uses of this interface in the demo folder and the rest of github but I couldn't find any.
I believe it would be useful for the user to get the stream, I have an implementation here and I would submit a PR to integrate it in ashpd if it is desired.

I believe it would be useful for the user to get the stream, I have an implementation here and I would submit a PR to integrate it in ashpd if it is desired.

Patches would be welcome, only if all the other signals are replaced with returning an actual stream


empty space interaction on the last line

I supposed it should not invoke the tapHandler when tapping space with no text on the last line, as shown in  attached screenshot. Does it makes sense to you?

It is one of our trickiest issues.. Would love to fix it, but haven't found a good solution tbh


Updating google.golang.org/grpc to v1.61.0 and dependencies.

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind cleanup

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area library

/area broker

/area protocol-buffers

/grafana-dashboard

/area collectors

/area tests

/area examples

What this PR does / why we need it:
Bumps package google.golang.org/grpc to the latest version v1.61.3 to patch for vulnerabilities:

CVE-2023-44487
GHSA-m425-mq94-257g

Which issue(s) this PR fixes:

CVE-2023-44487
GHSA-m425-mq94-257g

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: AronNaylor
Once this PR has been reviewed and has the lgtm label, please assign andreagit97 for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: alacuku, AronNaylor
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [alacuku]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Concat specifications

Is there a way to concat two or more specifications together?
I have the scenario where I have a status specification and a customer id, and in some cases I want to use them together, without writing a new one for each combination.

It's not advisable typically to try to combine specifications. That moves the logic of composing the query out of the specification (and domain model) and into the calling code (probably in another less testable part of the app).
In your case why not have one that takes in a status and an id in its constructor?

In my case, I would have a method at my service like GetOpenOrdersByCustomer, and I would only use the specifications inside my method, I would not make the specs visible to the UI, for example.
I was trying to achieve the concat so that I wouldn't need to create one spec for Status, one for Customer, and one for both.

Again, we don't have plans to add support for combining specs. Personally I would create 3 specs and if there were logic between them that you really didn't want to duplicate, I'd do something like reference the expression in question from a shared constant value. But more likely I would just create 3 independent specs. If I really wanted one super-flexible spec, I'd create one that took in Customer and Status, but allowed for either one (but not both) of them to be omitted. That, too, seems kind of a poor design, so again I'd probably go the 3 spec route. Sorry to not be more help.

I understand, and I thank you for all the info you've provided me.

I think I just did this.

using Ardalis.Specification;

namespace Domain.Abstraction.Specifications;

/// <summary>
/// Domain Specification interface
/// </summary>
/// <typeparam name="T">The type being queried against.</typeparam>
/// <remarks>You have to call <see cref="Build"/> method to build the query logic before using.</remarks>
public interface IDomainSpecification<T> : ISpecification<T>
{
    /// <summary>
    /// Whether the current query model is an unconditional query model
    /// </summary>
    /// <returns><see langword="true"/> if it's an unconditional query model, otherwise <see langword="false"/></returns>
    bool IsPredicateLess() =>  !WhereExpressions.Any();

    /// <summary>
    /// build the query logic
    /// </summary>
    /// <remarks>In the case of multiple inheritance, the subclass must ensure that the implementation of the parent class is called in this method. The order of calling the implementation of the parent class is determined according to the situation, and it is not necessary to call the implementation of the parent class first.Although the order in which query conventions are constructed is not important it does not preclude the order being considered necessary in the new Ardalis.Specification package. Under normal circumstances, the implementation of the parent class is called at the end, so that the query logic of the subclass will be constructed first</remarks>
    void Build();
}

/// <summary>
/// Pagination specification
/// </summary>
/// <typeparam name="T">The type being queried against.</typeparam>
/// <remarks>You have to call <see cref="Build"/> method to build the query logic before using.</remarks>
public interface IPaginationSpecification<T> : IDomainSpecification<T>
{
}

public class CompanySpec : Specification<Company> , IDomainSpecification<Company>
{
    private bool built;

    public void Build()
    {
       // make sure it only build once.
        if(built)
            return;
        //Do something before sub class build
        PreBuild();
        //Do something after sub class build
    }

    /// <summary>
    /// build query
    /// </summary>
    /// <remarks>make sure the implements are call the base <see cref="PreBuild"/>method</remarks>
    protected virtual void PreBuild()
    {
        Query.Where(e => !e.Deleted);
    }
}

public class CompanyPaginationSpec : CompanySpec, IPaginationSpecification<Company>
{
    public int Id { get; }

    public CompanyPaginationSpec(int id)
    {
        Id = id;
    }

    protected override void PreBuild()
    {
        base.PreBuild();
        Query.Where(e => e.Id == id);
    }
}


kubectl delete leaks network connections when deleting multiple resources, causing warnings or errors

What happened:
kubectl delete leaks network connections when deleting multiple resources, causing warnings or errors
What you expected to happen:
kubectl to not leak network connections
How to reproduce it (as minimally and precisely as possible):

Create 1001+ pods
Perform kubectl delete pod -l mypod=foo

Receive warning (Linux):

W1011 16:39:05.007295    3346 exec.go:282] constructing many client instances from the same exec auth config can cause performance problems during cert rotation and can exhaust available network connections; 1001 clients constructed calling "aws"

Receive error (macOS):

socket: too many open files

Anything else we need to know?:
Environment:

Kubernetes client and server versions (use kubectl version):Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.5", GitCommit:"6b1d87acf3c8253c123756b9e61dac642678305f", GitTreeState:"archive", BuildDate:"2021-03-30T00:00:00Z", GoVersion:"go1.16", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"21+", GitVersion:"v1.21.2-eks-0389ca3", GitCommit:"8a4e27b9d88142bbdd21b997b532eb6d493df6d2", GitTreeState:"clean", BuildDate:"2021-07-31T01:34:46Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"linux/amd64"}

Cloud provider or hardware configuration: AWS EKS, authenticated to via AWS SSO.
OS (e.g: cat /etc/os-release): Linux and macOS

This may be fixed on the upcoming 1.23 release or by https://github.com/kubernetes/kubernetes/pull/105723.
You might be able to temporarily fix this by raising the ulimit on your mac.
@ash2k this might still be an issue here? https://github.com/kubernetes/kubectl/blob/a450ebd59c1e8917df23d37c6f05d8e16c3746aa/pkg/cmd/delete/delete.go#L392

/assign atiratree

@eddiezane I'm not sure, sorry.

@amarshall this seems like a duplicate of https://github.com/kubernetes/kubernetes/issues/91913. Can you please try again with latest kubectl?
sidenote: I have also tested this with plain kubernetes (not aws-iam) and have not observed such issue as there is only one connection opened.

Great reproduction example in https://github.com/kubernetes/kubectl/issues/1152

TY, I managed to reproduce #1152  on AWS EKS (1.21) with latest kubectl. Vanilla kubernetes works fine.
seeing multiple connections:

kubectl 430171 user   18u     IPv4 2968415      0t0      TCP p1:49786->ec2-IP.eu-central-1.compute.amazonaws.com:https (ESTABLISHED)
kubectl 430171 user   20u     IPv4 2968418      0t0      TCP p1:40788->ec2-IP.eu-central-1.compute.amazonaws.com:https (ESTABLISHED)
kubectl 430171 user   22u     IPv4 2974513      0t0      TCP p1:49790->ec2-IP.eu-central-1.compute.amazonaws.com:https (ESTABLISHED)

after I reach ulimit -n opened files limit I am getting connection errors:
Unable to connect to the server: dial tcp: lookup 123456789ABCDEF.gr7.eu-central-1.eks.amazonaws.com: too many open files
Unable to connect to the server: dial tcp: lookup 123456789ABCDEF.gr7.eu-central-1.eks.amazonaws.com: too many open files
Unable to connect to the server: dial tcp: lookup 123456789ABCDEF.gr7.eu-central-1.eks.amazonaws.com: too many open files

I am planning to work on the fix soon

This bug applies to all commands (create/apply/delete/describe) that use Exec credentials plugin
Description of the current code flow and behaviour for kubectl delete:
when running delete:
https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/kubectl/pkg/cmd/delete/delete.go#L212
with client obtained here
https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/cli-runtime/pkg/resource/builder.go#L905
and initialized via
https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/cli-runtime/pkg/resource/builder.go#L937
https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/cli-runtime/pkg/resource/builder.go#L177
https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/cli-runtime/pkg/resource/client.go#L57
for each deletion new client in info is used
https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/kubectl/pkg/cmd/delete/delete.go#L326
and also for each deletion new client is created
https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/client-go/rest/config.go#L330
and new TransportConfig is created
https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/client-go/rest/transport.go#L33
which is then ammended with credentials Exec provider
https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/client-go/rest/transport.go#L132
Authenticator is cached so there are no duplicate queries to the executable until the token expires (even when used over multiple clients):
https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go#L163-L168

it adds its own RoundTripper to add credentials to the request: https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go#L299
it add GetCert callback to obtain new certificate: https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go#L305
it adds a connectionTracker to close all connections when new credentials/cert are observed: https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go#L504

tlsCache is used for transports if custom transport is not specified: https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/client-go/transport/transport.go#L50

when normal kubeconfig withou credential plugin is used the cache works correctly. That is transport is reused accross multiple connections: https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/client-go/transport/cache.go#L75
but when we use credentials plugin the condition canCache is not fullfilled due to the presence of c.TLS.GetCert and c.Dial(which are nil in normal kubeconfig): https://github.com/kubernetes/kubernetes/blob/267272efe0725e14b3c2c7bc6fa3dd64a922a6a7/staging/src/k8s.io/client-go/transport/cache.go#L136

^  I think the fix should be just to enable the TLS caching for this use case:

the dial is a basic Dial with just a connection tracking so this shouldn't cause issues since the Dial should function the same regardless of a lookup
GetCert should also return consistently when the server requests client certificate and the connections should be closed by Authenticator when new cert appears

so both of these should not affect the tlsCacheKey and change in transport returned from the cache.

posted a PR with a fix https://github.com/kubernetes/kubernetes/pull/108274
until that gets accepted a following workaround can be used:
TOKEN="`AWS_PROFILE=my-profile aws --region my-region eks get-token --cluster-name my-cluster | jq ".status.token" | sed 's/"//g'`"

kubectl delete pod -l mypod=foo --token=$TOKEN

I think the fix should be just to enable the TLS caching for this Exec plugin use case:

This approach was discussed in https://github.com/kubernetes/kubernetes/pull/108274#discussion_r812046486 and was not shown as viable.
I will try to refactor kubectl generically and use similar approach as https://github.com/kubernetes/kubernetes/pull/105490.

@atiratree I think you've got the right idea about kubectl needing to reuse a single transport across all requests.
It looks like anything that uses builder will have this problem where a new client is created for each invocation of Visit().
https://github.com/kubernetes/kubernetes/blob/0b8d725f5a04178caf09cd802305c4b8370db65e/staging/src/k8s.io/cli-runtime/pkg/resource/visitor.go#L430
It looks like getClient() will always return a new client, and there is currently no way (currently) to tell the builder to use a specific client instance.
https://github.com/kubernetes/kubernetes/blob/0b8d725f5a04178caf09cd802305c4b8370db65e/staging/src/k8s.io/cli-runtime/pkg/resource/builder.go#L925-L945
I wonder if a good approach would be to add a WithClient(client *http.Client) function to the builder.  Is this along the lines of what you were thinking?  Is there any other way to tell the builder to use a specific client instead of creating its own?

@brianpursley  Thanks, I had to get down to the ConfigFlags to support also the DiscoverClient. Please see  https://github.com/kubernetes/kubernetes/pull/108459 for the implementation.

kubectl should definitely stop making an infinite number of clients, but until it does, https://github.com/kubernetes/kubernetes/pull/112017 should prevent connection leaks.

kubectl should definitely stop making an infinite number of clients, but until it does, kubernetes/kubernetes#112017 should prevent connection leaks.

This fix is merged and backported.  The next release of kubectl should include the fix.


new RPC for all public keys CORE-3065

@maxtaco this still needs a test, but I wanted to check to see if this is on the right track first.

As for the test, you might add a new t_tracy-style user to the DB, call it t_rosetta, let's say. That is:

sign up and add keys for t_rosetta
reset t_rosetta's sigchain
add more keys
export t_rosetta to keybase.sql and to a patch file (@oconnor663 made a script do this)

Then, in your test, make sure you're getting the old and the new keys for t_rosetta

Test in play!

:mag_right: These commits introduced some visual changes:

Changed: Folders_Ignore_Confirmation-Normal_Private (before) (after)

👍

:mag_right: These commits introduced some visual changes:

Changed: Search_Non_User_Pane-No_Avatar (before) (after)


Having issue with Logging

Hello,
I turned the logging to false but nothing happens, it always output all received messages from the twitch server, what can i do to disable the logging of the connection, just need the onMessage output and not the other debug things, can you please tell me what's wrong, or is it a bug?
Regards

Yes, looking into another issue and now this. Will get back to you shortly.

Alright, that should fix your problem, I hope. Let me know :D

So thanks the problem is gone :) i implemented a logging true/false, can be set in a config ^^
But another problem takes, after hours it appears, and need to be restarted,
Error message:
15.09.2017 03:11:26|Fatal|WebSocket.b__175_2:0|WebSocketSharp.WebSocketException: The header of a frame cannot be read from the stream.
bei WebSocketSharp.WebSocketFrame.processHeader(Byte[] header)
bei WebSocketSharp.WebSocketFrame.<>c__DisplayClass73_0.b__0(Byte[] bytes)
bei WebSocketSharp.Ext.<>c__DisplayClass55_0.b__0(IAsyncResult ar)

I assume this is with pubsub, correct?

The problem is, i dont know, it random appears :/

In my experience, this error occurs as a result of Twitch forcing a disconnect on the client. It could be a result of the client failing to respond/send PING/PONG messages to Twitch, but it could also be a result of Twitch forcing a disconnect on their side. You might try catching that exception and then having the client reconnect. I will look into seeing if this can be done within the client itself.

Okii wil be nice if you can help me to resolve the problem ^^
It needs to be online and nowmaly it PING/PONG message to be connected to twitch so i don't understand why twitch would force disconnect the client so if twitch forces it.
Sry for my bad english ^^
Regards

Generally, Twitch doesn't disconnect clients. I think the only reason they would is if they are pushing updates to their servers or restarting their servers. Regardless, it is something the client /should/ handle automatically.

Will close this since the main issue is resolved. Still looking into the ability for the client to detect the issue automatically.


Add a way to render a subset of a PDF page

Package name
native_pdf_renderer
Describe the solution you'd like
To be able to specify a rectangle in the coordinates of the PDF page to specify what to render.
Describe alternatives you've considered
The alternative is to render the entire page and then copy the part you want.

will be added in #11

Added in v 1.5.0


Mark openapi attributes as required for reads

Fixes #1744 by marking all fields as required for read requests. This allows for more accurate documentation and better type safety for generated clients, until sparse fieldsets are implemented.

As far as I can tell the test fails aren't related to my changes here(?)

I've only been running the tests within the openapi plugin folder and they succeed locally. I don't have enough memory to comfortably run the entire test suite locally.

I've only been running the tests within the openapi plugin folder and they succeed locally. I don't have enough memory to comfortably run the entire test suite locally.

Hey it's caused by a typing issue with new release of tanstack-query. Test cases previously didn't pin to a specific dependency version. I've made a fix and merged it into your branch.