Msvc autotools

Ok, with all the talk about AppVeyor/MSYS2 I decided to try to build libconfuse using the original MSYS (which I have installed, I don't have MSYS2) and MSVC 2010. I bumped into a number of difficulties, all of which I have solved in this branch. Except one, namely the C99 initializers from when the simple option union was introduced (57b9738acd5dd976bac95270885ec3532b18b553). I reverted that commit on top of this branch and I was able to build with my old tools like this:
Open a MSVC 2010 command shell, and launch MSYS from it. From within the MSYS shell, do
.../configure --disable-examples CC=cl CFLAGS=-MD RANLIB=: NM="dumpbin -symbols" AR=lib
make
make check
Everything passes. I think the C99 initializers are supported by newer MSVC, so that particular problem will solve itself over time. Other than that, for projects that I maintain, I detest multiple build systems. Therefore, I very much favor supporting MSVC through autotools instead of project files that always ends up lagging behind.
However, that puts Windows user in a position where they have to install MSYS. But the patches in this branch doesn't look all that nasty, most of them just shows that building with older MSVC hasn't been done in a while. Has anybody built with newer MSVC recently? And these patches doesn't stop anyone from keeping maintaining the windows project files...
Anyway, it should be possible to add a build with MSYS/MSVC on AppVeyor. But someone has to verify that the work I put into automake/libtool to support MSYS/MSVC a couple of years ago works with MSYS2 as well, I can't really see why it would fail, but I wouldn't be surprised if there is some quirk to figure out...
Cheers,
Peter

Looks great, good work mate!

Hmm, I just realized that there's one unintended change in there.
I changed ssize_t to size_t in aa210eb and forgot about it and didn't mention it in the commit msg. That may have to be fixed in some other way or there might be problems on other toolchains.
Have to catch some sleep now though...
Cheers,
Peter

In case it's helpful to you, I was able to build libconfuse in Visual Studio 2015 Community Edition with the changes on this branch: https://github.com/DavidEGrayson/libconfuse/tree/vs2  I was going to make a pull request but decided I that I cared about MSYS2 more so I would work on that instead.
Support for C99 has increased in recent versions of Visual Studio; I didn't need to move all the variable definitions to the beginning of a block like you are doing.

Another option is to use CMake: it can generate MSYS/MSYS2 Makefiles, or it can generate Visual Studio project files.

Ok, I fixed the ssize_t vs size_t thing in a cleaner way.
Regarding the vs2 branch, I think it neatly sums up why I don't like to keep MS project files in the source tree. When MS ships a new version, you have to replace the whole content, and you lose support for the older compiler. Or you have yet another project file to keep up to date. It's simply not maintainable in the long run. CMake is better I suppose, but if the project is already using autotools, it might be a hard sell to get the team to switch or support both autotools and CMake. Especially when you can build for MSVC using the autotools build system. But I wouldn't be maintaining the MSVC project files, and have never used CMake, and I don't run this project, so my opinion doesn't really matter...
Now I really need to get some sleep.
Cheers,
Peter

I would love pull this, but @DavidEGrayson is right, the ssize_t thing needs fixing.  However broken it may be originally in libConfuse.
Just looked at the current code and in my libC strlen() returns size_t and malloc() takes size_t as an input argument. Very confusing that libConfuse currently casts it to an ssize_t, so I fixed it.  Sorry for stealing your thunder on this one guys!

Also, I'm not a huge fan of CMake, but I also don't really llike autotools ... if I had my way we'd all be using plain Makefiles :smirk:
However, for the sake of the project I don't really have a strong opinion, either way. Even though an autotools2cmake PR would have to go through some gigantic hoops to be merged ... mostly because I'd have to read up on it massively again to be able to work with it.

Right, that #define ssize_t size_t is brain damaged and will probably lead to mysterious bugs down the line. I'll rebase the branch on top of the patch just pushed by @troglobit

Done.

If this project is committing to support Visual Studio 2010, I'd probably say that in the documentation.  But personally I would have picked a newer version that has better C99 support so that you don't need to make quite so many changes.

Since MSVC 2010 doesn't have C99 initializers anyway, I'm fine with dropping the snprintf patch (but that breaks 2012 and 2013 as well, I think?). The rest of the patches are very small and harmless.
Which of the other patches are candidates for dropping with newer MS compilers?

My main concern with this PR was just the duplicated #ifdefs for snprintf(), which maybe could've been stowed away as static inline in some shared header.  Other than that my impression was good general cleanups, in particular moving declarations to the top of functions which is not only a compiler thing but also a matter of style.

I thought that commit 10cbe54ee9733e4d4b5d76643f79ba45ba9b7eb0 (vsnprintf and snprintf wrappers) would not be needed if we used newer versions of Visual Studio, but then I remembered that Microsoft's vsnprintf and snprintf implementations have the wrong return value.
In Visual Studio, vsnprintf returns -1 if the number of characters it wants to write is greater than the count.  Similarly, sprintf returns  "negative value" in that case.  These functions are really supposed to return the actual number of characters that would have been written, and the assertion in cfg_make_fullpath relies on that fact.  So maybe commit 10cbe54ee9733e4d4b5d76643f79ba45ba9b7eb0  should be fixed to apply to all versions of MSVC, not just older ones.
Alternatively, if the assertion is fixed to be something like assert(np >= 0 && np < len); then we don't care which behavior of snprintf is used.  Then if we drop support for older versions of Visual Studio that don't have vsnprintf and snprintf, we don't need the wrapper functions at all.
I also thought that 7bcade90ec4bad245c2e4a832c27570fa2738dc1 (separating declarations from code) is not needed, but apparently you want to do that regardless of whether it's needed for Visual Studio, and that's fine.

I have no opinion what version of Visual Studio to support, similar to how I don't care what version of GCC or other compiler is used, unless they are severely broken, like GCC 2.96 that RedHat shipped 10+ years ago ... so wrapping *snprintf() in whatever fashion is fine with me.  I'd just like to see those OS/compiler specific wrappers being tucked away somewhere so they don't clutter up the main code.

@peda-r:  I should admit that I don't fully understand commit 10cbe54ee9733e4d4b5d76643f79ba45ba9b7eb0.  I'm not sure if you are trying to fix the return value of those functions or trying to make those functions work in versions of Visual Studio that don't support them at all.  And I'm not sure why the wrappers aren't defined for _MSC_VER >= 1900.  The documentation says that those functions exist all the way back to Visual Studio 2010, so I guess you just want to fix the return value.  But if you want to fix the return value, I don't know why you have the condition _MSC_VER < 1900.

I'm indeed fixing the return value, the reason for _MSC_VER >= 1900 is info from this blog-post:
http://blogs.msdn.com/b/vcblog/archive/2014/06/18/crt-features-fixes-and-breaking-changes-in-visual-studio-14-ctp1.aspx
Specifically:

snprintf and vsnprintf Are Now Implemented: The C99 snprintf and vsnprintf functions have been implemented.

So, yes, _vsnprintf_s exist for the new compiler too, but the wrappers should not be needed. Haven't tested though, no MSVC 2015 here. Not yet at least...

Ok, I moved the snprintf wrappers to a new file.

Okay, I see.  The vsnprintf documentation for VS2015 contradicts the information in that blog post.  I have VS2015 community edition installed so I will probably test this soon.

Awesome, thanks @peda-r :+1:
Seems we're ready to merge, huh? :smiley:

Yeah, I guess that's expected, the blog post has this gem:

Please note that the documentation on MSDN has not yet been updated to include any of the changes covered in these blog posts.

Merge ok by me, obviously... :-)

Great read, this thread.  Kinda makes me miss a ★ on posts ... like Twitter ;)

Oh, the pull request now contains a new license.  Does that license apply to binary copies of the software?  If so, it will be easier on us packagers if Peter can copy his copyright statement into the top-level LICENSE.

I just copied the confuse.h license. I claim nothing and will put whatever you like as a license on that file. I just don't care, but Martin didn't have anything to do with the file, so putting his name there would have been actively wrong. I also hear that public domain is also troublesome in some jurisdictions, so I had to put something there.
Your call, guys.

@DavidEGrayson wut now, what license?  The new compat.h has the same ISC license as the top level LICENSE file.

Yes, I meant the copyright with Peter's name, and the license that says the copyright must be included in distributions.

I have now read that MSDN snprintf page @DavidEGrayson linked to, and that made me think that we should probably check if MSDN is as buggy as it usually is before the merge. No?

I mean, MSDN specifically states that snprintf is the same as _snprintf. MSDN isn't usually that bad, is it?

vsnprintf is identical to _vsnprintf. vsnprintf is included for compliance to the ANSI standard; _vnsprintf is retained for backward compatibility.

It's quite possible that the author of the blog post did not read the C99 specification and think about whether the new vsnprintf and snprintf have the right return values.

IANL but the Linux kernel, BusyBox and others not part of the GNU project successfully distribute free/libre/open source software with copyright assigned to individuals.  I personally see no problem with this, as do many others from what I've read earlier.  The ISC license itself is extremely liberal, the OpenBSD (known for their particularly liberal stance) switched early in their project from the 3-clause BSD license to ISC to be even more liberal.
However, maybe we should at the very least update the top-level LICENSE file in cases like this, i.e.
add a Copyright (c) 2015  Peter Rosin<EMAIL_ADDRESS>it wouldn't hurt.
@DavidEGrayson in any event, if you are unsure about including open source software in your own works you should always get legal counsel.

As for the compat issues, I say merge and fix later if there is any problem.

Hmm, but it says ANSI, not C99, and the text is the same for 2010, so they probably refer to the usual OLDNAMES.LIB compatibility junk. Ok, goferit.

Yeah, I'm in favor of updating the top-level LICENSE with Peter's copyright.

OK, @peda-r update the LICENSE file (as I mentioned above) in the commit you add compat.h, then I'll merge! :+1:

Looks good, thanks everyone!

Great work everyone, and awesome discussions :+1:
Thank you again @peda-r for contributing to libConfuse! <3

