[Feature] Require JDK 17 or 21 for compiling due to Temurin JDK 11 EOF at Oct 2024

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
According to Temurin's official page, the JDK 11 should be End of Availability At least Oct 2024.
Ref to https://adoptium.net/support/

To avoid the outdated JDK version for various platforms compiling, we should begin to investigate and prepare the JDK upgrade.
Through #11464, I made OAP and UI Webapp running in the JDK21 image. Now, we should decide whether we choose JDK 17(next TLS) or skip it to JDK 21 directly.
FYI all @apache/skywalking-committers If you have any preference, please comment here and explain the reasons, thanks.
Use case
No response
Related issues
No response
Are you willing to submit a pull request to implement this on your own?

[X] Yes I am willing to submit a pull request on my own!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I personally favor JDK 21 for the full implementation of virtual threads that JDK 17 doesn't have. It could be a major throughput enhancer.

I personally favor JDK 21 for the full implementation of virtual threads that JDK 17 doesn't have. It could be a major throughput enhancer.

I am thinking about JDK 21 too, although I am not sure whether the virtual thread feature is really helpful.

It seems that we have already been compatible with both JDK 17 and JDK 21 as we release oap on those JRE. So the tasks here are to increase the minimal JDK version and perhaps do some cleanups & improvements?

whether the virtual thread feature is really helpful

Yep. I suppose that virtual thread introduces a new pattern that we don't have to deal with complex callback-composition of futures. But the performance (upper bound) is the same as well-written async code in futures. Moreover, currently, all the virtual threads share a global scheduler (a ForkJoinPool just like the commonPool but a separate one), which may be a step backward considering SkyWalking has already built a concurrency model and separate concurrency groups.
Back to the topic and original question, if there is no strong reason to stay in JDK 17, I suggest moving to JDK 21. And as long as the common usage of OAP is pulling Docker image, this upgrade should be almost transparent.

We won't gain all the new (exciting) features/improvements in higher version by simply bumping up the JDK, that can't be a good reason to bump up the JDK version to a very recent version unless we plan to rewrite some of the codes, take the virtual thread as an example. Also, JDK 11's being EOL is not a big issue for us, the SkyWalking project can already run on Java 11, 17, and 21, users can decide which one is preferable in their own case to install on their environment, they have more choices, if we set the minimum required version to 21, they can only install/upgrade to Java >=21.
I personally always upgrade all softwares to the latest versions for my own use, but for an open source project, this will greatly impact our users.

My intention is only about the required JDK version should be secured with CVE patches and maintaince by the official team.
That is the only reason I refer to Temurin's official page.

I'm making an important transition in Zipkin v3 where the underlying kernel will be replaced with SkyWalking. With this shift, it's crucial to highlight that the main Zipkin repository comprises two distinct services: zipkin-core and zipkin-server.
The zipkin-core is essentially the core library utilized for third-party service integrations and is compiled and released with OpenJDK11. The choice for OpenJDK11 is due to JDK12's inability to produce Java 1.6 bytecode, ensuring compatibility for our clients.
For zipkin-server, while the compilation and release are also performed with OpenJDK11. However, within Docker images, we run the container using OpenJDK 17.
I suggest we upgrade the Docker image for the zipkin-server to run on OpenJDK21, while continuing to use OpenJDK 11 for compilation and release processes on zipkin-core and zipkin-server.

@mrproliu Could you confirm the OpenJDK thing? The OpenJDK should have no update, and fully changed to Temurin.
Which are your JDK/JRE actually being used?

Which are your JDK/JRE actually being used?

Upon reviewing the openzipkin/docker-java project, it appears that the Docker version of OpenJDK being used is the Oracle OpenJDK. Referring to Oracle's official Java SE Support Roadmap, I noticed that support for version 17 is extended until September 2026.

Which are your JDK/JRE actually being used?

Upon reviewing the openzipkin/docker-java project, it appears that the Docker version of OpenJDK being used is the Oracle OpenJDK. Referring to Oracle's official Java SE Support Roadmap, I noticed that support for version 17 is extended until September 2026.

Thanks. I have updated the original issue description about Zipkin side reference.

@kezhenxu94 If we want to keep on OpenJDK 11 distro by default, we may need to switch the base image for it. I have updated Oracle OpenJDK and Zulu OpenJDK above. What do you think?
cc @tisonkun as you asked about this. Generally, we are not urgent to adopt Virtual Thread, as the benefits are not clear.

@kezhenxu94 If we want to keep on OpenJDK 11 distro by default, we may need to switch the base image for it. I have updated Oracle OpenJDK and Zulu OpenJDK above. What do you think?

We can bump up the Java version in the base docker image to whatever (Temurin 17 or 21) because as a Docker container it's self-contained and it doesn't impact the users' environment, the only concern of mine was not to set the MINIMUM required Java version to too high, so the users have more choices if they are not using Docker images.

@kezhenxu94 If we want to keep on OpenJDK 11 distro by default, we may need to switch the base image for it. I have updated Oracle OpenJDK and Zulu OpenJDK above. What do you think?

We can bump up the Java version in the base docker image to whatever (Temurin 17 or 21) because as a Docker container, it's self-contained and it doesn't impact the users' environment, the only concern of mine was not to set the MINIMUM required Java version to too high, so the users have more choices if they are not using Docker images.

Got it. Your proposal is, that we are keeping the compiler output in 11, only updating the runtime JRE. This means, we don't accept any new language level features higher than JDK 11. Am I getting you right?

Got it. Your proposal is, that we are keeping the compiler output in 11, only updating the runtime JRE. This means, we don't accept any new language level features higher than JDK 11. Am I getting you right?

Exactly. That's all my opinion.

that we are keeping the compiler output in 11, only updating the runtime JRE. This means, we don't accept any new language level features higher than JDK 11

This sounds good as long as there is no significant improvements from JDK 17 or JDK 21.
While, although I agree that keep JDK as b/w compatible as possible is good for client (library), it benefits little for server side application. The SkyWalking OAP, if I get it right, is the final application that using a new JDK doesn't affect users; especially they are using the Docker image mostly.

While doing #11514, I tried once to compile OAP/UI with JDK21(Zulu), there is at least one test lib having a JDK21 support issue, system-stubs-core. Tracked at https://github.com/webcompere/system-stubs/issues/73


Attempt to generate a next toolchain with #61668

Trying to get a sense if my proposed change works in principle
Base PR

#61668

Cherry-picks

~#61489~
#61473

@swift-ci please build toolchain

@swift-ci please build toolchain

@swift-ci please build toolchain