And thanks to you too, for feedback etc etc yada yada :-)

I tested snprintf in Visual Studio 2015 Community Edition and its return value is correct when there is an overflow.  :+1:

But _snprintf returns -1 if there is an overflow in VS2015.  I think my earlier comments today overlooked the fact that snprintf is different from _snprintf and vsnprintf is different from _vsnprintf.  Sorry for the confusion.

@DavidEGrayson no problem, thank you for testing! :smiley:


Add bicep and CI workflow

Hi,
I love your workbook.
In order to simplify the evolution of your workbook I suggest the following:

Add Bicep template as Bicep is great 😅
Leverage Bicep capability to dynamically inject external files when building the JSON ARM Template so you can use your existing workbook file and only update it without having to worry about the corresponding ARM Template
Add CI to dynamically generate the ARM Template when either the bicep or or the workbook change

Since the Bicep Azure Action is not compatible with spaces in the file names I took the liberty of removing them (and I did a PR to the action to handle that in the future)

if you can have a look @dolevshor 😉

That's great! @jbpaux

Hi @jbpaux,
First, thank a lot for your PR and my apologies for responding only now.
I would love to add your 'bicep and CI workflow' part, I can't merge it now because number of changes.
I will make sure to include it in the next version that will be updated soon.

Hi,
I've rebased to include your latest changes. It should be good to merge now !

@dolevshor I have re-rebased to include your latest changes. Feel free to merge it when you want

Hi @dolevshor,
Your Workbook is very useful, so great job!!!.
I´m just new overhere, so looking into your workbook, I figure out as an idea, if is it possible to include the following below new properties to these dashboards with the aim to give more cost visibility and provide value from FinOps management perspective.
Therefore, I´ve saw within this MS AZ public workbook "Azure | Home | Advisor | Workbooks | Gallery Cost | Optimization (Preview)" that it is possible to customize it, so looking into "advisorresources" tables under the following path "HOME>AZURE RESOURCE GRAPH EXPLORER>TABLE>advisorresources" url: "https://learn.microsoft.com/en-us/azure/cost-management-billing/finops/cost-optimization-workbook"), I´ve found these properties that I think will be useful to include it just to provide more inventory tracking and cost granularity view, to show to each Engineering Team what are the Acumulated Costs Impact of each idle resources and takes asap responsability on its optimizations.
I´m not a AZ technical expert, just a FinOps practitioner, so these are the following properties that I beleive from my point of view could be nice to include it on your Workbook:
Tables:

microsoft.advisor/assessments >systemData > "lastModifiedByType" + "lastModifiedAt" + "createdAt"
microsoft.advisor/recomendations > extendedProperties > "annualSavingsAmount" + "savingsAmount" + "percentSavings" + "environment" + "resourceMonthlyCost"

Fyi, I´m not a native english speaker, so apologize for any grammatical mistake and I hopes that this provide more value to this workbook.


feat redirect stderr output if users asks to it

try on bash:
cd non_exist_dir

It will probably  prompt an error.
But, what if the user redirects what will come from STDERR_FILENO ?
touch file.txt && cd non_exist_dir 2> file.txt

@Thais-Malheiros , check this test, when you have a spare time


problem with position fixed element in iframe

when I use the position fixed element in the iframe,
It is not in the correct position
for this example, I want it centered vertically in the parent page
parent page:
http://jsfiddle.net/bducmsnf/
iframe:
http://jsfiddle.net/ooa2ze0o/1/show/

iPad/iPhone position fixed are problems


Remove custom Kotlin/Native repos

custom Kotlin/Native repos aren't needed any more - they're published to Maven Central

@aSemy I think this failure on the main branch is related to this PR: https://github.com/krzema12/snakeyaml-engine-kmp/actions/runs/7602961282/job/20704122306


Admin resource loaded on frontend

When using the Asset Manager to include CSS, the login styles are included on all pages on the frontend:
<link href="/user/plugins/login/css/login.css" type="text/css" rel="stylesheet" />
This impacts performance by loading an unnecessary resource. Should be limited to the backend, unless there is a way to exclude the resource somehow via the Asset Manager..?

This is actually a setting:
https://github.com/getgrav/grav-plugin-login/blob/develop/login.yaml#L2

So if I set built_in_css to false, the login.css is the only resource that is affected, correct?

Okay cool, but I want to know: if I set built_in_css to false, the login.css is the ONLY resource that is affected, correct? I.e., are there any other resources that may be impacted by changing this option.

Nope, like i said it's a login config option.
https://github.com/getgrav/grav-plugin-login/blob/develop/login.php#L515-L517

Thanks that explains it.


ci: run govulncheck only if go code changed

The CI pipeline is failing even for document-only PRs when
govulncheck finds issues.

/ok-to-merge restrict go-vulncheck to go code in the CI


Add scripts to update autogenerated jets code

For now, the warning for checking both simplicity repos have the same
git rev is disabled. It will be re-enabled as soon the PR for generating C
jets in simplicity is merged

Superseded by #61.


Thumbor 6.4 version upgrade

Hi,
would it be possible to bump to 6.3.2 ?

Any updates on this one? would be great to have the latest version available via docker

Start the job on branch 6.4.2.
We have a new tag on docker hub -> apsl/thumbor:6.4.2
Initially we just pin the new version but we will need to review:

[ ] Use python3. New thumbor allow now python3 and we should change it for perfomance and security.
[ ] Change the build process. Move all the image shared dependencies to new thumbor-base image and refactor the way to build, doing the other images (remotecv, simd, etc) from thumbor-base.
[ ] Test replace bash build script with "Makefile" system.
[ ] Test change the original thumbor-base image (now is python official) for smaller one, like alpine or phusion. The thumbor docker images are really big and we need to slim down it. Maybe we don't win nothing or is not possible but we have to check.
[ ] Add the new thumbor configuration variables available in conf and env vars templating.
[ ] Upgrade the python dependencies (requirements.txt) that have new version available.

I will review and accept PR changes in order to get this checklist completed before release the new 'latest' version tag. I'm open to discuss this plan and I'll be happy to hear new proposals.
I hope we can create a developing group and will add external mantainers to don't get the repository abandoned.
cc: @shaneog @gingerlime @nhapke @gytisgreitai

@gingerlime Yes - botocore needs to be updated
https://github.com/eerootsus/docker-thumbor/commit/de2b03485c5b7bf6cb4c5121cad95c38f907e1b6

@eerootsus would you mind creating a PR for this project? (in general, I wonder if you are interesting in contributing to this project, or do you prefer promote your own as an alternative? I don't mean it in a negative way, but just curious)

@gingerlime No, I'm not planning to promote my own version - I just needed some features in 6.4 and had to create my own version to move on. When this repository gets updates I'll surely move back.
I'll do a PR then.

@eduherraiz

Use python3. New thumbor allow now python3 and we should change it for perfomance and security.

I don't think Thumbor officially supports python3 yet (see https://github.com/thumbor/thumbor/issues/1004). In fact, I tried to create a docker container using Python 3, and then immediately bumped into this problem just trying to start it https://github.com/thumbor/thumbor/issues/1035
I was thinking of trying to work on the base image using python3, but I guess we should continue with python2 for now.
Besides that, it looks like this project is stuck again? I'm still waiting for #92 but it's open for nearly a month without being merged or any feedback from you. If you don't have time for this project, @eduherraiz that's totally understandable, but then maybe appoint someone else as a contributor who can move things forward? Or perhaps the community can move forward with a fork of this project that will be a recommended successor? I think there are several contributors like @eerootsus , @kkopachev or others who might be interested?

any update on this?

Thumbor is on version 6.5.1 already. Please update the docker.

I'd be happy to, but there's no update from @eduherraiz unfortunately.

I've just created my own based on this https://github.com/NYTimes/thumbor-docker-image and this https://github.com/julianbei/alpine-opencv-microimage

for me - not an issue. Since we are using it on kubernetes,  I've just mapped whole config via config map

@gytisgreitai are you able to share your build ?  I hacked together something quickly from python:2.7.15-stretch but if you have something that produces a smaller image that sounds ideal
FROM python:2.7.15-stretch
RUN pip --no-cache-dir install thumbor
ADD thumbor.conf /etc/thumbor.conf
ENTRYPOINT ["/usr/local/bin/thumbor", "--port=8000"]
EXPOSE 8000

It is anything but small (470mb) cause of opencv, and we have additional libs like cairosvg, and google cloud original storage etc. right now it's on private repo (github cloud). so not sure if you're still interested

Take a look at https://github.com/MinimalCompact/thumbor
It's a loose fork, using a simpler image structure, nginx-proxy, and supports up to latest version of thumbor (6.5.1).

any improvement on this?

https://github.com/MinimalCompact/thumbor keeps up-to-date with thumbor


Fixed #573.

callable_overlay always calls the base of on_pre_send(),
on_close(), and on_error().
It makes sure client process is correctly done.
NOTE:
callable_overlay is not only used from client but also
endpoint. That means endpoint::on_pre_send() (and other
functions) are called. So I update them from pure virtual function to
non-pure virtual function that has empty definition.
NOTE:
callable_overlay calles base::on_mqtt_processed() only if
mqtt_processed handler is not set. It is inconsitent behavior to
on_pre_send() (and other functions). But it is correct behavior. So
I add documentation about that.
I personally believe this inconsitency doesn't cause a big
problem. Because this handler is for very advanced users. (I use it)

@BillPlunkett , could you try this on your environment?
@jonesmz , could you review the PR?

I believe that all review comments are reflected.

@jonesmz , can I merge?

@redboltz looks good to me!


make paginationStrategy: "prisma" the default

currently relay style pagination is the default but i assume that most want to have the same semantics on the graphql query as they have on prisma. Also prisma style is strictly superior as it supports offset based pagination AND cursor based (even combination).
I vote for making prisma the default and not relay style. Or make the option at least mandatory so that it needs clear decision.
Keeping relay as the default will result in more support cases and issues in this repo as it does not support every usecase. Keep that in mind.
as we do not have reached version 1.0.0 such a breaking change can be done.

Didn't see this before I made my comment here. Rephrasing here:

Before being able to consider this issue we need a way to set pagination strategy at not just t.crud level but Nexus and for all plugins to consume.
The goal is that in Nexus it is easy to create an API with only one pagination strategy, and that not doing so requires doing something explicit.
Currently Nexus has t.connection which is the closest thing to pagination built in. Its semantically more than just pagination though. What I'm thinking is that we introduce a t.paginated field builder. Then this would react to the global pagination strategy, as would prisma plugin. At that point we can revisit the discussion about what the default should be.


[Android] react-native-webview:compileDebugJavaWithJavac 10.2.2

Bug description:
I am getting one error when build android
cannot find symbol     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {                                                     ^   symbol:   variable Q   location: class VERSION_CODES
i try clean with ./gradlew clean and a new project but a have the same result
Environment:

OS: Linux 5.3
OS version: Ubuntu 18.04.4 LTS (Bionic Beaver)
react-native version: 0.62.2
react-native-webview version: 10.2.2

did you find the solution? @puera

did you find the solution? @puera

nope, i trying everything but no success

Facing the same error with latest version

Got the same issue
[app]/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewModule.java:276: error: cannot find symbol
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
^
symbol:   variable Q
location: class VERSION_CODES
Note: [app]/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: [app]/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManager.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
FAILURE: Build failed with an exception.

The same error to you.

The same error ...

This issue is related to #1418
To fix it, you need to update your compileSdkVersion to 29. While you are at it, might as well update the buildToolsVersion. You can do that by changing these lines in your /android/build.gradle file.
...
buildscript {
    ext {
        ...
        buildToolsVersion = "29.0.3"
        compileSdkVersion = 29
        ...
    }
...

Thanks @dushyantss
The error is gone after the changes!

Tried that fix, only getting raw html when using it with charts native (iOS works fine)
https://github.com/somonus/react-native-echarts

This issue is related to #1418
To fix it, you need to update your compileSdkVersion to 29. While you are at it, might as well update the buildToolsVersion. You can do that by changing these lines in your /android/build.gradle file.
...
buildscript {
    ext {
        ...
        buildToolsVersion = "29.0.3"
        compileSdkVersion = 29
        ...
    }
...

@dushyantss thanks , the changes really works!

I'm experiencing this error too.
Changing the SDK version to 29 goes against the setup instructions for React Native which specify you should use Android SDK Platform 28 and build tools 28.0.3.
For that reason I'm reluctant to make these changes. Could this package be fixed to continue supporting 28? I'll downgrade this package in the meantime.

Yes, looks like this is introduced with v10.2.0 and am also downgrading to v10.1.1 in the meantime.

Yup, downgrading v10.1.1 fixes it. I don't want to update the SDK from what react native has by default either.

Don't forget to properly remove & unlink old version when downgrading.

This issue is related to #1418
To fix it, you need to update your compileSdkVersion to 29. While you are at it, might as well update the buildToolsVersion. You can do that by changing these lines in your /android/build.gradle file.
...
buildscript {
    ext {
        ...
        buildToolsVersion = "29.0.3"
        compileSdkVersion = 29
        ...
    }
...

This is work for me, thanks !!

Downgraded to v10.1.1, minor versions breaking the build set us back from deployments. Wasn't a pleasant experience.

thanks

I've not been able to test yet, but it looks like this latest release might address this issue?
https://github.com/react-native-community/react-native-webview/releases/tag/v10.3.2


How is the bounding box of the images preprocessed in 4K HD?

In InternLM-XComposer2 4K HD, Dynamic Image Partition is used. How is the bounding box of the relevant images preprocessed? For instance, how are the coordinates normalized and how is the scale transformation performed?

please refer to https://github.com/InternLM/InternLM-XComposer/issues/261


Any plan to introduce sequential build number for each workflow execution

Summary
Do we plan to introduce sequential build number for each workflow execution or environment variable  like BUILD_NUMBER or WORKFLOW_NUMBER for each workflow build.
Use Cases
It will be good if we have build number and will be helpful for tagging the build or using the build number for the CI/CD.

Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

@reddymh Can you provide us more details for this requirement?

@sarabala1979  for CI/CD , it will be good providing sequential build number for each workflow/pipeline executions.
example:
if I am building java application build the it will be good to have build number or workflow number for each build and tag the build or publish the artifact with the build number  or some unique sequential number as well.
If you see any CI tool like jenkins , each job will have sequential build number starting with 1  ..so that we can use for tagging the artifacts

Workflows are different from Jenkins pipelines. It is quite hard to keep track of the sequence because each workflow is created, not invoked.
Templates are invoked.
I dont think argo has a way to determine a sequence in this architecture.
Jenkins invokes a pipeline which is already created, has a history and thus, there is a sequence to it.
Also tagging an artifact with the build sequence makes no sense IMHO. If you are building an application, don't you think using the git commit id, or the git tag name would be more appropriate than the build sequence number?


modify frame num is possible?

Using a 3-frame input for one deep learning CV model makes it difficult to integrate with other models. Can I change the num_frame parameter from 3 to 1 during training and then use the model ?
thk u

Using a 3-frame input for one deep learning CV model makes it difficult to integrate with other models. Can I change the num_frame parameter from 3 to 1 during training and then use the model ?
thk u

model.py can change the input and output parameters, the default is 3x288x512

model.py can change the input and output parameters, the default is
9x288x512 and 3x288x512, 9 is RGBx3,3 is RGBx1.
Of course, the input can be set to 1 frame, but one advantage of TrackNetV3
is to find the correlation between consecutive frames.
100-heon @.***> 於 2024年5月20日 週一 下午3:02寫道：

Using a 3-frame input for one deep learning CV model makes it difficult to
integrate with other models. Can I change the num_frame parameter from 3 to
1 during training and then use the model ?
thk u
—
Reply to this email directly, view it on GitHub
https://github.com/alenzenx/TrackNetV3/issues/9, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATQDDV5Z4ECYEAJHC37IYO3ZDGNZNAVCNFSM6AAAAABH7FG3CSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGMYDKMRWGE4DMMY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


python-tuf 1.1.0 release

Update Changelog
bump version

Signed-off-by: Jussi Kukkonen<EMAIL_ADDRESS>
I did not try to list every PR, just the relevant ones. Noteworthy change to past changelogs may be that I did not try to include dependency changes: there are much more of those now and I think they aren't very relevant (except when we actually touch pyproject.toml package dependencies).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.326%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1187

Relevant Lines:
1203

💛  - Coveralls

you're right, I'll include your suggestions.

Added the suggestions and the two new items suggested in the comment.


fatal error: curl/curl.h: No such file or directory

This is more a remark, than a real bug, but is CMake not supposed to check if curl is present on the system? Because I did not install it and got this error fatal error: curl/curl.h: No such file or directory
The fix is only apt-get install  libcurl4-openssl-dev but I think CMake is made for checking against missing libs.

Good point! We're just adding curl as a link dependency for the Linux target but it would be better practice to use find_package so that the missing dependency is detected at configuration time.


Align Pihole Ping + Integration

Environment
Docker
Version
0.12.3
Describe the problem
Ping and integration are not aligned:
· For ping = 200 - OK you need to set http://HOST/admin in "Internal URL".
· For widget integration you need to put only http://HOST in "Internal URL".
If im not wrong the Pihole API is like this: http://HOST/admin/api.php?summaryRaw&auth=TOKEN
¿Can you change the code behind your integration to use the same for both?
I think the solution is; use "http://HOST/admin" in Internal URL and concat with "api.php?summaryRaw&auth=TOKEN" on integration.
Right now im adding 403 - Forbidden to http code list as a workarround, but would be nice to dont have to do it.
Logs

Context

Please tick the boxes

[X] I confirm that I attached the proper logs
[X] I've read the docs
[X] I've checked for duplicate issues
[X] I've tried to debug myself

Hi, thanks for your issue.
We already truncate /admin, but not /admin/.
Can you try, if it works with /admin?
If yes, we'll just add that to this line:
https://github.com/ajnart/homarr/blob/72eff50db98ddf7330577daf810c37aea94de1b4/src/tools/server/sdk/pihole/piHole.ts#L8

Oh, f**k my life. It works perfectly.
TY


"Saving Work Item" spinnings forever

From @burrsutter on May 20, 2017 23:59
https://screencast.com/t/oV50taQ9
Though the workitem appears to be created and landed
https://openshift.io/burrsutter/myspace/plan/detail/817
Copied from original issue: openshiftio/openshift.io#174

@joshuawilson fix is on production. Can you verify?

I can confirm the spinner goes away


local-cli: restore symlink scanning in default case

Commit 9a77ff5 seems to disable symlink scanning for apps that don't
have a config file. This commit should restore that, without breaking
those with a config file.
Fixes #21735

Thank you for sending the PR! We appreciate you spending the time to work on these changes.
Help us understand your motivation by explaining why you decided to make this change.
If this PR fixes an issue, type "Fixes #issueNumber" to automatically close the issue when the PR is merged.
Pull requests that expand test coverage are more likely to get reviewed. Add a test case whenever possible!
Test Plan:
Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos!

Make sure it bundles peat-psuwit/react-native-symlink-scan-demo@4298dcc.

Checkout that commit, then points react-native to this PR (don't forget to also update react).
Run react-native start, then go to http://localhost:8081/index.bundle?platform=android to see that it bundles correctly.

Make sure it bundles newly-created React Native project.
Make sure it doesn't re-introduce #20712

As peat-psuwit/react-native-symlink-scan-demo@4298dcc doesn't have any config file, if it bundles on Windows, then #20712 shouldn't be back.

Release Notes:
Help reviewers and the release process by writing your own release notes. See below for an example.
[CLI] [BUGFIX] [local-cli/util/Config.js] - Restore symlink scanning in default case

👍
Same issue here! Would love to see this get merged in please!

Can we have this merged soon please? I'm stuck on 0.56 because of this issue and would really like to use the new webview in 0.57 soon! 😄

Thank you for your PR. We just moved this code to https://github.com/react-native-community/react-native-cli so please submit your PR there.


New feature "Use existing key stored in Azure"

The Azure portal now has a field called "SSH public key source". Here you can select the option "Use existing key stored in Azure". How does one store ones public key in Azure? I tried creating a key in Key Vault but it does not appear in the drop-down list.

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

ID: fbbd6dbf-a5be-f8cf-4f8d-08809db1d973
Version Independent ID: 50b13de9-334d-0db5-492c-862935df2cd9
Content: Create and use an SSH key pair for Linux VMs in Azure - Azure Linux Virtual Machines
Content Source: articles/virtual-machines/linux/mac-create-ssh-keys.md
Service: virtual-machines-linux
GitHub Login: @cynthn
Microsoft Alias: cynthn

@dohughes-msft, thank you for reaching out. We are looking into this and would get back to you soon on this thread.

@dohughes-msft Closing this issue now as this is rolled back. You can continue your discussion on email.

I still see this in the preview portal and was also wondering how to create a key pair to use it in that field.

@ams0 when you create a VM you can select "Generate new key pair". Azure will create a .PEM file for you to download and will store the public key in the resource group as a resource of type "SSH key" that can be reused for future VMs.
So far it seem there is still no way to upload your own public key as a resource. One would hope this functionality is coming.

this is part of the preview portal https://preview.portal.azure.com/ where it appears to be a selector for "SSH public key source" and an option for "Use existing key stored in Azure"

Couldn't find documentation how to use this feature..

@tsarpaul see here for an ARM template you can use to deploy your key and some examples on how to refer to it.

@tsarpaul Does this help: https://docs.microsoft.com/en-us/azure/virtual-machines/ssh-keys-portal#upload-an-ssh-key or is it still not what you are looking for?
This is only available in the portal right now.

Hi,
In the Azure VM creation screen there's an option to choose an SSH key managed by Azure Key Vault.
I created a key vault with a key but I could not make it available to the VM creation screen.

@tsarpaul Yep, as far as I know, you have to use the portal experience to upload the key in order for it to end up in that drop-down list when you create a VM. There is a bunch of work going on in this space, but for now I think you have to explicitly use that portal workflow to upload it to KeyVault.

It works for me with the ARM example from @dohughes-msft  (also available from the official API repo here https://github.com/Azure/azure-rest-api-specs/blob/master/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateAnSshPublicKey.json). I wonder how/when we can get this into the azure terraform provider.


Update docs and fixtures for FB API changes.

Fixes #71.

Current coverage is 92.21% (diff: 100%)

Merging #73 into master will not change coverage

@@             master        #73   diff @@
==========================================
  Files            11         11
  Lines           437        437
  Methods           0          0
  Messages          0          0
  Branches         35         35
==========================================
  Hits            403        403
  Misses           20         20
  Partials         14         14

Powered by Codecov. Last update 0d060c1...a369967


Fix query may before collection creation, fix #212.

It will create domain collection when repository Bean construction.

Signed-off-by: Pan Li<EMAIL_ADDRESS>

Codecov Report

Merging #213 into master will increase coverage by 0.11%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #213      +/-   ##
==========================================
+ Coverage   80.11%   80.23%   +0.11%
==========================================
  Files          40       40
  Lines        1031     1022       -9
  Branches      144      140       -4
==========================================
- Hits          826      820       -6
+ Misses        135      132       -3
  Partials       70       70

Impacted Files
Coverage Δ

.../spring/data/cosmosdb/core/DocumentDbTemplate.java
83.9% <100%> (+0.83%)
:arrow_up:

...repository/support/SimpleDocumentDbRepository.java
100% <100%> (+1.51%)
:arrow_up:

Continue to review full report at Codecov.

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


pip install

Dear developer. I have issues with installing/importing package through pip. I created new conda env python 3.10 and did 'pip install sopa', it was installed, but when I try to proceed
import sopa.segmentation
ImportError: cannot import name '_get_unique_label_values_as_index' from 'spatialdata._core.query.relational_query' (C:\GBW_MyPrograms\Anaconda\envs\VPT\lib\site-packages\spatialdata_core\query\relational_query.py)
Can you help me, please?

Hello @HSvitina, thanks for reporting this issue. I think this is related to a newer version of spatialdata-io. Can you try to upgrade the two packages as below:
pip install spatialdata-io --upgrade
pip install spatialdata --upgrade

You may have warnings during the pip install, because sopa depends spatialdata < 0.1.0, but just ignore the warning

I will soon release sopa=1.0.7, where this issue will be fixed, but the above solution should work in the meantime.

Thank you. Installation went well.


Invoke from the export menu, without local file dialog

Matt asked me to look into ways to open an upload dialog from the File -> Export menu, without causing a file dialog to show up.
I did a little testing, and I was able to get a mostly-blank Blender "Operator" to run there.  By default, most export examples declare a Python class like this:
class ExportSomething(bpy.types.Operator, bpy_extras.io_utils.ExportHelper):

This is Python's multiple inheritance, and including the ExportHelper as a base class is what mandates the file dialog will show up.  But this is not required to install a generic operation into the export menu.  For example:
class Export2ion(bpy.types.Operator):
    bl_idname = 'export_scene.cesium_ion'
    bl_label = 'Upload to Cesium ion'
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):
        # Do something to show the upload UI...
        print("**** Open upload options panel here ****")
        return {'FINISHED'}

# end of class Export2ion

def menu_func_export(self, context):
    self.layout.operator(Export2ion.bl_idname, text='Cesium ion...')

def register():
    bpy.utils.register_class(Export2ion)
    bpy.types.TOPBAR_MT_file_export.append(menu_func_export)

def unregister():
    bpy.utils.unregister_class(Export2ion)
    bpy.types.TOPBAR_MT_file_export.remove(menu_func_export)

This doesn't answer the question of how exactly to show the upload UI to the user.  But it allows one to install a menu option in the export list that will invoke arbitrary Python code, without needing to display a file dialog.
@ProjectBarks @mramato

Attempted the following solution but blenders design limits modal usage so we decided against using the file export methodology. See https://github.com/AnalyticalGraphicsInc/ion-blender-exporter/tree/beta_file_export for the file > export version


ServerSideBlazor's component inside razor page (Route data) Preview 9

Before Preview 9 we could pass a blazor component, the parameters needed for it to work from a razor page.
For example, a razor page with the following URL: test.com/{param1} could read the param1 value and pass it to the embedded blazor component for it to work.
Now with stateful prerendering discarded, what would be the recommended way for a blazor component inside a razor page to read route data?
Thanks & Regards!!

Thanks for contacting us, @chrdlx.
You can use NavigationManager inside your component to read URL and make it available to the component. However, we don't have a mechanism to pass parameters to components from pages directly.


Better error messaging for YAML selectors

I chatted with Drew yesterday about two pieces of YAML selectors:

Excludes: As acknowledged in the #2640 description, nesting exclude within union is a little unintuitive. I think it's ok as long as we document it well: exclude acts as a set difference operator, and it is always applied after the other elements are unioned together. This gets us more intricate subset definitions than what's available on the CLI, where we can only pass one yeslist (--models, --select) and one nolist (--exclude).
Definition dict: definition is a dictionary with a number of potential arguments:

CLI-style selection string
key: value
method + value
union
intersection

Action steps

We already raise an error if two exclude arguments are passed to the same set operator. We could make this message clearer:

Could not read selector file data: Runtime Error
    Got multiple exclusion definitions in definition list ['models/export', 'config.materialized:incremental', {'exclude': [{'method': 'tag', 'value': 'nightly'}]}, {'exclude': [{'method': 'tag', 'value': 'hourly'}]}]

If definition has either union or intersection as an argument and more than one argument, we should raise an error. Something along the lines of:

Only one root-level set operator is supported in a selector definition. Got 2: [union, anything_else] in my_selector_name

I'm going to leave this issue open to continue collecting feedback as people start using YAML selectors more widely in the forthcoming release candidate.

https://github.com/fishtown-analytics/dbt/pull/2640#issuecomment-677714366
When executing a [run|ls|compile|etc.] using a --select, it would be nice if the logs printed the expanded version of that selector, i.e.
selectors:
  - name: my_selector
    definition:
      union:
        - method: tag
          value: something
          parents: true
        - exclude:
            - method: tag
              value: something_else

Would then print out something like:
dbt run --select my_selector
Running with dbt=0.18.0-rc1
Found 562 models, 578 tests, 8 snapshots, 177 analyses, 323 macros, 4 operations, 40 seed files, 198 sources

15:40:52 | Executing dbt run --models +tag:something --exclude tag:something_else
15:40:52 |
15:40:52 | Running 2 on-run-start hooks
...

@mlavoie-sm360 Thanks for re-commenting here, and sorry for the delay following up.
What's your hope with printing out the CLI-arg representation?

If it's copy-pasting and sharing with a colleague, that's the larger goal of YAML selectors—check into version control, share, anyone can reference with --selector.
If it's seeing that grouping of resources in the dbt-docs DAG viz—fair! We're planning to add selector support there in the next version of dbt (https://github.com/fishtown-analytics/dbt-docs/issues/119).

Without knowing more, I'm quite hesitant to add this functionality, for two reasons:

UX: YAML selectors will often define selection criteria that would be very verbose and clunky to represent with CLI args. There's a good chance this will be a source of clutter and confusion in the log output.
Functional: We're committing to ensuring that a YAML selector and the functionally equivalent CLI-arg representation will map to the same set of selected nodes. We're not committing, however, to maintaining a bidirectional translation between CLI + YAML syntaxes. (Someone else is welcome to write that python script.)

@jtcohen6, thanks for taking the time to reply!
To answer your question, my hope was to have feedback on the definition of my YAML selector in a more digestible way. It may be just me, but dbt run --models +tag:something --exclude tag:something_else speaks to me more than the yaml structure that represents the same thing. I often find myself doing the wrong thing in a YAML structure and I find it useful when I can visualize it in a different format.
If doing that is opening a can of worms, my nice-to-have proposition is probably not worth it.

Gotcha. Thanks for the explanation, and sorry to be a dasher of hopes. I totally hear what you're saying. While writing YAML selectors, I frequently find myself using dbt ls --selector to check that my selector definition is doing the thing I think it is.
I do think it would be cool if someone (?) built a handy script to parses a YAML selector and return a translation into the language of your choosing: CLI args, English sentences, ...
`my_selector` includes all resources tagged 'something', plus their parents, except for resources with tag 'something_else'.


Update version strings

Figure out a better way of including the version in the binary. Currently, it is being hardcoded in a couple of places.

perhaps related to this, im not sure, is that the latest release 3.0.0-beta1 returns as if it was version 2.4.0 but the bot announces itself as if it was version 3
curl http://localhost:8085/
{"messages":["Welcome to the Phabulous API"],"status":"success","version":"2.4.0-beta1"}

Yep. Looking to find a simple way to have it centralized in one place.

I am also affected by this with the v3.0.0-beta3 tag on quay.io.

It is better to hardcode something like UNKNOWN in front.go, no? If tit is not guaranteed to be correct and updated then I suggest that it would be better.


Fern check errors within examples should include breadcrumbs

As a user, I'm not sure where to fix my API Definition to fix this error. It takes more sleuthing than I would like.
Code: https://github.com/fern-corrily/corrily-api/tree/ea241bcb9be27c25ba3a2600cb579a6d5ff45dfb

In this case, this fixed it:
         examples:
            - request:
                user_id: string
                features:
                  source: youtube
+             response:
+              body:
+                 status: ok

Deprioritizing till it is requested from the community


Windows Slave 'Endpoint' vs. 'Master.Host' usage

Cookbook version
5.0.0
Chef-client version
12.19.36
Platform Details
AWS or Test-Kitchen+Vagrant
Scenario:
I'm trying to figure out the best way to have a test-kitchen test env. and a production environment in the same cookbook and I'm running into issues with how to tell the windows slave where the jenkins master is.
Steps to Reproduce:
You tell me?
But seriously, in .kitchen.yml I can put:
      jenkins:
        master:
          host: '<IP_ADDRESS>'

in the suites section and connect to another local VM running as my jenkins master without issue.  This will override default['jenkins']['master']['host'] in attributes/default.rb.  However, I found that when I am converging on a "production" node in AWS the jenkins.master.host setting in attributes is ignored and I need to use jenkins.master.endpoint instead.  I had to dig pretty deep to find this in the ohai attributes of the converged node.  jenkins.master.host was set according to my attributes settings, but jenkins.master.endpoint was set to localhost:8080.
Also, if I have jenkins.master.endpoint set in attributes/default, settings in .kitchen.yml are ignored.
Expected Result:
I would like to see test kitchen converge a fully working test node that connects to a specified jenkins master as well as a chef-client run on a different machine connect to a different specified jenkins master.
Any suggestions would be appreciated.  Its probably me missing something.
Actual Result:
Attributes are ignored and/or unpredictable?

It sounds like you have some interesting configuration going on in aws. Can you provide more details about your setup?
If you look at the documentation within the master.rb attributes file (this is what the README is telling you to look at with regards to inline documentation), if you explicitly define  master['endpoint'], then  master['host'] is ignored. Take a look at the inline documentation starting here master.rb#L166 to understand more about the endpoint attribute.

Thanks for checking in.
I'm looking to run kitchen converge and have a fulling working local windows slave, and then to promote my cookbook through our CI/CD to production and build an AWS working windows slave.  In test, the endpoint would be http://<IP_ADDRESS>:8080 and in prod the endpoint would be http://jenkins.domain.org:8080.
I had it working locally with attributes defined in .kitchen.yml pointing jenkins.master.host to the IP and had an attributes/default.rb file that had jenkins.master.host pointing to AWS.  What I found was that the attributes.rb file was accepted, but made no difference when running from chef server -- that is to say that running ohai on the chef server based node reported jenkins.master.host was populated, but jenkins.master.endpoint was localhost.
So, even though jenkins.master.host was set, for some reason it was ignored.
At this point I'm playing with setting an override_attributes environment setting and stubbing out an environment in kitchen.
I saw the documentation inline in the attributes file, but unless you actually know what you're looking for, the list won't give you any answers... "Don't know what you don't know, ya know?"
Perhaps if there was some information that showed how to create a basic working windows slave connection - what attributes need to be set, what resources to call, etc.  It took me a while to just "assume" that if I called jenkins_windows_slave on some random slave node that it would just work... and when I tried that it complained about trying to reach localhost, so I set the jenkins.master.host var and it moved forward... then I moved from test to prod and it broke halfway and I found the endpoint attribute (and so on).  Some of it is semi-obvious, like having to install Java on the slave node first.
I'd be happy to help out with the documentation, but I'm at a loss as to what to do "right", and don't know where to turn for more information.
As an example, When you setup a Jenkins SSH slave, you start on the master by setting up keys and then telling the master where to connect.  The SSH slave needs very little tied to it other than a shared key that works... but the windows slave is a completely different process.
Thanks!

In my cookbook, I use a common recipe (run by both master and slave) that cases the chef environment so that I can apply different host/port settings between dev and prod (we have other environments but I'm simplifying). For example:
case node.chef_environment
when 'jenkins_env_prod'
# Use the host and port defined in the address databag for non-prod org
node.default['jenkins']['master']['host'] = master_address['host']
node.default['jenkins']['master']['port'] = master_address['port']

# Use the public host and port defined in the address databag for non-prod org
node.default['jenkins']['master']['public_host'] = master_address['public_host']
node.default['jenkins']['master']['public_port'] = master_address['public_port']

else
# Set the master's host entry to it's own IP
node.default['jenkins']['master']['host'] = node['ipaddress']

# Use kitchen-nodes to find the master and grab its IP for the slave
jenkins_master = search(:node, 'run_list:jenkins_env\:\:master')
node.default['jenkins']['master']['public_host'] = jenkins_master.first.ipaddress
node.default['jenkins']['master']['public_port'] = 8080

end
The code above will grab the ip and port of the production master from a databag when converging in a prod environment, otherwise it will use kitchen-nodes to grab the ip of the master for the slave to use in its endpoint. As far as the endpoints go, I craft a slightly different one for master vs. in my slave. The master can use the direct host obviously, but the slave has to go through a reverse proxy so it uses the "public" host and port.
From the master recipe:
node.default['jenkins']['master']['endpoint'] = "http://#{node['jenkins']['master']['host']}:#{node['jenkins']['master']['port']}#{node['jenkins']['master']['prefix']}/"
From the slave recipe
node.default['jenkins']['master']['endpoint'] = "http://#{node['jenkins']['master']['public_host']}:#{node['jenkins']['master']['public_port']}#{node['jenkins']['master']['prefix']}/"
Hope this helps.

The endpoint calculation logic didn't work for me.  I found a work around that uses environments.  Would still be happy to help with better documentation.


[Bug]: TTL for data is incorrect

Time when occurred
N/A
Reproducibility
100%
Does this problem occurs while you are logged in ?
Yes
Client
N/A
Steps to reproduce
N/A
What did you expect to happened ?
N/A
What actually happened ?
TTL for grantId and possibly more is too big and instead of removing itself every time that oidc recreates session, grantId is stored for a long long time.

Fixed with 8943eb9e11f73e1934ad5b037e7d5d6436986716


Anonymize Pixel Data In Dicom Images

Hello,
We are using this approach to annonymize, which works for most Dicom images. However fails with encapsulated pixel data like jpeg2000. Does anyone know how to navigate the pixel data when it is encapsulated or in fragments?
createAnonymisedDicomFileFromDataset(dataSet, fileName) {
    if (dataSet.warnings.length > 0) {
	dataSet.warnings.forEach(function(warning) {
					console.log(warning);
				});
    } else {
	const pixelElement = dataSet.elements.x7fe00010;
	if (pixelElement) {
	    const height = dataSet.uint16('x00280011');
	    const width = dataSet.uint16('x00280010');
	    const topTenPc = Math.floor(height * 0.1);
	    const topTenPcPixelLength = width * topTenPc * 3;
	    for (let i = 0; i < topTenPcPixelLength; i++) {
		dataSet.byteArray[pixelElement.dataOffset + i] = 0;
	    }
            const blob = new Blob([dataSet.byteArray], {
				type: 'application/dicom',
			});
            const anonymisedDicomFile = new File([blob], fileName);
	    return anonymisedDicomFile;
    }
}

Here is the normal pixelElement for a dicom image that works.

Here it is clear the pixelElement is encapsulated with a number of different offsets.

Using fragments[0]["position"] as the offset blacks out entire image.

Using fragments[0]["position"] + pixelElement.dataOffset as the offset seems to corrupt the image, as it is likely affecting the compressed representation.

The Jpeg2000 data needs to be read, altered, and put back into the tag in the same form.
http://dicom.nema.org/dicom/2013/output/chtml/part05/sect_8.2.html
Similar questions.
https://github.com/cornerstonejs/dicomParser/issues/31
https://github.com/cornerstonejs/dicomParser/issues/49

@Neuroforge Unfortunately I think this is a little beyond the current scope of this library. However, there's a similar library under the cornerstonejs umbrella that uses OpenJPEG to load JPEG2000 binary data. You can check out the code here. Hopefully that'll get you started down the correct road.

Hello! Dealing with the exact same problem, tried to go down the road @yagni suggested.
Looking inside cornerstoneWADOImageLoader, I decided to use .wadouri.getEncapsulatedImageFrame to get the pixelData.
I'm at a loss on how to proceed: Would the correct approach be to overwrite the original byteArray with the values in the decoded pixelData?
Would I have to update any tags manually in order for the file to work?
Do I have to encode the pixelData after I'm done altering it, or can I leave it uncompressed?
What's the right library to choose for encoding?
Can I utilize the convertColorSpace functions already in the WADO image loader, passing in my own 'imageFrame' object and buffer?
Any help would be much appreciated.

@techromantic, it may make more sense to create a new issue in cornerstone-wado-image-loader that references this closed issue.
Worth noting that if you're doing this on the front-end, then the user's client has already received the unanonymized pixel data. You can use cornerstone-wado-image-loader with node, but there may be more tailor made options once you realize this should be a back-end process (and likely not one done on-demand).
Some libraries that may be helpful that you may not be aware of:

https://github.com/dcmjs-org/dcmjs#readme
https://dicom.offis.de/dcmtk.php.en


Create RandomColors for Food

closes #35

answered in https://github.com/devsargam/SnakeGame/issues/35


Use ClimaUtilities Inputs in run_amip

ClimaUtilities comes with a rich array of tools to read input data. Among these are the SpaceVaryingInput and the TimeVaryingInput to read data from NetCDF files (and more). These functions are more efficient, versatile, and come with various interpolation options.
This commit moves AMIP to using those. In the process, it moves from using ClimaCoreTempestRemap to Interpolations.
Closes #916

Yes, interpolate daily updates the data once a day, otherwise data is read once a month.


geiser-eval-last-sexp doersn't perform as expected

Hi there,
According manual C-x C-e  shoud make geiser-eval-last-sexp so Eval sexp before point but this doesn't happen in my case, any clue about what I'm, probably, overlooking, please?
see screen shot attached
I'd appreciate it,

there are too many possible causes, from not having a repl started to
not positioning the cursor at the end of a sexp or not having a working
geiser installed... can you describe what happens to you in more detail?

@Txellenne sorry, i hadn't seen your image.  Evaluation is working just fine: in Guile, when you evaluate a function definition, the returned value is #<unspecified>, as printed by Geiser, which means that the define did work, i.e., you should be able to call factorial afterwards.
Closing the issue: please feel free to reopen if i misunderstood.


[SPARK-23596][SQL] Test interpreted path on encoders test suites

What changes were proposed in this pull request?
We have completed a significant subset of the object related Expressions to provide an interpreted fallback. This PR is going to modify the tests to also test the interpreted code paths.
One concern right now is that by testing the interpreted code paths too, we will double current test time or more. Otherwise, we can only choose to test the interpreted code paths for just few test suites such as encoder related.
How was this patch tested?
Existing tests.

cc @cloud-fan @hvanhovell @kiszk @mgaido91 @maropu

Test build #91687 has started for PR 21535 at commit b8c7238.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/35/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3925/
Test PASSed.

Test build #91687 has finished for PR 21535 at commit b8c7238.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait CodegenInterpretedTest extends QueryTest with SharedSQLContext
class DataFrameSuite extends CodegenInterpretedTest
class DatasetSuite extends CodegenInterpretedTest

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91687/
Test FAILed.

Merged build finished. Test FAILed.

retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/37/
Test PASSed.

Test build #91692 has started for PR 21535 at commit b8c7238.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3927/
Test PASSed.

Merged build finished. Test PASSed.

Test build #91692 has finished for PR 21535 at commit b8c7238.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait CodegenInterpretedTest extends QueryTest with SharedSQLContext
class DataFrameSuite extends CodegenInterpretedTest
class DatasetSuite extends CodegenInterpretedTest

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91692/
Test FAILed.

retest this please.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/40/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3930/
Test PASSed.

Merged build finished. Test PASSed.

Test build #91699 has started for PR 21535 at commit b8c7238.

Test build #91699 has finished for PR 21535 at commit b8c7238.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait CodegenInterpretedTest extends QueryTest with SharedSQLContext
class DataFrameSuite extends CodegenInterpretedTest
class DatasetSuite extends CodegenInterpretedTest

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91699/
Test FAILed.

retest this please...

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3934/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/44/
Test PASSed.

Test build #91707 has started for PR 21535 at commit b8c7238.

@viirya how much time this add to the overall testing time?
If this is too much then we should perhaps just test interpreted encoders. WDYT?

Test build #91707 has finished for PR 21535 at commit b8c7238.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait CodegenInterpretedTest extends QueryTest with SharedSQLContext
class DataFrameSuite extends CodegenInterpretedTest
class DatasetSuite extends CodegenInterpretedTest

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91707/
Test FAILed.

@hvanhovell I observed the testing time, roughly for a same test, additional interpreted path will add 50~120% time.
Interpreted encoders? Do you mean to only test interpreted path for org.apache.spark.sql.catalyst.encoders.*?

@hvanhovell Added tests for interpreted encoders.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/115/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/4005/
Test PASSed.

Test build #91807 has started for PR 21535 at commit 250074b.

Test build #91807 has finished for PR 21535 at commit 250074b.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class ExpressionEncoderSuite extends CodegenInterpretedPlanTest with AnalysisTest
class RowEncoderSuite extends CodegenInterpretedPlanTest
trait CodegenInterpretedPlanTest extends PlanTest

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91807/
Test PASSed.

@hvanhovell Do you think we should test interpreted paths against DatasetSuite and DataFrameSuite?

ping @hvanhovell and cc @cloud-fan too.

ping @hvanhovell @cloud-fan

retest this please.

Test build #92508 has started for PR 21535 at commit 250074b.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/607/
Test PASSed.

Test build #92508 has finished for PR 21535 at commit 250074b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class ExpressionEncoderSuite extends CodegenInterpretedPlanTest with AnalysisTest
class RowEncoderSuite extends CodegenInterpretedPlanTest
trait CodegenInterpretedPlanTest extends PlanTest

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/92508/
Test FAILed.

retest this please.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/608/
Test PASSed.

Merged build finished. Test PASSed.

Test build #92509 has started for PR 21535 at commit 250074b.

Test build #92509 has finished for PR 21535 at commit 250074b.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class ExpressionEncoderSuite extends CodegenInterpretedPlanTest with AnalysisTest
class RowEncoderSuite extends CodegenInterpretedPlanTest
trait CodegenInterpretedPlanTest extends PlanTest

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/92509/
Test PASSed.

I am not sure whether the increased time is acceptable or not.
If it is not accepted, how about adding an option to control do test in interpreter mode. Then, we test only compiled code path in sbt, and test both paths in mvn?

If we only test interpreted path on selected test suites, e.g., org.apache.spark.sql.catalyst.encoders.*, I think we won't increase too much test time. I feel that we should not make it different in mvn and sbt building path.

ping @hvanhovell @cloud-fan

Test build #92751 has started for PR 21535 at commit 6878612.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/775/
Test PASSed.

Test build #92751 has finished for PR 21535 at commit 6878612.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DataFrameSuite extends QueryTest with SharedSQLContext
class DatasetSuite extends QueryTest with SharedSQLContext

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/92751/
Test FAILed.

Merged build finished. Test FAILed.

retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/793/
Test PASSed.

Test build #92776 has started for PR 21535 at commit 6878612.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/1937/
Test PASSed.

Test build #94414 has started for PR 21535 at commit 6878612.

ok to test

LGTM

LGTM too

Test build #94414 has finished for PR 21535 at commit 6878612.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DataFrameSuite extends QueryTest with SharedSQLContext
class DatasetSuite extends QueryTest with SharedSQLContext

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94414/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/1941/
Test PASSed.

Test build #94420 has started for PR 21535 at commit 6878612.

Test build #94420 has finished for PR 21535 at commit 6878612.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DataFrameSuite extends QueryTest with SharedSQLContext
class DatasetSuite extends QueryTest with SharedSQLContext

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94420/
Test PASSed.

Merged to master.

Thanks @HyukjinKwon @hvanhovell @mgaido91 @kiszk


Migrate from GCM to FCM.

As google is migrating from GCM to FirebaseCloudmessaging the endpoinmts are also changed. as stated here. https://developers.google.com/cloud-messaging/android/android-migrate-fcm#update_server_endpoints

Will be merging in #25 which provides this support.


feat(fraud-proofs)

Description
Please add a description of the changes that this PR introduces and the files that
are the most critical to review.
If this PR is non-trivial/large/complex, please ensure that you have either
created an issue that the team's had a chance to respond to, or had some
discussion with the team prior to submitting substantial pull requests. The team
can be reached via GitHub Discussions or the Cosmos Network Discord server in
the #cometbft channel. GitHub Discussions is preferred over Discord as it
allows us to keep track of conversations topically.
https://github.com/cometbft/cometbft/discussions
If the work in this PR is not aligned with the team's current priorities, please
be advised that it may take some time before it is merged - especially if it has
not yet been discussed with the team.
See the project board for the team's current priorities:
https://github.com/orgs/cometbft/projects/1
-->

PR checklist

[ ] Tests written/updated
[ ] Changelog entry added in .changelog (we use
unclog to manage our changelog)
[ ] Updated relevant documentation (docs/ or spec/) and code comments

closing, mentioned here https://github.com/dymensionxyz/research/issues/332#issue-2400471636


When I add new node in the existing cluster which has total 3 nodes and 1 failed node, A failure occurs

Environmental Info:
K3s Version:

k3s version v1.30.2+k3s1 (aa4794b3)
go version go1.22.4

k3s cni:
cilium: 1.15.6

Node(s) CPU architecture, OS, and Version:

# Debian 12.5 VMs, which is created by Qemu
Linux k3s-05 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux

Cluster Configuration:

3 servers, No agent

Describe the bug:

Steps To Reproduce:

Installed K3s:

First of all, I installed three k3s servers with k3s-ansible repository.
I wonder if It is successful to add new node in the cluster which has total 3 nodes and 1 failed node.
So, I shutdown 1 node which is in the cluster.
After I checked status of k3s cluster and etcd cluster, I Install one k3s server node with shell script.

It is the result of the command kubectl get nodes
NAME     STATUS     ROLES                       AGE     VERSION
k3s-04   NotReady   control-plane,etcd,master   6d18h   v1.30.2+k3s1
k3s-05   Ready      control-plane,etcd,master   6d18h   v1.30.2+k3s1
k3s-06   Ready      control-plane,etcd,master   6d18h   v1.30.2+k3s1

It is the result of the command etcdctl endpoint health -w table
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|          ENDPOINT          |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| https://k3s-05:2379 | 7a41839e578b0bf8 |  3.5.13 |  6.3 MB |     false |      false |        38 |    2973710 |            2973710 |        |
| https://k3s-06:2379 | f246aa105ca03865 |  3.5.13 |  7.4 MB |      true |      false |        38 |    2973710 |            2973710 |        |
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+

The process of adding new node in the cluster is failed.
Expected behavior:

My expectation is to join a new node to exsiting k3s cluster successfully,
Actual behavior:

The process of adding new node in the cluster is failed.
Additional context / logs:

It is my k3s.service file.
[Unit]
Description=Lightweight Kubernetes
Documentation=https://k3s.io
Wants=network-online.target
After=network-online.target

[Install]
WantedBy=multi-user.target

[Service]
Type=notify
EnvironmentFile=-/etc/default/%N
EnvironmentFile=-/etc/sysconfig/%N
EnvironmentFile=-/etc/systemd/system/k3s.service.env
KillMode=process
Delegate=yes
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Restart=always
RestartSec=5s
ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/k3s server --data-dir /var/lib/rancher/k3s --server https://k3s-05:6443 --token YY8Z9JBKzdU/gfvYvSH9ny1e9LWtx9EYgzfo8o9Aeet9tYUVb9+QPVQRL65wj5JDyNz4rtIDpZxiKBdOlC1eaQ== --flannel-backend=none --disable-network-policy --embedded-registry --disable=traefik

It is my k3s.service log as follows.
Jul 08 17:14:21 k3s-07 systemd[1]: Starting k3s.service - Lightweight Kubernetes...
Jul 08 17:14:21 k3s-07 sh[1837]: + /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service
Jul 08 17:14:21 k3s-07 k3s[1841]: time="2024-07-08T17:14:21+09:00" level=info msg="Acquiring lock file /var/lib/rancher/k3s/data/.lock"
Jul 08 17:14:21 k3s-07 k3s[1841]: time="2024-07-08T17:14:21+09:00" level=info msg="Preparing data dir /var/lib/rancher/k3s/data/82142f5157c67effc219aeefe0bc03e0460fc62b9fbae9e901270c86b5635d53"
Jul 08 17:14:23 k3s-07 k3s[1841]: time="2024-07-08T17:14:23+09:00" level=info msg="Starting k3s v1.30.2+k3s1 (aa4794b3)"
Jul 08 17:14:23 k3s-07 k3s[1841]: time="2024-07-08T17:14:23+09:00" level=warning msg="Cluster CA certificate is not trusted by the host CA bundle, but the token does not include a CA hash. Use the full token from the server's node-token file to enable C>
Jul 08 17:14:23 k3s-07 k3s[1841]: time="2024-07-08T17:14:23+09:00" level=info msg="Managed etcd cluster not yet initialized"
Jul 08 17:14:23 k3s-07 k3s[1841]: time="2024-07-08T17:14:23+09:00" level=warning msg="Cluster CA certificate is not trusted by the host CA bundle, but the token does not include a CA hash. Use the full token from the server's node-token file to enable C>
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="Reconciling bootstrap data between datastore and disk"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=system:admin,O=system:masters signed by CN=k3s-client-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=system:k3s-supervisor,O=system:masters signed by CN=k3s-client-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UT>
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=system:kube-controller-manager signed by CN=k3s-client-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=system:kube-scheduler signed by CN=k3s-client-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=system:apiserver,O=system:masters signed by CN=k3s-client-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=system:kube-proxy signed by CN=k3s-client-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=system:k3s-controller signed by CN=k3s-client-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=k3s-cloud-controller-manager signed by CN=k3s-client-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=kube-apiserver signed by CN=k3s-server-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=system:auth-proxy signed by CN=k3s-request-header-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=etcd-client signed by CN=etcd-server-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=etcd-peer signed by CN=etcd-peer-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=etcd-server signed by CN=etcd-server-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="certificate CN=k3s,O=k3s signed by CN=k3s-server-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:24 +0000 UTC"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=warning msg="dynamiclistener [::]:6443: no cached certificate available for preload - deferring certificate load until storage initialization or first client request"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="Active TLS secret / (ver=) (count 10): map[listener.cattle.io/cn-<IP_ADDRESS>:<IP_ADDRESS> listener.cattle.io/cn-<IP_ADDRESS>:<IP_ADDRESS> listener.cattle.io/cn-k3s-07:192.168>
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg=start
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="schedule, now=2024-07-08T17:14:24+09:00, entry=1, next=2024-07-09T00:00:00+09:00"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="Running kube-apiserver --advertise-port=6443 --allow-privileged=true --anonymous-auth=false --api-audiences=https://kubernetes.default.svc.cluster.local,k3s --authorizati>
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="Running kube-scheduler --authentication-kubeconfig=/var/lib/rancher/k3s/server/cred/scheduler.kubeconfig --authorization-kubeconfig=/var/lib/rancher/k3s/server/cred/sched>
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="Running kube-controller-manager --allocate-node-cidrs=true --authentication-kubeconfig=/var/lib/rancher/k3s/server/cred/controller.kubeconfig --authorization-kubeconfig=/>
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="Running cloud-controller-manager --allocate-node-cidrs=true --authentication-kubeconfig=/var/lib/rancher/k3s/server/cred/cloud-controller.kubeconfig --authorization-kubec>
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="Server node token is available at /var/lib/rancher/k3s/server/token"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="To join server node to cluster: k3s server -s https://k3s-05:6443 -t ${SERVER_NODE_TOKEN}"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="Agent node token is available at /var/lib/rancher/k3s/server/agent-token"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="To join agent node to cluster: k3s agent -s https://k3s-07:6443 -t ${AGENT_NODE_TOKEN}"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="Wrote kubeconfig /etc/rancher/k3s/k3s.yaml"
Jul 08 17:14:24 k3s-07 k3s[1841]: time="2024-07-08T17:14:24+09:00" level=info msg="Run: k3s kubectl"
Jul 08 17:14:25 k3s-07 k3s[1841]: time="2024-07-08T17:14:25+09:00" level=info msg="Password verified locally for node k3s-07"
Jul 08 17:14:25 k3s-07 k3s[1841]: time="2024-07-08T17:14:25+09:00" level=info msg="certificate CN=k3s-07 signed by CN=k3s-server-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:25 +0000 UTC"
Jul 08 17:14:25 k3s-07 k3s[1841]: time="2024-07-08T17:14:25+09:00" level=info msg="certificate CN=system:node:k3s-07,O=system:nodes signed by CN=k3s-client-ca@1719907465: notBefore=2024-07-02 08:04:25 +0000 UTC notAfter=2025-07-08 08:14:25 +0000 UTC"
Jul 08 17:14:27 k3s-07 k3s[1841]: time="2024-07-08T17:14:27+09:00" level=info msg="Module overlay was already loaded"
Jul 08 17:14:27 k3s-07 k3s[1841]: time="2024-07-08T17:14:27+09:00" level=info msg="Module br_netfilter was already loaded"
Jul 08 17:14:27 k3s-07 k3s[1841]: time="2024-07-08T17:14:27+09:00" level=info msg="Set sysctl 'net/netfilter/nf_conntrack_tcp_timeout_close_wait' to 3600"
Jul 08 17:14:27 k3s-07 k3s[1841]: time="2024-07-08T17:14:27+09:00" level=info msg="Set sysctl 'net/ipv4/conf/all/forwarding' to 1"
Jul 08 17:14:27 k3s-07 k3s[1841]: time="2024-07-08T17:14:27+09:00" level=info msg="Set sysctl 'net/netfilter/nf_conntrack_max' to 131072"
Jul 08 17:14:27 k3s-07 k3s[1841]: time="2024-07-08T17:14:27+09:00" level=info msg="Set sysctl 'net/netfilter/nf_conntrack_tcp_timeout_established' to 86400"
Jul 08 17:14:27 k3s-07 k3s[1841]: time="2024-07-08T17:14:27+09:00" level=error msg="Not starting distributed registry mirror: no registries configured for distributed mirroring"
Jul 08 17:14:27 k3s-07 k3s[1841]: time="2024-07-08T17:14:27+09:00" level=info msg="Logging containerd to /var/lib/rancher/k3s/agent/containerd/containerd.log"
Jul 08 17:14:27 k3s-07 k3s[1841]: time="2024-07-08T17:14:27+09:00" level=info msg="Running containerd -c /var/lib/rancher/k3s/agent/etc/containerd/config.toml -a /run/k3s/containerd/containerd.sock --state /run/k3s/containerd --root /var/lib/rancher/k3s>
Jul 08 17:14:28 k3s-07 k3s[1841]: time="2024-07-08T17:14:28+09:00" level=info msg="containerd is now running"
Jul 08 17:14:28 k3s-07 k3s[1841]: time="2024-07-08T17:14:28+09:00" level=info msg="Creating k3s-cert-monitor event broadcaster"
Jul 08 17:14:28 k3s-07 k3s[1841]: time="2024-07-08T17:14:28+09:00" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Jul 08 17:14:28 k3s-07 k3s[1841]: time="2024-07-08T17:14:28+09:00" level=info msg="Running kubelet --address=<IP_ADDRESS> --allowed-unsafe-sysctls=net.ipv4.ip_forward,net.ipv6.conf.all.forwarding --anonymous-auth=false --authentication-token-webhook=true --a>
Jul 08 17:14:28 k3s-07 k3s[1841]: time="2024-07-08T17:14:28+09:00" level=info msg="Handling backend connection request [k3s-07]"
Jul 08 17:14:28 k3s-07 k3s[1841]: time="2024-07-08T17:14:28+09:00" level=info msg="Remotedialer connected to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Jul 08 17:14:28 k3s-07 k3s[1841]: time="2024-07-08T17:14:28+09:00" level=error msg="Sending HTTP 503 response to <IP_ADDRESS>:53200: runtime core not ready"
Jul 08 17:14:28 k3s-07 k3s[1841]: time="2024-07-08T17:14:28+09:00" level=info msg="Adding member k3s-07-1d129da0=https://k3s-07:2380 to etcd cluster [k3s-05-fbd43ff7=https://k3s-05:2380 k3s-04-fc60bd0c=https://k3s-04:2380 k3s-06-cca>
Jul 08 17:14:29 k3s-07 k3s[1841]: {"level":"warn","ts":"2024-07-08T17:14:29.002537+0900","logger":"etcd-client","caller":"v3@v3.5.13-k3s1/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc001192000/192.168.0>
Jul 08 17:14:29 k3s-07 k3s[1841]: time="2024-07-08T17:14:29+09:00" level=info msg="Waiting for other members to finish joining etcd cluster: etcdserver: unhealthy cluster"
Jul 08 17:14:29 k3s-07 k3s[1841]: time="2024-07-08T17:14:29+09:00" level=info msg="Running kube-proxy --cluster-cidr=<IP_ADDRESS>/16 --conntrack-max-per-core=0 --conntrack-tcp-timeout-close-wait=0s --conntrack-tcp-timeout-established=0s --healthz-bind-addr>
Jul 08 17:14:29 k3s-07 k3s[1841]: E0708 17:14:29.080050    1841 server.go:1051] "Failed to retrieve node info" err="apiserver not ready"
Jul 08 17:14:30 k3s-07 k3s[1841]: E0708 17:14:30.101457    1841 server.go:1051] "Failed to retrieve node info" err="apiserver not ready"
Jul 08 17:14:30 k3s-07 k3s[1841]: time="2024-07-08T17:14:30+09:00" level=info msg="Adding member k3s-07-1d129da0=https://k3s-07:2380 to etcd cluster [k3s-05-fbd43ff7=https://k3s-05:2380 k3s-04-fc60bd0c=https://k3s-04:2380 k3s-06-cca>
Jul 08 17:14:30 k3s-07 k3s[1841]: {"level":"warn","ts":"2024-07-08T17:14:30.238444+0900","logger":"etcd-client","caller":"v3@v3.5.13-k3s1/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc0014f2b40/192.168.0>
Jul 08 17:14:30 k3s-07 k3s[1841]: time="2024-07-08T17:14:30+09:00" level=info msg="Waiting for other members to finish joining etcd cluster: etcdserver: unhealthy cluster"
Jul 08 17:14:31 k3s-07 k3s[1841]: time="2024-07-08T17:14:31+09:00" level=info msg="Adding member k3s-07-1d129da0=https://k3s-07:2380 to etcd cluster [k3s-05-fbd43ff7=https://k3s-05:2380 k3s-04-fc60bd0c=https://k3s-04:2380 k3s-06-cca>
Jul 08 17:14:31 k3s-07 k3s[1841]: {"level":"warn","ts":"2024-07-08T17:14:31.285427+0900","logger":"etcd-client","caller":"v3@v3.5.13-k3s1/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc0014f2d20/192.168.0>
Jul 08 17:14:31 k3s-07 k3s[1841]: time="2024-07-08T17:14:31+09:00" level=info msg="Waiting for other members to finish joining etcd cluster: etcdserver: unhealthy cluster"

I found the code about it.

According to above code, It seems that when cluster's health is unhealty but quorum is okay, It is fail to join new member.

Yes, that is how etcd works, see https://etcd.io/docs/v3.5/faq/#what-is-failure-tolerance
Etcd will reject the request to add a new member if the cluster is unhealthy (has a failed member). You should delete the failed node to remove it from the cluster before adding a new one.

@brandond

Yes, that is how etcd works, see https://etcd.io/docs/v3.5/faq/#what-is-failure-tolerance
Etcd will reject the request to add a new member if the cluster is unhealthy (has a failed member). You should delete the failed node to remove it from the cluster before adding a new one.

As you said, after I delete the failed k3s node, Is it successful to add new node in the k3s cluster, right?
Or after I delete only the failed etcd member not cluster, Is it successful to add new node in the k3s cluster, right?

When you delete the failed node from the kubernetes cluster, it should also be removed from the etcd cluster.

@brandond

When you delete the failed node from the kubernetes cluster, it should also be removed from the etcd cluster.

Thank you for your kindness


[Feature] Tracing context propagation, from JDBC plugin to Database Proxy(ShardingSphere)

Search before asking

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

Description
Now we use the CyborgFlow project to perform database switching and complete monitoring functions in the process of full-link stress testing, but we cannot yet complete the support for the topology map because there is currently no tracer at the database level. This issue is used to improve this part of the function. Mainly divided into two parts:

The agent transmits the Tracing Context to the database: puts comment into sql prefix. Multiple tracing context item are created as one comment, use "," to separate each item, and the key value in each item is separated by ".". The format is as follows: /* sw8_context:base64_encode(item1_key).base64_encode(item1_value),base64_encode(item2_key).base64_encode(item2_value) */.
The database analyzes the Trading Context: Currently ShardingSphere is willing to participate in it and participate in the development of the plug-in.

Use case
When the user uses the database (as a tracer) that SkyWalking supports to monitor, then we can observe the internal execution of the database in the topology diagram and link it with the application.
Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

Is there anyone assigned to?

About the milestone, unless there is committer proposing a time limited assignment, I prefer to keep it open. We don't want push too hard on contributions.

For the first part(transmits the Tracing Context to the database) I could do this in the java MySQL plugin. but for part two, @soulasuna do you have any idea who will do this?

For what you propose, we need to cover sw8, sw8-x and sw8-correlation as keys, even in the SQL comment.

https://skywalking.apache.org/docs/main/latest/en/protocols/skywalking-cross-process-propagation-headers-protocol-v3/
https://skywalking.apache.org/docs/main/latest/en/protocols/skywalking-cross-process-correlation-headers-protocol-v1/

Because those are protocol definitions.

Meanwhile, how to put in the comment isn't a protocol level definition. But, considering this injection will effect  existing standard SQL plugins, it is better to provide a new configuration at JDBC plugin level to activate this and build this format.

The database analyzes the Trading Context: Currently ShardingSphere is willing to participate in it and participate in the development of the plug-in.

I am not sure what does this mean. Is it going to have a ShardingSphere proxy plugin on the way?

For what you propose, we need to cover sw8, sw8-x and sw8-correlation as keys, even in the SQL comment.

Yes, all these keys should be covert and put into the SQL comment.

Meanwhile, how to put in the comment isn't a protocol level definition. But, considering this injection will effect existing standard SQL plugins, it is better to provide a new configuration at JDBC plugin level to activate this and build this format.

That's true. we need to create a new configuration item to activate them. I think plugin.jdbc.is_propagating_context is fine, it mean should we need to add the tracing context to the SQL, default is false.

The database analyzes the Trading Context: Currently ShardingSphere is willing to participate in it and participate in the development of the plug-in.

I am not sure what does this mean. Is it going to have a ShardingSphere proxy plugin on the way?

Yes, ShardingSphere proxy needs to create a plugin to analyze the context and make it as a Span into the Tracing Context.

Hi everyone, I have a question, if the original sql has a hint, will this have an impact, or will the added comment have additional parsing cost for the SQL engine? Maybe ShardingSphere proxy plugin will remove the tracing context before sending the sql to the backend database.

if the original sql has a hint, will this have an impact,

We will try to avoid this case.

or will the added comment have additional parsing cost for the SQL engine?

It changes the SQL, so from SQL string perspective, it has a little. And it costs more network bandwidth for sure.

Maybe ShardingSphere proxy plugin will remove the tracing context before sending the sql to the backend database.

From my understanding, ShardingSphere should do. Let's see. @tristaZero

if the original sql has a hint, will this have an impact,

We will try to avoid this case.

or will the added comment have additional parsing cost for the SQL engine?

It changes the SQL, so from SQL string perspective, it has a little. And it costs more network bandwidth for sure.

Maybe ShardingSphere proxy plugin will remove the tracing context before sending the sql to the backend database.

From my understanding, ShardingSphere should do. Let's see. @tristaZero

Thanks for the reply. If application connect to the real database not a proxy, I think add a tip to describe the impact on this is a good idea.

Thanks for the reply. If application connect to the real database not a proxy, I think add a tip to describe the impact on this is a good idea.

This would never be activated in default. A new config(default=off) will be added for this keep tracing case only

Project open sourced here, https://github.com/SphereEx/CyborgFlow
A CN blog posted, https://skywalking.apache.org/zh/2022-01-18-cyborg-flow/
If anyone needs this blog in English, please let us know, we are glad to translate. Generally, this feature is requested in China community.


add branch coverage as an allowed failure

i don't see the new job in this travis build

I forgot to add the new env to the global list

👍  (note that the coverage might be different for different python versions, but it's probably not worth worrying about until we get one of them sorted)


Add files via upload

Overview/Summary
Integrates with service health alerts via an azure function to update the MOTD in each vCenter in the subscription that the function has network access to.  The contents of the service alert message are set at the MOTD and cleared when alert is resolved
This PR fixes/adds/changes/removes

Add MOTD functionality

Breaking Changes

None

Testing Evidence

Tested in CAT subscription.  Needs further testing and documentation

As part of this Pull Request I have

[X] Checked for duplicate Pull Requests
[X] Ensured my code/branch is up-to-date with the latest changes in the main branch
[X] Performed testing and provided evidence.
[X] Updated relevant and associated documentation.

@Mahesh-MSFT  could you please review this and approve to merge?


PyTorch Geometric implementation

If not too much trouble, please adapt the code to use PyTorch Geometric. This has two benefits: (1) MessagePassing will conform to the common usage as a base class (framework) to be subclassed / implemented with concrete message, aggregation and update functions, and (2) All types of graph convolutions that subclass from MessagePassing in PyTorch Geometric can readily be used for the message passing phase.
Thanks.

Hi,
Thanks for your inputs, we would update the code with deep graph library. (https://www.dgl.ai/) shortly, in our second version,both are similar libraries.
You may look this up for performance comparisons. https://github.com/dmlc/dgl