Hitting the following error
In file included from /Users/ec2-user/jenkins/workspace/swift-PR-toolchain-macos/branch-next/swift/lib/Demangling/Errors.cpp:38:
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk/usr/include/malloc/malloc.h:69:16: error: argument to __ptrauth must be an integer constant expression
    size_t      (* MALLOC_ZONE_FN_PTR(size))(struct _malloc_zone_t *zone, const void *ptr); /* returns the size of a block or 0 if not in this zone; must be fast, especially for negative answers */
                   ^
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk/usr/include/malloc/malloc.h:39:10: note: expanded from macro 'MALLOC_ZONE_FN_PTR'
                FALSE, ptrauth_string_discriminator("malloc_zone_fn." #fn)) fn
                       ^
/Users/ec2-user/jenkins/workspace/swift-PR-toolchain-macos/branch-next/buildbot_osx/llvm-macosx-x86_64/lib/clang/13.0.0/include/ptrauth.h:247:3: note: expanded from macro 'ptrauth_string_discriminator'
  __builtin_ptrauth_string_discriminator(__string)
  ^

Hitting the following error on Linux
In file included from /home/build-user/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp:20:
/home/build-user/llvm-project/compiler-rt/lib/tsan/rtl/tsan_dispatch_defs.h:30:15: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
typedef void (^dispatch_block_t)(void);

Hitting the following on Windows
C:\Users\swift-ci\jenkins\workspace\swift-PR-build-toolchain-windows\swift\include\swift/Demangling/Demangle.h(529): error C2079: 'ManglingError' uses undefined struct 'swift::Demangle::LLVM_NODISCARD'
C:\Users\swift-ci\jenkins\workspace\swift-PR-build-toolchain-windows\swift\include\swift/Demangling/Demangle.h(530): warning C4471: 'Code': a forward declaration of an unscoped enumeration must have an underlying type
C:\Users\swift-ci\jenkins\workspace\swift-PR-build-toolchain-windows\swift\include\swift/Demangling/Demangle.h(531): error C2065: 'Success': undeclared identifier

@swift-ci please build toolchain Linux

In Linux I was able to go past the failing point, now we are failing building Swift
In file included from /home/build-user/swift/lib/Demangling/ManglingUtils.cpp:13:
In file included from /home/build-user/swift/include/swift/Demangling/ManglingUtils.h:16:
/home/build-user/llvm-project/llvm/include/llvm/ADT/Optional.h:84:43: error: no type named 'in_place_t' in namespace 'std'
  constexpr explicit OptionalStorage(std::in_place_t, Args &&...args)
                                     ~~~~~^

That somehow worked, and now I'm getting errors similar to the Windows run
In file included from /home/build-user/swift/lib/Demangling/NodeDumper.cpp:13:
/home/build-user/swift/include/swift/Demangling/Demangle.h:530:3: error: expected expression
  enum Code {
  ^
/home/build-user/swift/include/swift/Demangling/Demangle.h:529:23: error: variable has incomplete type 'struct LLVM_NODISCARD'
struct LLVM_NODISCARD ManglingError {
                      ^
/home/build-user/swift/include/swift/Demangling/Demangle.h:529:8: note: forward declaration of 'swift::Demangle::LLVM_NODISCARD'
struct LLVM_NODISCARD ManglingError {
       ^
/home/build-user/swift/include/swift/Demangling/Demangle.h:571:1: warning: class 'LLVM_NODISCARD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
class LLVM_NODISCARD ManglingErrorOr {
^
/home/build-user/swift/include/swift/Demangling/Demangle.h:529:8: note: previous use is here
struct LLVM_NODISCARD ManglingError {
       ^


Storage docs and examples

A month ago I started using Supabase Storage with Python and I was really lost without good docs and examples to work with and I got frustaded. But I managed to figure out stuff and now I would like to help people who are lost as I was.
I would like to create a new PR (branch name: update-storage-docs) with some examples for Storage with Python and maybe even try to improve the README in that area. Please feel free to add suggestions and things that you would like to see.
We could also get examples from the Javascript and only change the syntax.
What do y'all think?

This should be fixed as Python is now officially supported, if you see any missing docs, please open an issue for it.


Table component - Add html support in dataprovider-column

In dataprovider html-data like font-awesome/image is not working. It's presented as textstring.

Created https://support.servoy.com/browse/SVY-11997.


UI: Dark theme

Based on Material Design, see wiki for reference, here the preview.
Tested working, needs further review.

Nice ! Maybe we could make the background sfizz logo a bit darker, it feels distracting rn.

I merge it because the changes in the layout get in conflict with other things.


Show moderator view of a participant

It has been requested via feedback that a moderator should have the option to see the view of a participant if needed. Otherwise he has to ask the participants what they can see.

Show explicit number of online participants who are viewing the same note (stack view)
Maybe rename "Hide hidden columns" to "Show participant view"?


Getting exception on deleting default channel.

Framework version: 0.1.5
Test Steps:

Create a new channel
Try to delete the default channel

Framework Version: 0.1.5
Fixed


Middle pane snaps to zero after third pane appears and first pane resizes

ok, slightly complex, but the app starts out with two panes shown, the left and middle panes. the user can opt to show the third pane on the right, which pops up at 10%. So far so good. However, if you touch the slider between the left and middle panes, the middle pane snaps to zero size. The only way to re-adjust it is to drag the right pane just a bit. Then, it's possible to adjust the size of the left and middle panes. It's far from fatal - and I won't stop using the package - it's great - but it's not ideal.
Here's the bit of code I'm using:
<Splitpanes on:resized={resize} >
  <Pane size={initialPaneSize} >
    <canvas id="renderCanvas" touch-action="pan-x pan-y pinch-zoom" bind:this={canvas}> </canvas>
    <div class="tinfo"  bind:this={tinfo}>
      <TurtleInfo/>
    </div>
  </Pane>
  <Pane snapSize=20>
    <LSExplorer/>
  </Pane>
  {#if $showExamples}
    <Pane size=10 maxSize=20>
      <Examples/>
    </Pane>
  {/if}
</Splitpanes>

When right pane opens:

After trying to adjust left and middle panes:

Hi, I know this is an old issue - I apologies, got distracted.
I don't see anything wrong with the pseudo code above.
Would you mind testing with the latest 8.0.2, not sure if it will help.
in any case a REPL will help reproduce the issue.

Problem still exists with 0.8.2
website is live here: https://lowclouds.github.io/lsystem/
Code here: https://github.com/Lowclouds/lsystem

FYI, I can reproduce.
interesting one indeed.
it's late and I am tired. will try to look at it in the next few days.
but yes, it looks like an issue.

looking at the pseudo code above, I am pretty sure it's the snap logic.
turn it off to see
good night.

Hi, it appears snap is off by default, and I haven't enabled it (I think), so, I don't know what to do.

Since reviewing your pseudocode, I have identified the issue.
The solution isn't simple, but there is an easier way to manage it... for now
note this line <Pane snapSize=20>, this turn on the snap logic
The problem is that you are adding/removing the pane 'example'
I believe there is an issue with reactivity in our snap logic
Regardless, a better approach for now would be either,

remove the snapSize=20, the approach if fine - but apparently not when combined with snapping
if you want to keep the snap logic, do not remove the Pane, rather set its width to 0

Let me know how it goes,
Sincerely

Thanks for approach 2. I'd already removed the 'snapsize=20' and the problem was still there, but by just changing the Pane size, instead of adding and removing it, things work as expected:
<Splitpanes on:resized={resize}>   <Pane size={initialPaneSize} >     <canvas id="renderCanvas" touch-action="none" bind:this={canvas}> </canvas>     <!-- <canvas id="renderCanvas" touch-action="pan-x pan-y pinch-zoom" bind:this={canvas}> </canvas> -->     <TurtleInfo/>   </Pane>   <Pane>     <LSExplorer/>   </Pane>   <Pane size={sizeExPane} >     <Examples/>   </Pane> </Splitpanes>

I will address it as soon as I find time.
I plan to update the component to Svelte 5 soon.
We will leave the ticket open for further discussion.


Add set_feature_users method

This method simply replace the users of a given feature with a given array.

https://github.com/fetlife/rollout/pull/123


Output (aggregated and as seperate files) now in "lib" folder

instead of "bin".

Bower release now has the same file structure as the npm release.

Fixes #122
Fixes #115

 You should sign our Contributor License Agreement in order to get your pull request merged.


feat: log support output opentelemetry info

Codecov Report

Merging #6 (ece95e6) into master (3a9c351) will decrease coverage by 3.53%.
The diff coverage is 60.71%.

@@            Coverage Diff             @@
##           master       #6      +/-   ##
==========================================
- Coverage   84.07%   80.54%   -3.54%
==========================================
  Files           6        6
  Lines         157      185      +28
==========================================
+ Hits          132      149      +17
- Misses         20       30      +10
- Partials        5        6       +1

Impacted Files
Coverage Δ

zap.go
82.35% <60.71%> (-10.63%)
:arrow_down:

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 3a9c351...ece95e6. Read the comment docs.


Unsecured JWT

Summary
RFC 7519 section 6.1 specifies Unsecured JWTs with algorithm none:
https://www.rfc-editor.org/rfc/rfc7519#section-6
Steps to reproduce
Try encoding using algorithm none:
> jwt encode --alg=none '{"role": "my-role"}'
error: The following required arguments were not provided:
    --secret <SECRET>

USAGE:
    jwt encode --secret <SECRET> --alg <ALGORITHM> <JSON>

For more information try --help

And decoding using the JWT from the section 6.1 of the spec.
> jwt decode 'eyJhbGciOiJub25lIn0.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.'
The JWT provided is invalid because Error(Json(Error("unknown variant `none`, expected one of `HS256`, `HS384`, `HS512`, `ES256`, `ES384`, `RS256`, `RS384`, `RS512`, `PS256`, `PS384`, `PS512`", line: 1, column: 13)))

Expected behavior
The command jwt encode --alg=none should create a valid unsecured JWT and jwt decode should be able to parse unsecured JWTs.
Instead of jwt encode --alg=none the CLI could also expose this functionality via jwt encode --unsecured to make the security implications more obvious.
Additionally, jwt decode could also require an --unsecured argument and throw a validation error if not provided when decoding an unsecured JWT.

At the moment, this isn't possible until jsonwebtoken accepts None as an algorithm

Considering jsonwebtoken has that issue as a closed:wontfix, and they give an easy solution, I don't see how that'a s blocker.
For alg none, it's a simple base64 decode. Since jsonwebtoken has a use case where they believe encode/decode of none is a footgun, this cli tool should just implement it "natively". For the use case of this tool, needing to run a separate tool (base64 -d for example) depending on the alg, is quite annoying.
thanks

Thanks, @notrobpike. I'm not sure how much time I'll have to work on this, so if anyone would like to submit a PR, I'd be happy to review it.

thanks. if i were familiar with rust I'd work up a PR. hopefully someone out there is motivated.


Add Pinning

It will be of great use, if we can pin some important files or folders in the panel while coding for easy access

For files, are you familiar with the pinned tabs feature?
https://code.visualstudio.com/docs/editor/custom-layout#_pinned-tabs

Previously #76302, which points to #76904

Did you try using an extension such as https://marketplace.visualstudio.com/items?itemName=howardzuo.vscode-favorites?


Update dependency sinatra-contrib to v4

This PR contains the following updates:

Package
Update
Change

sinatra-contrib (source)
major
"~> 3.0" -> "~> 4.0"

Release Notes

sinatra/sinatra (sinatra-contrib)
v4.0.0
Compare Source

New: Add support for Rack 3 (#1857)

Note: you may want to read the Rack 3 Upgrade Guide

Require Ruby 2.7.8 as minimum Ruby version (#1993)

Breaking change: Drop support for Rack 2 (#1857)

Note: when using Sinatra to start the web server, you now need the rackup gem installed

Breaking change: Remove the IndifferentHash initializer (#1982)

Breaking change: Disable session_hijacking protection by default (#1984)

Breaking change: Remove Rack::Protection::EncryptedCookie (#1989)

Note: cookies are still encrypted (by [Rack::Session::Cookie][Rack::Session::Cookie])

v3.2.0
Compare Source

New: Add #except method to Sinatra::IndifferentHash (#1940)

New: Use Exception#detailed_message to show backtrace (#1952)

New: Add Sinatra::HamlHelpers to sinatra-contrib (#1960)

Fix: Add base64 to rack-protection runtime dependencies (#1946)

Fix: Avoid open-ended dependencies for sinatra-contrib and rack-protection (#1949)

Fix: Helpful message when Sinatra::Runner times out (#1975)

Fix: Ruby 3.3 + Bundler 2.5 compatibility (#1975)

v3.1.0
Compare Source

New: Add sass support via sass-embedded #1911 by なつき

New: Add start and stop callbacks #1913 by Jevin Sew

New: Warn on dropping sessions #1900 by Jonathan del Strother

New: Make Puma the default server #1924 by Patrik Ragnarsson

Fix: Remove use of Tilt::Cache #1922 by Jeremy Evans (allows use of Tilt 2.2.0 without deprecation warning)

Fix: rack-protection: specify rack version requirement #1932 by Patrik Ragnarsson

v3.0.6
Compare Source

Fix: Add support to keep open streaming connections with Puma #1858 by Jordan Owens

Fix: Avoid crash in uri helper on Integer input #1890 by Patrik Ragnarsson

Fix: Rescue RuntimeError when trying to use SecureRandom #1888 by Stefan Sundin

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: Gemfile.lock
Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies...

Could not find compatible versions

Because sinatra-contrib >= 4.0.0 depends on sinatra = 4.0.0
  and Gemfile depends on sinatra ~> 3.0,
  sinatra-contrib >= 4.0.0 cannot be used.
So, because Gemfile depends on sinatra-contrib ~> 4.0,
  version solving has failed.


Allow indexing turned off by default

Description of problem
Every instance of DNN I set up, I always forget to turn off 'allow indexing' for Activity feed and its children. This is not perfect for SEO.
Description of solution
Is it possible to have the radio button for Allow indexing turned off by default, just for these pages?
Affected version

[x] 9.2.2
[x] 9.2.1
[x] 9.2
[x] 9.1.1
[ ] 9.1
[ ] 9.0

you would need to modify the default website template.

It looks to me like this is a matter of site owner preference and it can be easily modified in the default template in a multi-site setup, etc. I am closing this issue but if there is a general feeling that the default should be changed, or if someone was about to offer a PR for this, feel free to comment.


go 1.15 compiler crashes in ssa: isNonNegative bad type

What version of Go are you using (go version)?

$ go version
go version go1.15 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/jon/.cache/go-build"
GOENV="/home/jon/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/jon/.go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/jon/.go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/jon/Downloads/go1.15"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/jon/Downloads/go1.15/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/jon/tmp/nes/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build689779029=/tmp/go-build -gno-record-gcc-switches"

What did you do?
The go 1.15 compiler crashes with
isNonNegative bad type

goroutine 12 [running]:
cmd/compile/internal/ssa.Compile.func1(0xc000958f08, 0xc000911600)
        /usr/local/go/src/cmd/compile/internal/ssa/compile.go:48 +0xa5
panic(0xbd0460, 0xd42470)
        /usr/local/go/src/runtime/panic.go:969 +0x175
cmd/compile/internal/ssa.isNonNegative(0xc001050278, 0x69b814)
        /usr/local/go/src/cmd/compile/internal/ssa/prove.go:1337 +0x3eb
cmd/compile/internal/ssa.isNonNegative(0xc00104e528, 0xc001abe180)
        /usr/local/go/src/cmd/compile/internal/ssa/prove.go:1377 +0x95
cmd/compile/internal/ssa.(*factsTable).isNonNegative(0xc001abe180, 0xc00104e528, 0x8ff)
        /usr/local/go/src/cmd/compile/internal/ssa/prove.go:573 +0x2f
cmd/compile/internal/ssa.addBranchRestrictions(0xc001abe180, 0xc001084ee8, 0x1)
        /usr/local/go/src/cmd/compile/internal/ssa/prove.go:980 +0xff
cmd/compile/internal/ssa.prove(0xc000911600)
        /usr/local/go/src/cmd/compile/internal/ssa/prove.go:872 +0x11c5
cmd/compile/internal/ssa.Compile(0xc000911600)
        /usr/local/go/src/cmd/compile/internal/ssa/compile.go:93 +0x9d1
cmd/compile/internal/gc.buildssa(0xc000865340, 0x1, 0x0)
        /usr/local/go/src/cmd/compile/internal/gc/ssa.go:460 +0xd25
cmd/compile/internal/gc.compileSSA(0xc000865340, 0x1)
        /usr/local/go/src/cmd/compile/internal/gc/pgen.go:317 +0x5d
cmd/compile/internal/gc.compileFunctions.func2(0xc001462420, 0xc00048ef70, 0x1)
        /usr/local/go/src/cmd/compile/internal/gc/pgen.go:382 +0x4d
created by cmd/compile/internal/gc.compileFunctions
        /usr/local/go/src/cmd/compile/internal/gc/pgen.go:380 +0x129

What did you expect to see?
My program compiles fine with go 1.14.7, go 1.15 should work the same.
At the moment I cannot reduce my program to something small enough to include in this bug report, I am still working on that so I will update this bug with a reproducing test case. I have run git bisect on the golang git however and found the issue is due to
commit 5fac45a320561b45b52cdcae933882a70699a21d (refs/bisect/bad)
Author: Josh Bleecher Snyder<EMAIL_ADDRESS>Date:   Mon Mar 9 06:37:49 2020 -0700

    cmd/compile: use only bit patterns in isNonNegative

    CL 212777 added a check to isNonNegative
    to return true for unsigned values.
    However, the SSA backend isn't type safe
    enough for that to be sound.
    The other checks in isNonNegative
    look only at the pattern of bits.
    Remove the type-based check.

    Updates #37753

    Change-Id: I059d0e86353453133f2a160dce53af299f42e533
    Reviewed-on: https://go-review.googlesource.com/c/go/+/222620
    Run-TryBot: Josh Bleecher Snyder<EMAIL_ADDRESS>    TryBot-Result: Gobot Gobot<EMAIL_ADDRESS>    Reviewed-by: Keith Randall<EMAIL_ADDRESS>
diff --git a/src/cmd/compile/internal/ssa/prove.go b/src/cmd/compile/internal/ssa/prove.go
index 4788f2d803..12c2580c95 100644
--- a/src/cmd/compile/internal/ssa/prove.go
+++ b/src/cmd/compile/internal/ssa/prove.go
@@ -1305,9 +1305,9 @@ func isNonNegative(v *Value) bool {
        if !v.Type.IsInteger() {
                panic("isNonNegative bad type")
        }
-       if !v.Type.IsSigned() {
-               return true
-       }
+       // TODO: return true if !v.Type.IsSigned()
+       // SSA isn't type-safe enough to do that now (issue 37753).
+       // The checks below depend only on the pattern of bits.

Thanks for reporting! When you have a stand-alone test case, even if it's not fully minimized, please do share it. If you need help narrowing things down, let me know. E.g. if you modify the compiler to print v.Block.Func.Name just before the panic, that should let you get down to a single function quickly.

package main

type CPUState struct {
    Status byte
}

func (cpu *CPUState) setBit(bit byte, set bool){
    if set {
        cpu.Status = cpu.Status | bit
    } else {
        cpu.Status = cpu.Status & (^bit)
    }
}

func (cpu *CPUState) getBit(bit byte) bool {
    return (cpu.Status & bit) == bit
}

func (cpu *CPUState) SetZeroFlag(zero bool){
    cpu.setBit(byte(0x2), zero)
}

func (cpu *CPUState) SetCarryFlag(set bool){
    cpu.setBit(byte(0x1), set)
}

func (cpu *CPUState) GetCarryFlag() bool {
    return cpu.getBit(byte(0x1))
}

func (cpu *CPUState) SetNegativeFlag(set bool) {
    cpu.setBit(byte(1 << 7), set)
}

func (cpu *CPUState) messedup(value byte) byte {
    var carryBit byte
    if cpu.GetCarryFlag() {
        carryBit = 1
    }

    newCarry := (value & (1<<7)) == (1<<7)
    out := (value << 1) | carryBit

    cpu.SetCarryFlag(newCarry)
    cpu.SetNegativeFlag(int8(out) < 0)
    return out
}

func main(){
}

Hopefully this is small enough, but I think it can be reduced further if necessary.

That’s great, thanks! We can take it from here.

@gopherbot please open a backport issue for 1.14. This is a compiler crash on valid input, with no obvious workaround.

@josharian Does this also need to be backported to 1.15?  Now that 1.15 is out, the 1.15 release branch gets separate backport issues too.  Thanks.

Thanks. That was a mistake on my part. Only 1.15 needs it.


Multi Arm Bandit

I was going through the examples of this package to find out how it can be used to solve multi-arm bandit problems, but I was not able to find any such examples. Is it possible to have an example to solve multiarm bandit problems with this package? That will be really helpful.

It would be indeed. We do have BanditParameter thanks to @ekalosak , but no examples or tutorials of using it. Eric, since you were the one to kindly contribute this parameter, maybe you would be able to share some realistic example of solving some problem with it? Not asking for a PR (although that would be lovely!), but merely here to help @garitrik . Thanks!

I was using the bandit parameter in the param space of BayesianOptimisationLoop class. But when I tried running the loop there was an attribute error -' 'BanditParameter' object has no attribute 'dimensionality' ' as the BayesianOptimisationLoop was trying to use the context manager. So, I realized I am not able to use the bandit parameter properly to solve a multi-arm bandit problem.

If you could post a code sample, maybe we could look into it. It can be a reasonable bug in Emukit

from emukit.core.bandit_parameter import  BanditParameter
param = BanditParameter('Maxt',sensor_coordinates)
#'sensor_coordinates' is a 2d numpy array containing the coordinates of sensors
X=np.zeros((data_points,2)) #data_points are no of data points number of initial points that are collected jointly before start running the optimization.
Y=np.zeros(data_points)
for i in range (data_points):
X[i]=sensor_coordinates[i]
Y[i]=f(sensor_coordinates[i]) #funtion f returns a float value corresponding to the particular sensor.
Y_init = Y[:, None]
arms_bandit = []
arms_bandit+=tuple(map(tuple, X))
bandit=np.asarray(arms_bandit)
model_gpy = GPRegression(bandit,-Y_init)  # Train and wrap the model in Emukit
model_emukit = GPyModelWrapper(model_gpy)
dynamic_lcb = DynamicNegativeLowerConfidenceBound(model = model_emukit,input_space_size=100, delta=0.2)
#For acquisition function I chose the DynamicNegativeLowerConfidenceBound.
#acquisition_optimizer = RandomSearchAcquisitionOptimizer(param, 1)
bayesopt_loop_cust = BayesianOptimizationLoop(
model = model_emukit,
space = param,
acquisition = dynamic_lcb,
batch_size = 1

)
bayesopt_loop_cust.run_loop(func.f, 10)
#but when running the loop the following error is coming up.
"
44         all_idxs = list(range(space.dimensionality))
45         self.non_context_idxs = [idx for idx in all_idxs if idx not in self.context_idxs]
46
AttributeError: 'BanditParameter' object has no attribute 'dimensionality'
"
And I don't think I can use banditparameter as an input to the ParameterSpace then maybe a type error will occur because it expects list as an input. So, I am just stuck in this loop.   :(  :(

I think in the bandit parameter changing the name of the property from dimension to dimensionality will solve the Attribute error.


would like option to change size of panes in MethodBrowse (and others)

From the scroll bar you can tell that the method source is not all visible and in these cases it would be useful to drag the source pan up to the near the top of the window ... just a reminder if it is already on your todo list ... Sorta wanted you to know that I'm putting JfP to good use and it is now running on rogue, so I will be prepared to demo ...

Spec2's ability to resize panes is not stellar. I was able to put splitters between the panes on the method list browser and other places that use a table layout like the console. It might be good enough.
The browser is problematic but I did put splitters between the project/package panes & the category/method panes. The latter don't work nicely but may be better than nothing.
Leaving open for future work.
https://github.com/GemTalk/JadeiteForPharo/commit/34f0900d836b2a8d0ae6eab2563b786aa5bc086a

Checkin: https://github.com/GemTalk/JadeiteForPharo/commit/8f0a20951016c54488cf0b60046891a638c9cf4f
JadeiteBrowserPresenter>>initializePresenters comment which explains how I finally got browser pane resizing to (kind of) finally work:
"in order to get scroll bars to (kind of) work, create a paned layout with
project & package list. Then create a nother paned layout with the first
paned layout + the class list, etc.  Then add the final paned layout to the
upper box layout. ... Seems unnecessarily complicated. Would be better if
I could just add a resizer between two arbitrary widgets."

a slider would be nice in the method browser panes ...

debugger has the same lack of slider and limited code visibility as method browser

Added slider to method implementors window https://github.com/GemTalk/JadeiteForPharo/commit/c962595a25976f4154d565f0949e285216cc39cb

reopening ... please add the changes browser to the list of windows that need a slider, please.

BTW, I really like the look of the changes view ...
commit ids:
JadeiteForPharo e94a4bf
PharoGemStoneFFI 3575de4
RemoteServiceReplication 371ae8e
---------------------------------------------
RowanClientServices bb1b4a9


[A/B]: main nav free-trialf/talk-to-sales button

What are your variants?
control: current state, free-trial button, linking to the sign-up page
test: instead of sign-up, talk-to-sales.
@ZJvandeWeg @Hasmin-AC we need to decide if we link to /contact-us or /book-demo for the test variant. @zackwasli suggested contact-us as he think it would be less of a commitment for the potential customer. I agree, and we now also have a link to book-demo in that page. WDYT?
What does success look like?

Higher CTR of the test variant, and increased MQLs through the contact us form.

Approved.

I think we should still have a book a demo button somewhere on our website, but are you saying that the CTA should be consistent on each page?

@zackwasli This is about the main nav:

To proposed new way:

@Yndira-FlowForge is worried a page can have multiple links to the Contact us and to book a demo. I don't think that's an issue at this stage and we should just make the change


Investigate how we can remove more windows related crates when vendoring

See discussion at #513 , we do have still some windows crates that we ship when vendoring, but we might be able to remove them.
If we can't, we should consider opening issues on other projects so that the windows target becomes optional.

I found cargo-vendor-filterer command by chance and it looks like it does exactly what we want:
cargo install cargo-vendor-filterer
rm -rf vendor
cargo vendor-filterer --platform='*-unknown-linux-gnu'


Plugin registration through new Chart constructor doesn't work

Hello,
I have an issue, when try to register plugin through Chart class constructor. It simply doesn't work. But if you use Chart.register function everything works fine
Versions:
browser: Chrome 95.0.4638.54
chart.js: 3.5.1
chartjs-plugin-annotation: 1.0.2
STR:

Create simple chart with dataset and options from docs example
Try to register plugin through config.options.plugin in new Chart() constructor

AR:
Plugin doesn't work
Here is the sandbox, where you can see it: https://codesandbox.io/s/cocky-jackson-w2eot?file=/index.js

@LeeLenaleee, tuvm. I've missed this warning (idk how, but i did it)


WMR

are you planning to make a version for WMR reverb g2 ?

I'm not planning on it. Unfortunately, I don't own the hardware, and even if it did, it doesn't have any officially supported way of accessing the camera images.
Apparently there is a fork of mbuccias WMR passthrough layer with G2 support though:
https://github.com/Ultrasic/WMR-Passthrough/tree/feature/reverb-g2-support


Unable to update subreddit sidebar (description)

Describe the bug
To Reproduce
Steps to reproduce the behavior:

invoke  reddit.subreddit(subreddit).mod.update(description=text)

Expected behavior
The sidebar of the subreddit should be updated in the old design.
System Info

OS: any
Python: 3.7/3.8
PRAW Version: 7.1.0

I think the issue was introduced in 18d0c04f8385108620d6f8434a334db0591e9c70 because of #1452
The new (undocumented) API updates  welcome_message_enabled and welcome_message_text but does not handle description, probably because this field is not present in the new redesign (mod settings and UI).
I'm sorry, but I do not have a proposal solution, probably on Reddit side one API for all fields is not present.

As a workaround for description, you can edit r/subreddit/wiki/config/sidebar

This is an error with the latest version? Am I correct? What if you downgrade to the old version and try the same thing.
It may work

It works with praw<7 and it does not works with 7.1 and above. I have not tried with 7.0 (it should work, the change is in 7.1)


[bug] 2.0 alpha requires setting dangerousRemoteDomainIpcAccess to access tauri.localhost

Describe the bug
I updated my tauri dependency to 2.0.0-alpha and made necessary changes for the new plugin architecture. Everything builds and the debug build works. However, the release build does not. Following Using the Inspector in Production, I found that the error is
Uncaught (in promise) Scope not defined for window `main` and URL `https://tauri.localhost/`. See https://tauri.app/v1/api/config/#securityconfig.dangerousremotedomainipcaccess and https://docs.rs/tauri/1/tauri/scope/struct.IpcScope.html#method.configure_remote_access

Once I added these to Tauri.toml, the release build works:
[[tauri.security.dangerousRemoteDomainIpcAccess]]
domain = 'tauri.localhost'
windows = ['main']
plugins = ['clipboard']

Why is accessing "tauri.localhost" is now counted as "external domains" in 2.0, but not in 1.0? Is this a bug?
Reproduction

Create the sample app with pnpm create tauri-app --alpha
Replace the content of main.ts with this:

import { invoke } from '@tauri-apps/api/tauri'
invoke('test')

Build with pnpm tauri build --debug
Launch app, go to DevTools and check the Console

Expected behavior
No error
Platform and versions
[✔] Environment
    - OS: Windows 10.0.22621 X64
    ✔ WebView2: 114.0.1823.58
    ✔ MSVC: Visual Studio Community 2022
    ✔ rustc: 1.70.0 (90c541806 2023-05-31)
    ✔ Cargo: 1.70.0 (ec8a8a0ca 2023-04-25)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
    - node: 18.16.1
    - pnpm: 8.6.3
    - npm: 9.5.1

[-] Packages
    - tauri [RUST]: 2.0.0-alpha.10
    - tauri-build [RUST]: 2.0.0-alpha.6
    - wry [RUST]: 0.28.3
    - tao [RUST]: 0.19.1
    - @tauri-apps/api [NPM]: 2.0.0-alpha.5
    - @tauri-apps/cli [NPM]: 2.0.0-alpha.10

[-] App
    - build-type: build
    - CSP: unset
    - distDir: ../dist
    - devPath: http://localhost:1420/
    - framework: Svelte
    - bundler: Vite

Stack trace
No response
Additional context
No response

Apparently, https://github.com/tauri-apps/tauri/issues/7176 tries to tackle this issue for Android. Windows also seems to use the "tauri.localhost" URL. The related function is https://github.com/tauri-apps/tauri/blob/dev/core/tauri/src/manager.rs#L384


Create basic About screen

NOT READY TO BE MERGED! Need to add some links.


The attribute "v-bind:value" is being removed with no i18n

Overview of the issue
The attribute v-bind:value is being removed when generating an app with no i18n.
Motivation for or Use Case
I think the attribute v-bind:value is required no matter if the application use or use not i18n
Reproduce the error
Simply generate the entities from the jdl
Related issues
Suggest a Fix
The regexp /(v-text=".*?")|(v-bind:placeholder=".*?")|(v-html=".*?")|(v-bind:title=".*?")|(v-bind:label=".*?")|(v-bind:value=".*?")|(v-bind:html=".*?")/g should include (v-bind:value="\$t.*?") in generators/utils.js.
That way, only the attribute v-bind:value that calls $t() will be removed.
JHipster Version(s)
v5.8.1
JHipster configuration, a .yo-rc.json file generated in the root folder

.yo-rc.json file

{
  "generator-jhipster": {
    "promptValues": {
      "packageName": "com.mycompany.myapp"
    },
    "jhipsterVersion": "5.8.1",
    "applicationType": "monolith",
    "baseName": "jhipster",
    "packageName": "com.mycompany.myapp",
    "packageFolder": "com/mycompany/myapp",
    "serverPort": "8080",
    "authenticationType": "jwt",
    "cacheProvider": "ehcache",
    "enableHibernateCache": true,
    "websocket": false,
    "databaseType": "sql",
    "devDatabaseType": "h2Disk",
    "prodDatabaseType": "mysql",
    "searchEngine": false,
    "messageBroker": false,
    "serviceDiscoveryType": false,
    "buildTool": "maven",
    "enableSwaggerCodegen": false,
    "jwtSecretKey": "bXktc2VjcmV0LXRva2VuLXRvLWNoYW5nZS1pbi1wcm9kdWN0aW9uLWFuZC10by1rZWVwLWluLWEtc2VjdXJlLXBsYWNl",
    "testFrameworks": [],
    "jhiPrefix": "jhi",
    "entitySuffix": "",
    "dtoSuffix": "DTO",
    "otherModules": [
      {
        "name": "generator-jhipster-vuejs",
        "version": "1.0.0-beta.0"
      }
    ],
    "enableTranslation": false,
    "clientPackageManager": "npm",
    "blueprint": "generator-jhipster-vuejs",
    "blueprintVersion": "1.0.0-beta.0"
  },
  "generator-jhipster-vuejs": {
    "jhipsterVersion": "5.8.1",
    "applicationType": "monolith",
    "baseName": "jhipster",
    "clientFramework": "vue",
    "useSass": true,
    "clientPackageManager": "npm",
    "enableTranslation": false
  }
}

JDL for the Entity configuration(s) entityName.json files generated in the .jhipster directory

JDL entity definitions

entity BankAccount {
  name String required,
  balance BigDecimal required
}
entity Label {
  label String required minlength(3)
}
entity Operation {
  date DateTime required,
  description String,
  amount BigDecimal required
}
relationship OneToMany {
  BankAccount{operation} to Operation{bankAccount(name)}
}
relationship ManyToOne {
  BankAccount{user(login)} to User
}
relationship ManyToMany {
  Operation{label(label)} to Label{operation}
}

paginate Operation with infinite-scroll

Environment and Tools
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
git version 2.20.1
node: v11.8.0
npm: 6.5.0
Docker version 18.06.1-ce, build e68fc7a
docker-compose version 1.22.0, build f46880f

[x] Checking this box is mandatory (this is just to show you read everything)

Is it closed by #266?

Nope, I think we need to update cleaning regexp when noi18n is selected. Here is the line involved : https://github.com/jhipster/jhipster-vuejs/blob/319a62039ddfd623a7ee7951b82e55d7cc9047ab/generators/utils.js#L106


Luscious.net ripper doesn't work

Ripme version: 1.7.90
Java version: 1.8.0_221-b11
Operating system: Windows 10 1903

Exact URL you were trying to rip when the problem occurred: https://members.luscious.net/albums/bikini_258865/
Please include any additional information about how to reproduce the problem: I didn't touch the settings since I use the software.

Expected Behavior
Must download the collection.
Actual Behavior
Error: No image found at : website. Does only that with Luscious.net because it worked fine with PornHub.

Have you tried with old.luscious.net?


Location Permissions

User is still prompted for location permissions even when false is passed to collect location in BMS Analytics initialize.
I added a check for location enabled in the if condition to avoid using the location api when not needed.

Coverage decreased (-0.1%) to 72.602% when pulling b31a0d78812082ed8601a0c68322b2fced8ce555 on bigkinglsu:location-permission-patch into 370475c350187d552bb2fb74e14de7a9169cc719 on ibm-bluemix-mobile-services:master.


(other):implemented lazy-load and error boundary

Fixes #580
Changes:

Installed package: react-error-boundary
Implemented suspense
Improved efficiency of the Error view

@narayan954 ok

@narayan954 I think everything is ok now.

@narayan954 I think everything is ok now.

Thanks for fixing :)

Upgrading to level 3 for adding error boundary as well.

@narayan954 thanks


Dev Test: circuit-construction-kit-dc/1.0.0-dev.166

In https://github.com/phetsims/QA/issues/48#issuecomment-329846175 @phet-steele said:

@samreid we could do with a new dev version when you get the chance. It doesn't appear that https://github.com/phetsims/circuit-construction-kit-dc/issues/96 is fixed in master yet.

https://github.com/phetsims/circuit-construction-kit-dc/issues/96 is fixed and https://github.com/phetsims/circuit-construction-kit-common/issues/404 is fixed pending review.  I published a new dev version here:
SEE BELOW
Reassigned to @ariel-phet so he is aware of the status of CCK, and to set priority/schedule for this 2nd dev test.

In https://github.com/phetsims/axon/issues/140 @jessegreenberg identified an issues that may lead to a memory leak.  So I'm going to post dev.162 here and update this issue to refer to it:
http://www.colorado.edu/physics/phet/dev/html/circuit-construction-kit-dc/1.0.0-dev.162/circuit-construction-kit-dc_en.html

@phet-steele definitely top priority

@phet-steele can I get a status update on this issue?

@samreid it's coming along pretty well. You do want https://github.com/phetsims/circuit-construction-kit-dc/issues/62 checked, right?

Yes please.

@samreid, can QA get a dev.166 and a new issue (so we can stop testing on master)?

http://www.colorado.edu/physics/phet/dev/html/circuit-construction-kit-dc/1.0.0-dev.166/circuit-construction-kit-dc_en.html

The non-deferred issues are fixed pending testing, back to you @phet-steele.

@samreid
RC please 🔋 ⚡ 💡 🌞

RC is out.


[FEATURE REQ] Support Password - Less connection for Azure Service Bus JMS API in Spring

Is your feature request related to a problem? Please describe.
For Spring Cloud Azure 4.x, we started to support passwordless connection to 1st and 3rd party Azure Services. So far, we have provided passwordless connection support to Azure Event Hubs for Kafka, Azure Database for MySQL, and Azure Database for PostgreSQL. We want to enlarge the scope to support JMS.
Describe the solution you'd like
With Spring, users can use JmsTemplate, @JmsListener, ErrorHandler that Spring-Jms provides. And Spring Boot also supports autoconfiguration for these. So this feature request is when users include these dependencies in their applications:
implementation 'org.springframework:spring-jms:5.3.10'
implementation 'org.apache.qpid:qpid-jms-client:2.1.0'

Or
implementation 'org.springframework.boot:spring-boot-starter:2.7.6'
implementation 'org.springframework:spring-jms:5.3.10'
implementation 'org.apache.qpid:qpid-jms-client:2.1.0'

They only need to add one Spring Cloud Azure library or starter, the authenticate with Azure AD can work. Users don't need to provide any key or connection string.
Describe alternatives you've considered
N/A
Additional context
N/A

we should have a warnning log when this feature is out and users still use connection string, to help build a more secure application

The PoC https://github.com/Azure/azure-servicebus-jms/pull/28.

The link will detach once the token expires
2023-01-13 09:40:04.264 WARN 1 --- [ontainer#0-2029] o.s.j.l.DefaultMessageListenerContainer : Setup of JMS message listener invoker failed for destination 'mailbox' - trying to recover. Cause: The link 'qpid-jms:receiver:ID:b4b49ac9-8be3-47bd-a93f-bdce5e259cb1:71:6:1:mailbox' is force detached. Code: RenewToken. Details: ExpiredToken: The token is expired. TrackingId:2ee30de6-bf61-44d6-bcf8-2cb8ca9732e6_G3S1, SystemTracker:NoSystemTracker, Timestamp:2023-01-13T09:40:04. TrackingId:46072fb695494dbb9071a023825cddc3_G3S1, SystemTracker:gateway5, Timestamp:2023-01-13T09:40:04 [condition = amqp:link:detach-forced]

The resource scopes in ServiceBus is the same for different Clouds: "https://servicebus.azure.net/.default".

This feature has been released for Spring Boot 2.x and 3.x, closing this issue now.


LIBUSB_ERROR_IO on .controlTransfer

I am trying to send 3 bytes to a device to set the LCD display to the values I want. When I sniff the usb protocol with BUSDOG, I see the 3 bytes go across from another program. When I try to replicate with the below code, it runs but does not actually send the control transfer. When I step into .controlTransfer, everything works until the error exception is caught at line 175. The error message is LIBUSB_ERROR_IO. This is on a relatively fresh Windows 10 installation, node v16.13.2,  npm 8.1.2<EMAIL_ADDRESS>Attached is the code snippet renamed from .js to .txt so i could attach. Please help!
test_controltransfer.txt

问题解决了？

It doesn't look like you are waiting for the control transfers to finish before running another one. Use the callback to chain your calls or promisify the transfers and await them.
If you are accessing a HID device, recommend you try https://github.com/node-hid/node-hid

Closing this issue due to inactivity, please create a new issue as required.


Caching for /list endpoint is not cleared after 1 hour

The /list endpoint never updates; it shows data from when it was first accessed. Seems like the cache is not resetting every hour. Docs mention 1 hour for /list endpoint.

seems the same problem still exists .. without clearing cache this counter is not usable :( @omegion


Feature Request: Operation Versioning

Context
In complex API ecosystems, different versions of operations are often required to support backward compatibility and evolution. This feature request aims to support operation versioning in GraphQL Mesh.
Currently, GraphQL Mesh merges all versions of an operation into a single query, which can result in conflicts and loss of version-specific details. By enabling operation versioning, each version of an operation will be exposed as a distinct query in the generated supergraph. This allows clients to explicitly request specific API versions, ensuring compatibility and leveraging new features without breaking existing functionality.
Motivational Example
Given the following swaggers:
suppliers_v1.json;
{
  "openapi": "3.0.0",
  "info": {
    "title": "Suppliers API",
    "version": "1.0.0"
  },
  "paths": {
    "/suppliers/{id}": {
      "get": {
        "operationId": "getSupplierById",
        "summary": "Get a supplier by ID",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "The supplier ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Supplier"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Supplier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          }
        }
      }
    }
  }
}

suppliers_v2.json;
{
  "openapi": "3.0.0",
  "info": {
    "title": "Suppliers API",
    "version": "2.0.0"
  },
  "paths": {
    "/suppliers/{id}": {
      "get": {
        "operationId": "getSupplierById",
        "summary": "Get a supplier by ID",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "The supplier ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Supplier"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Supplier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "address": {
            "type": "string"
          }
        }
      }
    }
  }
}

And the following mesh.config.ts file;
import { defineConfig } from "@graphql-mesh/compose-cli";
import { loadOpenAPISubgraph } from "@omnigraph/openapi";

export const composeConfig = defineConfig({
  subgraphs: [
    {
      sourceHandler: loadOpenAPISubgraph("suppliers@1", {
        source: "./suppliers_v1.json",
      }),
    },
    {
      sourceHandler: loadOpenAPISubgraph("suppliers@2", {
        source: "./suppliers_v2.json",
      }),
    },
  ],
});

The supergraph.graphql output by Mesh will only have one query: getSupplierById.
We propose to add a operationVersioning parameter to the defineConfig, so that, by using it in the mesh.config.ts file like this;
import { defineConfig } from "@graphql-mesh/compose-cli";
import { loadOpenAPISubgraph } from "@omnigraph/openapi";

export const composeConfig = defineConfig({
  subgraphs: [
    {
      sourceHandler: loadOpenAPISubgraph("suppliers@1", {
        source: "./suppliers_v1.json",
      }),
    },
    {
      sourceHandler: loadOpenAPISubgraph("suppliers@2", {
        source: "./suppliers_v2.json",
      }),
    },
  ],
  operationVersioning: true,
});

The supergraph.graphql output by Mesh will now have two queries: getSupplierById_v1 and getSupplierById_v2 which will respectively return the distinct objects Supplier_v1 and Supplier_v2.

GraphQL Mesh will automatically try to merge types and fields. In order to prevent conflicts, transforms can help in my opinion;
https://the-guild.dev/graphql/mesh/v1/transforms/prefix
But let me know if I miss something with your case.


TCPC running against TCPS

The tcps example from the README.md works fine, now I'm wondering what would be neede to use the tcpc client against the tcps server.  Could you provide an simple example on how to use  ... are there multiple tap devices needed?

Yes, if you want tcps.exe and tcpc.exe to communicate, use different tap devices for each (e.g. tap0 and tap1).
Creating a bridge interface and adding two tap devices will allow packets to go back and forth between the tap devices.
Note that both tcps.exe and tcpc.exe use the same MAC address (00:00:5e:00:53:02) and IP address (<IP_ADDRESS>), so the code must be modified to set different values. These values are defined in test/test.h.

I tried the following:
sudo ip tuntap add mode tap user $USER name tap0
sudo ip tuntap add mode tap user $USER name tap1

sudo ip link add name br0 type bridge
sudo ip link set tap0 master br0
sudo ip link set tap1 master br0

sudo ip addr add <IP_ADDRESS>/24 dev br0
sudo ip link set dev tap0 up
sudo ip link set dev tap1 up
sudo ip link set dev br0 up

Copied test.h to test2.h and changed tcpc.c to use it.
#define ETHER_TAP_NAME    "tap1"
#define ETHER_TAP_HW_ADDR "00:00:5e:00:53:02"
#define ETHER_TAP_IP_ADDR "<IP_ADDRESS>"
#define ETHER_TAP_NETMASK "<IP_ADDRESS>"

Running both on differnt shells:
./tcps.exe <IP_ADDRESS>:7
./tcpc.exe <IP_ADDRESS>:7

I can see a few arp request goging forth and back in the end  the client fails with:
08:24:31.009 [E] tcp_connect: open error: 1 (core/tcp.c:1090)
08:24:31.010 [D] tcp_pcb_release: released, local=<IP_ADDRESS>:192, foreign=<IP_ADDRESS>:7 (core/tcp.c:200)
08:24:31.010 [E] main: sock_connect() failure (app/tcpc.c:144)

tcps.exe is available on <IP_ADDRESS>. (<IP_ADDRESS> is the address of br0)
./tcps.exe <IP_ADDRESS> 7

Note: If the bridge filter is enabled, IP packets will not be forwarded between bridge member tap devices. This can be disabled with the following command.
$ sudo sysctl net.bridge.bridge-nf-call-iptables=1

Thank you very much 👍


The reportdata API doesn't work correctly.

The actual output is as below. What document says looks the output is a text file but it actually looks like a gz compressed file.
{
"data": [
{
"ReportDatetime": "2019-05-20T08:00:00",
"ReportStatus": "Success",
"ReportLocation": "https://hardwareanalyticsprod.blob.core.windows.net/driver-reports-30038840/30038840_925_43334_201905200800.gz"
}
],
"errors": []
}
The bigger problem is if I try to get the gz file from the link specified in "ReportLocation", it just says ResourceNotFound. I doubt this API doesn't work at all.
Jesse Ahn
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d879ed43-026e-f068-5c18-8986273e184f
Version Independent ID: 055a847f-30ef-72c2-784e-ee68713d628d
Content: Get report data - Windows drivers
Content Source: windows-driver-docs-pr/dashboard/get-report-data.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @EliotSeattle
Microsoft Alias: shganesh

Hey Jesse,
This is normal.
I had experience with this one, and the URL that you've got here will simply not work in browser, due to the concern of security. The return error 404 is just to avoid leaking any private information that might risk the security.
So, this is by design of the Azure blob resource downloading. Since there's no security token in the URL, you'll need to supply authorization from the request header.
However, there're still problem on my side as well,  when I'm trying to download the report. :(
I've submit my problem to: https://github.com/microsoft/hpc-api/issues/1 and no one pickup yet.
I hope this can help you to go further with your project, and even skip the problem I have to get the final success, and we can discuss about the issue I have then.
Good luck and regards!
W.Y.

Hi @moolwalk (Jesse).
It's not clear why you're having this issue, as this account was previously onboarded. The support teams asks that you please go ahead and open a support case from https://support.microsoft.com/en-us/supportrequestform/83cdfd8d-c24a-fbe4-fb2a-3fead30613a9.
Thanks,
Eliot


Graph lines in tig don't render at all font sizes

Windows Terminal version (or Windows build number)
1.7.1033.0
Other Software
tig version 2.3.0 (inside WSL2, Ubuntu 18.04)
Steps to reproduce

Set the following as font settings:

            "fontFace": "Consolas",
            "fontSize": 8

open tig in a git repo on your WSL

Expected Behavior
What you see at fontsize 9:

Actual Behavior
At fontsize 8:

at fontsize 7:

at fontsize 6:

As you can see the exact lines that are missing differ based on the fontsize. I ran into this issue with fontsize 10 using this Ubuntu Mono Nerd Font, but as shown here it also reproduces with Consolas. One interesting thing is that all lines are visible with the Ubunutu font is that, on fontsize 8 and 10 all lines are visible, but on fontsize 9 not all are visible. So it's not just that the font is "too small" to display the lines.
I thought of commenting on this issue: https://github.com/microsoft/terminal/issues/909, but it seems unrelated after going through the comments there.

Thanks!
This looks like either /dup #7927 (if the font has bitmap strikes) or /dup #6161 (if we try to draw them too small, they will be destroyed because they went below one pixel in size)


Incorporate suggested changes for tree views and list views

BEGINRELEASENOTES

In our last gsoc meeting on Aug 9, we discussed changing the views for ParticleId and Reco Tree.
In the case of ParticleId (and any view that is a list), there was the case that if not enough elements, when showing from left to right, it would be hard to visualize because are aligned to left. Instead, now it will be centered, so it's easier to view elements that are in the last row.
For the case of tree views, like RecoParticle Tree, there are a lot of elements that are not connected to anything, so they'll be in a large row. Instead, tree views are combined with list views, so those objects that aren't connected to anything, will show as a list, and later on, the tree.

ENDRELEASENOTES

Hi @brauliorivas,
I like the changes: :)
when trying particle ID list I get however halves of infoboxes on the right side:

Do you use width of the screen to determine number of elements in the row? Or this is just a coincidence?

when trying particle ID list I get however halves of infoboxes on the right side:

Oh, didn't see it coming. This new line would allow to add or not one last column, but making sure won't show the halve of the box.

Do you use width of the screen to determine number of elements in the row? Or this is just a coincidence?

Yes, I use the width of the screen.

Hi @brauliorivas,this looks nice now. merging this...


SA1000 should allow target typed new() without space

SA1000 should allow the target typed new() without a space in between the new and () as this is valid IMO.
See: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-9.0/target-typed-new

Duplicate of #3214


Add config for Blade Directives

Simple PR to move Directives to a config file that is registered with collect().
Config file offers an opinionated, clean, simple solution to adding directives.

[x] Add config file for directives
[x] Move @asset() directive to new config file
[x] Set trim_trailing_whitespace to false for *.md files :eyes:

This has been sitting a while. Do we have a good reason not to do this? Or some certain of it that doesn’t fail the tests? 👀

I talked with Craig about this. He wants to avoid doing anonymous functions inside of config files like this. I'm using it personally, but we can shelf this PR until acorn release.


Fix My Courses Tests in Sauce

Let's try to get these builds back to green!  A number of these changes are cleanup that needs t be done after the move to Polymer 3.  The actual fix is just moving the language build files into the src folder.  When they are outside this folder, Sauce stalls trying to load them and unrelated error messages are thrown for each test.

WOOT my courses not going to be super flaky?

WOOT my courses not going to be super flaky?

That's the hope!

oh my goodness thank you


Stalled Build: https://travis-ci.org/ManageIQ/manageiq/jobs/58807062

Build: https://travis-ci.org/ManageIQ/manageiq/jobs/58807062
Commit: https://github.com/ManageIQ/manageiq/commit/718014a34d9d43e1d7293f9daaee012970739c88
Error:

No output has been received in the last 10 minutes, this potentially indicates a stalled build or something wrong with the build itself.
The build has been terminated

@blomquisg Don't open tickets for separate stalled builds.  The stalled builds don't seem to have anything to do with our code, and are more on travis side from what it seems.  We should deal with them perhaps via the bot: https://github.com/ManageIQ/miq_bot/issues/41


Filter PII rather than removing headers entirely

It's often very useful to know what headers were passed, even without the value.  Currently the PII filter is removing the key and value entirely.  There shouldn't really be any security concern with passing the redacted header keys.  I'm currently hardcoding '[Filtered]' so that the display matches in the Sentry UI.  Ideally I would pass a null value, but that currently shows up as "" in Sentry.
An even better solution would be to provide a mechanism to inject a closure for applying PII redaction, so that people could do what they want if they don't like the default.  There are some problems in how the sentry-laravel package does its Service Provider configuration that make swapping those out much more difficult than need be (I'll open an issue on that project as well).
I want to also add that the Integration classes have some pretty bad design patterns.  Combined with the extensive use of final and private keywords, it makes fixes like this way more difficult than they need to be.
Example:
$keysToRemove = ['authorization', 'cookie', 'set-cookie', 'remote_addr'];
Things like that should be determined by config, not hard-coded into functions.  Combined with private instead of protected, it makes changes far more complicated than they should be.

There shouldn't really be any security concern with passing the redacted header keys

I agree 👍

An even better solution would be to provide a mechanism to inject a closure for applying PII redaction, so that people could do what they want if they don't like the default.

You can use the before_send option or a custom event processor to make changes to the event while enabling the send_default_pii option: in this way, you have full control over what to scrub and what not

Things like that should be determined by config, not hard-coded into functions.

In the SDK 1.x the list of keys to redact was configurable, however since then it has been decided that SDKs should not be responsible for data scrubbing besides a really minimal config and the work has instead been relegated to Relay. Since this is a Unified API-wide decision, there are no plans to go another way for this specific SDK

There shouldn't really be any security concern with passing the redacted header keys

I agree 👍

An even better solution would be to provide a mechanism to inject a closure for applying PII redaction, so that people could do what they want if they don't like the default.

You can use the before_send option or a custom event processor to make changes to the event while enabling the send_default_pii option: in this way, you have full control over what to scrub and what not

Things like that should be determined by config, not hard-coded into functions.

In the SDK 1.x the list of keys to redact was configurable, however since then it has been decided that SDKs should not be responsible for data scrubbing besides a really minimal config and the work has instead been relegated to Relay. Since this is a Unified API-wide decision, there are no plans to go another way for this specific SDK

You can use the before_send option or a custom event processor to make changes to the event while enabling the send_default_pii option: in this way, you have full control over what to scrub and what not

Things like that should be determined by config, not hard-coded into functions.

In the SDK 1.x the list of keys to redact was configurable, however since then it has been decided that SDKs should not be responsible for data scrubbing besides a really minimal config and the work has instead been relegated to Relay. Since this is a Unified API-wide decision, there are no plans to go another way for this specific SDK

Makes sense, but I would still argue that this line in RequestIntegration should pull from config.  If you don't think redacting PII is your library's job, that's understandable.  But if you are going to offer a solution, I don't personally see any reason it shouldn't be adjustable in config.
$keysToRemove = ['authorization', 'cookie', 'set-cookie', 'remote_addr'];
Anyway, for the scope of this PR, is the change to redact the headers acceptable?  Should it be null vs '[Filtered]'?  If there's appetite for this I'll fix the unit tests (they're just failing because they expect the old values).

You can use the before_send option or a custom event processor to make changes to the event while enabling the send_default_pii option: in this way, you have full control over what to scrub and what not

Things like that should be determined by config, not hard-coded into functions.

In the SDK 1.x the list of keys to redact was configurable, however since then it has been decided that SDKs should not be responsible for data scrubbing besides a really minimal config and the work has instead been relegated to Relay. Since this is a Unified API-wide decision, there are no plans to go another way for this specific SDK

Makes sense, but I would still argue that this line in RequestIntegration should pull from config.  If you don't think redacting PII is your library's job, that's understandable.  But if you are going to offer a solution, I don't personally see any reason it shouldn't be adjustable in config.
$keysToRemove = ['authorization', 'cookie', 'set-cookie', 'remote_addr'];
Anyway, for the scope of this PR, is the change to redact the headers acceptable?  Should it be null vs '[Filtered]'?  If there's appetite for this I'll fix the unit tests (they're just failing because they expect the old values).

I don't personally see any reason it shouldn't be adjustable in config

The reason is that there is already a tool more suitable and tailored for this kind of thing, which is Relay. Making this configurable besides a simple boolean will just mean that at some point another person will came and ask for more configuration, different configuration or whatever else and we don't want to open this Pandora's box.

is the change to redact the headers acceptable?

As I said before, I agree so that's a yes 😃

I don't personally see any reason it shouldn't be adjustable in config

The reason is that there is already a tool more suitable and tailored for this kind of thing, which is Relay. Making this configurable besides a simple boolean will just mean that at some point another person will came and ask for more configuration, different configuration or whatever else and we don't want to open this Pandora's box.

is the change to redact the headers acceptable?

As I said before, I agree so that's a yes 😃

Updated the unit tests to account for the changes.
Up to you guys, but I would suggest that if the guidance is to use Relay and there is not an intention to build out support for the existing 'send-default-pii' pattern, that pattern should be marked as deprecated,  and that information should be added to the documentation about using send-default-pii.
Thanks for your replies!

Updated the unit tests to account for the changes.
Up to you guys, but I would suggest that if the guidance is to use Relay and there is not an intention to build out support for the existing 'send-default-pii' pattern, that pattern should be marked as deprecated,  and that information should be added to the documentation about using send-default-pii.
Thanks for your replies!

@ste93cry okay I've rebased onto develop and made changes.  I went ahead and moved those headers into options--let me know if you don't like that and I can pull that back out.
Code coverage is failing slightly but I'm not sure what else I can do there.

@ste93cry okay I've rebased onto develop and made changes.  I went ahead and moved those headers into options--let me know if you don't like that and I can pull that back out.
Code coverage is failing slightly but I'm not sure what else I can do there.

@soundsgoodsofar do you still have plans to finish the work? Otherwise, if it's ok for you I would like to do it for you so that we can merge the PR

@soundsgoodsofar do you still have plans to finish the work? Otherwise, if it's ok for you I would like to do it for you so that we can merge the PR


Fix NET6_0_OR_GREATER msbuild check

What does the pull request do?
Fix of the problems found in this PR
https://github.com/AvaloniaUI/Avalonia/pull/9847#issuecomment-1407632845

You can test this PR using the following package version. 11.0.999-cibuild0029260-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]


3D printing

The support for 3D printing is very bad, can you add support for 3D printing in the future? Thank you

The problem is that a lot of the faces have holes

Have you tried fixing vertex doubles in Blender?

Open your model in Blender
Go to edit mode
Press a, select all vertices
Press m and click by distance. You should see a mini infobox at the bottom stating a few thousand vertices were removed
Export the new mesh

Have you tried fixing vertex doubles in Blender?

Open your model in Blender
Go to edit mode
Press a, select all vertices
Press m and click by distance. You should see a mini infobox at the bottom stating a few thousand vertices were removed
Export the new mesh

I mean, whether it can be fixed by AI. From the perspective of product landing rather than a laboratory exploration, this problem should not be handled by humans.

@cjjkoko Ah I see. It's nice to know there's a cheap fix with Blender, but I agree this should be handled at the export stage.

The Blender extension 3D Print Toolbox accommodate clean operations and can handle exports to SLT, among others. Very handy, would be nice to have here an integration with it as well, see also: https://projects.blender.org/extensions/print3d_toolbox


Add the "A-Z word list and term collections" coverage file

Sorry for the delay—this pull request is a follow-up on the discussion we had in errata-ai/Microsoft#15, and adds coverage information for the A-Z word list and term collections section of the Microsoft Style Guide!
I'm just starting with Vale, so if anything in this PR doesn't look right, just let me know!
Word format
I formatted the word list based on the Markdown file names in the microsoft-style-guide GitHub repository, but preserving the order shown in the table of contents.

Detailed rule information
For words with multiple rules, I wasn't quite sure how to handle it—I figured one file per word might be a bit unwieldy, so I thought we could set the coverage to false and list the files where partial rules are implemented as comments? It's more condensed, but on the other hand, the onus is on the developer to see what has been implemented, and decide whether coverage has been achieved or not. If you want this represented in any other way though, we can change that up!
Commits
All the commits are signed, but they're a bit piecemeal—I left them as-is to make the review easier (the last few commits are probably the most interesting ones), but we can squash them all into a single big commit, if you like!

Thanks -- this is going to be very useful for tracking our progress. The formatting decisions you made also look reasonable to me.

Thanks! Glad this helps! 😄


iOS: SKCanvas.Clear() does nothing

Description
I have an UITableViewCell with an SKCanvasView in it. When I scroll the list, the cells are reused. Thus the canvas already contains an old image. If I do canvas.Clear() without specifying a color, then it should use SKColor.Empty which is transparent. I'd expect an empty transparent canvas at this point, but it seems like the initial contents are opaque black and if the canvas already contained something, these contents are not removed.
The same happens if I do canvas.Clear(SKColors.Transparent).
canvas.Clear(SKColors.White) works (but I need to know the page color at this point).
On Android canvas.Clear() works as expected.
Code
SKCanvas canvas;
canvas.Clear();

Expected Behavior
The canvas's contents are removed and replaced with a completely transparent color. If I then draw something to it, then I should only see what I drew and the background should be the color of the page.
Actual Behavior
The background color is black and not transparent. If the canvas already contained something, then these contents are not removed. New content which I draw to the canvas after the Clear call will be upon it.
Basic Information

Version with issue:  1.68.0
IDE:  VS2019 Preview 1
Platform Target Frameworks:

iOS:  12.1

Target Devices:

iPad Pro 9,7

Reproduction Link
Skia_Svg.zip
The repro project displays some .svg or .png images in a SKCanvasView.
On iOS the page background color is white, but the SKCanvasView's are black. If you scroll down and back up, then you see that the old contents are overwritten and not removed.
On Android this works as expected.
The code which does the canvas.Clear() is in the beginning of the Utils.DrawImage(...) method in the iOS and Android projects respectively. The code is the same for both platforms.

Thanks Matt, that fixed it!
I do understand, how this can affect the black background, but why have the images not been cleared before, i.e. why have multiple images been visible in one after scrolling?

I was not able to reproduce the multiple images issue.


🐞 Bug [Database Checker] - Correct MissingIndexChecker

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Running DB Checker - bundle exec database_consistency raises MissingIndexChecker failures on multiple tables
Steps To Reproduce

Go to .database_consistency.yml
Enable flag - MissingIndexChecker under DatabaseConsistencyCheckers
Run bundle exec database_consistency
Observe MissingIndexChecker on multiple tables

Expected Behavior
Running DB Checker - bundle exec database_consistency should not raise any MissingIndexChecker failures
Screenshots
No response
Device Information [optional]
No response
Additional context
No response
Are you working on this issue?
No

@shyam1210 can i work on this if free


Conflicting statements in Virtual network link documentation

[Enter feedback here]
First this statement under resolution virtual network:
"One private DNS zone can have multiple resolution virtual networks and a virtual network can have multiple resolution zones associated to it."
And later this statement in other considerations:
"You can create only one link between a private DNS zone and a virtual network."
These 2 statements appear to conflict with each other.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 03726315-f560-b618-24ea-56f9d03687b9
Version Independent ID: 3f6141c0-86df-37cd-c134-7f4760f1e375
Content: What is a virtual network link subresource of Azure DNS private zones
Content Source: articles/dns/private-dns-virtual-network-links.md
Service: dns
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

@mikekalpas, I shall close this thread now.
Please tag me should you have further queries, we shall re-open the issue and we can continue the discussion


@pradhyumna85 hotfix to solve ValueError("Data must be 1-dimensional.") in boxcox, in case of non array input x and some lambda.

What does this implement/fix?
ValueError("Data must be 1-dimensional.") in boxcox (scipy.stats.boxcox), in case of non array input x and some lmbda.

Is there a reference issue that explains the problem this is supposed to fix?
Do you have example code that causes the problem in the master branch? That code should be added in the form of a unit test.

I think @pradhyumna85 expects this (for example) to work without raising an exception:
In [3]: boxcox(3.5, lmbda=2)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-4429b9c008d5> in <module>
----> 1 boxcox(3.5, lmbda=2)

~/mc37allpip/lib/python3.7/site-packages/scipy-1.7.0.dev0+d293adb-py3.7-macosx-10.9-x86_64.egg/scipy/stats/morestats.py in boxcox(x, lmbda, alpha)
   1032     x = np.asarray(x)
   1033     if x.ndim != 1:
-> 1034         raise ValueError("Data must be 1-dimensional.")
   1035
   1036     if x.size == 0:

ValueError: Data must be 1-dimensional.

It makes sense, because when lmbda is given, the function is just a thin wrapper around scipy.special.boxcox.  We could simplify this PR by making the first two lines of the function
    if lmbda is not None:
        return special.boxcox(x, lmbda)

That is, move that if statement up from a few lines down.  If we're just going to pass the values on to special.boxcox, the parameter validations aren't necessary.
This would change the behavior in a few cases.  If any values in x are 0 or negative, stats.boxcox raises an exception.  special.boxcox returns nan for those inputs.  Also, special.boxcox is a ufunc and will broadcast its arguments, so both x and lmbda can have any shape, as long as the shapes are broadcastable.
If we did this, the docstring would need to be updated to explain that the requirement that x be 1-d  and not constant applies only when lmbda is None.  Also, no matter what we decide to do, special.boxcox should be added to the "See Also" section of the stats.boxcox docstring.

I think @pradhyumna85 expects this (for example) to work without raising an exception:
In [3]: boxcox(3.5, lmbda=2)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-4429b9c008d5> in <module>
----> 1 boxcox(3.5, lmbda=2)

~/mc37allpip/lib/python3.7/site-packages/scipy-1.7.0.dev0+d293adb-py3.7-macosx-10.9-x86_64.egg/scipy/stats/morestats.py in boxcox(x, lmbda, alpha)
   1032     x = np.asarray(x)
   1033     if x.ndim != 1:
-> 1034         raise ValueError("Data must be 1-dimensional.")
   1035
   1036     if x.size == 0:

ValueError: Data must be 1-dimensional.

It makes sense, because when lmbda is given, the function is just a thin wrapper around scipy.special.boxcox. We could simplify this PR by making the first two lines of the function
    if lmbda is not None:
        return special.boxcox(x, lmbda)

That is, move that if statement up from a few lines down. If we're just going to pass the values on to special.boxcox, the parameter validations aren't necessary.
This would change the behavior in a few cases. If any values in x are 0 or negative, stats.boxcox raises an exception. special.boxcox returns nan for those inputs. Also, special.boxcox is a ufunc and will broadcast its arguments, so both x and lmbda can have any shape, as long as the shapes are broadcastable.
If we did this, the docstring would need to be updated to explain that the requirement that x be 1-d and not constant applies only when lmbda is None. Also, no matter what we decide to do, special.boxcox should be added to the "See Also" section of the stats.boxcox docstring.

@WarrenWeckesser  Exactly what I meant. As it make sense to boxcox a single value if lmbda is given.

I think @pradhyumna85 expects this (for example) to work without raising an exception:
In [3]: boxcox(3.5, lmbda=2)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-4429b9c008d5> in <module>
----> 1 boxcox(3.5, lmbda=2)

~/mc37allpip/lib/python3.7/site-packages/scipy-1.7.0.dev0+d293adb-py3.7-macosx-10.9-x86_64.egg/scipy/stats/morestats.py in boxcox(x, lmbda, alpha)
   1032     x = np.asarray(x)
   1033     if x.ndim != 1:
-> 1034         raise ValueError("Data must be 1-dimensional.")
   1035
   1036     if x.size == 0:

ValueError: Data must be 1-dimensional.

It makes sense, because when lmbda is given, the function is just a thin wrapper around scipy.special.boxcox. We could simplify this PR by making the first two lines of the function
    if lmbda is not None:
        return special.boxcox(x, lmbda)

That is, move that if statement up from a few lines down. If we're just going to pass the values on to special.boxcox, the parameter validations aren't necessary.
This would change the behavior in a few cases. If any values in x are 0 or negative, stats.boxcox raises an exception. special.boxcox returns nan for those inputs. Also, special.boxcox is a ufunc and will broadcast its arguments, so both x and lmbda can have any shape, as long as the shapes are broadcastable.
If we did this, the docstring would need to be updated to explain that the requirement that x be 1-d and not constant applies only when lmbda is None. Also, no matter what we decide to do, special.boxcox should be added to the "See Also" section of the stats.boxcox docstring.

@WarrenWeckesser  Exactly what I meant. As it make sense to boxcox a single value if lmbda is given.

Thanks @pradhyumna85! I think this was just fixed in gh-12225.


Prevent unexpected privileges escalation

what
The current variable input_metadata_http_put_response_hop_limit condition, prevent to protect users of this module, to be protected against privileges escalation.
The first intent of IMDSv2 is to prevent containers beeing able to assume an EC2 instance profile. It's not a bad idea at all to prevent that. The good practice then is to use the module cloudposse/eks-iam-role/aws to create a kubernetes service account mapped with IAM permissions throug an OIDC IdP.
references

https://aws.github.io/aws-eks-best-practices/security/docs/iam/#restrict-access-to-the-instance-profile-assigned-to-the-worker-node

Does anyone can take a look ? randomly @Gowiem

Makes sense, thanks for this. I think we will change default too, but will check regression first

Makes sense, thanks for this. I think we will change default too, but will check regression first

Fine to me, but be careful with the default... ^^ A lot of people will have unexpected permissions not working anymore. It's a breaking change.

/test all

Both failures unrelated, I will fix in separate PR

Any update on this PR ? I would love to see this released 🤗

/test test/readme

@max-lobur this is odd. It seems like it's trying to revert it back to 2022 instead of using 2023.
It should be using the latest build-harness which grabs rhe current year.
https://github.com/cloudposse/build-harness/blob/c7b01d772017cc78b3902c0a7fcd54f6b6131dca/templates/README.md.gotmpl#L288

Oh I see the issue. We just need to run the auto format again on this pr since this pr was submitted in 2022. Now its 2023 and the year should be 2023 in the readme.
Please run make pr/auto-format locally

/test all

/test test/terratest

/test test/terratest

/test test/terratest

/test all

Thank you @gillg for the contribution!


Tech Lead, Software Developement - Beca

Job title: Tech Lead, Software Development
Job level: Senior
Company name: Beca
Referral limit (optional)
Link to job description or job description attached: See below
Contact info (could be your nick name in our Wechat group):
@walkcoolboy in wechat group or<EMAIL_ADDRESS>
Jobs available in these locations:
Auckland, Auckland Region, New Zealand
Wellington, Wellington Region, New Zealand
Tech Lead, Software Development
Lead the software delivery of cutting-edge digital products and services, with a focus on cloud-based applications
Innovate across a diverse range of software and technology integration projects through your delivery and mentoring, working alongside a motivated team of software developers
Career development opportunities, with the potential to move into software architecture, and people leadership
Te Kāinga Rua | The Opportunity
Lead technical delivery of our innovative software and technology products and services.  You will be working collaboratively with our internal teams to deliver a range of software solutions to our diverse customer base.  This role will enable you to leverage your software development abilities and skills in a real-world setting, as a key contributor to the delivery of new and existing Beca digital projects, both in New Zealand and globally.  You will be comfortable sharing your knowledge and expertise and helping the team to grow their technical capability.  You will be considered a go-to person who is trusted to effectively deliver complex solutions.  With a broad range of software solutions in play, the ability to switch focus and prioritise work is a must.
At Beca Digital, we believe in innovation and encourage diversity of thought.  We invite applicants from a range of backgrounds with the following experience, skills, and attributes:
Experience as a full stack developer with cloud-based software products, web development, systems integration using APIs, distributed systems, software security and storage systems
Experience using cloud computing services, specifically MS Azure, to provide software solutions with high availability requirements
Experience collaborating with software developers leveraging your experience to drive innovative behaviours
Support the technical direction for software solutions throughout the software lifecycle including planning, estimation, feature development, ongoing support, and growing and guiding the product and technical road-map
Proactive, flexible, and comfortable with ambiguity
Great communication skills with the ability to build meaningful and collaborative relationships across various levels of a business
Experienced across C#, TypeScript, JavaScript, SQL, .NET core, React
In addition, knowledge and experience across the following is not critical, however would be beneficial:
Agile development background using Scrum or other Agile methodologies
Docker, Kubernetes, Microsoft Power Apps, Power Automate, Flow, Dataverse
Experience with other programming languages, such as Python, Go, F#, etc
Experience with Microservices
Our clients have broad and diverse requirements.  This means at Beca, our teams work collaboratively which means this role will include hands on software development, alongside your technical leadership.
Te rongoā | About You
You enjoy working across different projects with a range of clients, developing and delivering solutions and new digital offerings.  You enjoy working with a motivated team of Software Developers and multi-disciplinary Engineers that combine technical ‘know how’ with enabling software and technologies. You are driven to continuously grow and improve your technical skill set as well as your soft skill set. You will also enjoy playing a leadership role enabling the growth of the culture in this team.
Beca Digital
Beca Digital is moving into a significant stage of growth, working with our clients to solve real world and unique problems.  Our clients work with us to develop creative solutions that leverage cloud based and on-prem products and services. We are developing a platform based approach to delivering exciting and cost effective software solutions that overcome some of the challenges of purely bespoke software.  This combination of software building blocks and bespoke software make our digital roles challenging and unique.  Career development opportunities exist as our business develops, with potential to move into Solution Architecture, Product Ownership, Digital Consulting, people leadership or into digital project delivery.
Our Digital Products and Services Team includes over 50 digital consultants, GIS specialists, data analysts and software developers. As a team, we play a central role in leading digital transformation across Beca in New Zealand and offshore, embracing change through an ongoing process of continuous improvement and adoption of agile practices.
You will be working across our key digital offerings, including our cutting edge digital twin platform (FACILITYtwin) for operational management and industrial asset information models, and a portfolio management software product (CAPEXinsight) that is used globally by one of the world’s largest FMCG companies.
Learn more about Digital at Beca here: https://www.beca.com/digital-transformation and https://youtu.be/n9J4sZ_SMvg
Apply now
To apply for this role, please follow the online instructions, including a cover letter outlining your interest in the role and career development aspirations.
Beca will require successful candidates to provide proof they are fully vaccinated against Covid-19 subject to the terms of Beca’s Vaccination Policy.  Further details will be provided during the application process.
Ko wai mātou | About us
Beca is one of Asia Pacific's largest independent advisory, design, asset management and engineering consultancies. Beca is proudly an employee owned business creating a culture of collaboration, ownership, and care. You will be welcomed into a team who have a collaborative, fun and supportive culture.  We offer flexible working arrangements and provide ongoing learning opportunities to help you shine in your career.
Beca is one of Asia Pacific's largest independent advisory, design, and engineering consultancies. Refer to www.beca.com for more information on our history, values, and services.

Not available anymore


Implement etcd backup & restore of OSS on alicloud

What this PR does / why we need it:
This PR is to implement etcd backup & restore of OSS on alicloud.
Which issue(s) this PR fixes:
Fixes #
None
Special notes for your reviewer:
None

Thank you @swapnilgm!
So, we cannot really merge it right now - as Alicloud Terraform provider does not yet support (non-empty) deletion of buckets then we would end up with lots of "orphaned" OSS buckets for deleted shoots, right?
So, first @minchaow has to implement the force-deletion logic in Terraform before this code can be merged, right?
FYI: You don't need to use Terraform for creation/deletion of buckets. You could also use the Alicloud Go SDK to do that, but then you have to handle all the features Terraform provides (retry logic, dependency graphs, state management, etc.) on your own (although, I guess for bucket creation/deletion it's not that much).
@minchaow please tell us how you are going to proceed. Thank you.

So, we cannot really merge it right now - as Alicloud Terraform provider does not yet support (non-empty) deletion of buckets then we would end up with lots of "orphaned" OSS buckets for deleted shoots, right?

Yup. I just said yes to that approach cause we were ok with manual deletion or orphaned Buckets there.

Yes, but that was a different situation. If @minchaow is also fine with manual deletion then let's merge it, but I would assume it's too much manual work.

Agreed.

If its not urgent, then i would also prefer to wait for adding support in terraform-provider-alicloud

👍 so, @minchaow please tell us how you want to proceed.

Hi @rfranzke, @swapnilgm, sorry for my late reply and thanks for good suggestions from your side. I agree, it is better to merge this change when "force-destroy" support in terraform-provider-alicloud is ready. We already have some contacts with Alicloud, and will discuss with them about this feature asap.
@jia-jerry , what's your comments?

Agree.

Alright. Then let's close the PR for now. Please re-open as soon as force-destroy is working in the terraform-provider-alicloud.


ActionView Missing Template Error when passing root option

So I am using PA in one of my rails projects for both notifications and a newsfeed of sorts. I pass a root:<public_activity/directory> to my render_activity call to show different partials for my notifications. However I continue to get a missing template error even when the partial exists in the directory public activity is instructed to look.
Error: public_activity/notifications/follow/_create with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :arb, :haml, :jbuilder]}
Before you ask, I am certain the partial exists. I am staring at it. Also the other activities work with the root call it is only follow for some reason even though the code is invariably the same.

Does it happen only when root: is passed?

It only happens when root: is passed but only for that specific partial. I have another call with 'root:' to a different folder that works fine including the follow/create_' partial.  This is what the activity looks like: #<PublicActivity::Activity id: 6, trackable_id: 5, trackable_type: "Follow", owner_id: 2, owner_type: "User", key: "follow.create", parameters: {}, recipient_id: 1, recipient_type: "User", created_at: "2015-10-16 08:12:01", updated_at: "2015-10-16 08:12:01">`

Thank you Piotr for your response, any updates on this? It's still not working and I cant for the life of me figure out why.

Updated PA and now it works.


CIF-2519 - Support category filter for product list component

added UI test for product list edit dialog

Related Issue
CIF-2519
How Has This Been Tested?
UI test
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[X] I have added tests to cover my changes and the overall coverage did not decrease.
[X] All unit tests pass on CircleCi.
[X] I ran all tests locally and they pass.

I'm sorry for having to close this pull request, the base branch was incorrect.
New pull request to approve: https://github.com/adobe/aem-cif-guides-venia/pull/254


Reduce the number of classes in j.u.Collections.

Many methods of j.u.Collections wrapping collections specify that
they return a serializable collection if the wrapped collection
is serializable. The previous implementation would explicitly test
whether it was an instance of Serializable, and return different
classes inheriting from Serializable or not depending on that.
That is unnecessary. To be serializable, a class need not only be
an instance of Serializable. It must also contain only serializable
fields. Since the wrapped collection is captured by the wrapper,
it is a field, and the serializable property is carried over. We
can therefore always return collections that are instances of
Serializable, which reduces the number of classes in Collections.
This analysis is confirmed by experimentation on the JVM. Those
methods always return instances of Serializable.

Review by @nicolasstucki

LGTM

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2678/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3461/
Test PASSed.